Skip to content

feat(cli): extract playlists end to end from the command line - #46

Merged
cmglezpdev merged 2 commits into
feat/playlist-support-04-orchestratorfrom
feat/playlist-support-05-cli
Aug 20, 2026
Merged

cmglezpdev merged 2 commits into
feat/playlist-support-04-orchestratorfrom
feat/playlist-support-05-cli

Conversation

@cmglezpdev

Copy link
Copy Markdown
Owner

What this changes

veta <playlist-url> now works end to end: auto-detected on the extract command, [k/n] <title> member progress and an end-of-run summary on stderr, exactly one line on stdout (the playlist prompt.md path) printed before any partial-failure exit (code 9; empty playlist exits 6), playlist-grouped list output, and the interactive clipboard offer after playlist runs. Documents playlist usage in README and roadmap.

Why

Final integration slice of increment 1 — everything user-visible.

How to verify

pnpm typecheck
pnpm vitest run src/cli --exclude '**/.claude/**'
node bin/veta.js "https://youtube.com/playlist?list=PL9omX6impEuMgDFCK_NleIB0sMzKs2boI"
node bin/veta.js list

Manually verified against that 13-video playlist (all extracted, resume works, clipboard offer appears in a TTY).

Checklist

  • pnpm typecheck and pnpm test pass
  • Commits follow Conventional Commits

Scope

  • Includes: CLI wiring, progress renderer prefixes, exit-code wiring, list grouping with de-duplication, purge regression proof, docs.
  • Excludes: curation flags (follow-up PRs); --lang passthrough on playlist runs (known gap, currently inert — follow-up).

Chain Context

Field Value
Chain playlist-support
Tracker PR #40
Position 6 of 6
Base feat/playlist-support-04-orchestrator
Depends on PR 5 (#45)
Follow-up curation flags (follow-up)
Review budget 645 / 400

Chain Overview

main
 └── #40 tracker: feat/playlist-support
      └── #41 listing → #42 store → #43 packageName → #44 prompt → 04 orchestrator → 05 CLI
          (this PR: 📍 6)

Auto-detect playlist URLs on the extract command, render per-member
progress with [k/n] prefixes and an end-of-run summary on stderr, print
the playlist prompt path on stdout before exiting non-zero on partial
failures, and group playlist members under their playlist in list
output. Documents playlist usage in the README and roadmap.
The playlist branch returned before reaching offerPromptCopy, so
interactive sessions never got the copy prompt the single-video path
offers.
@cmglezpdev
cmglezpdev force-pushed the feat/playlist-support-05-cli branch from 34f4cc3 to a0363cc Compare August 20, 2026 00:23
@cmglezpdev
cmglezpdev merged commit 1c569a1 into main Aug 20, 2026
3 checks passed
@cmglezpdev
cmglezpdev deleted the feat/playlist-support-05-cli branch August 25, 2026 17:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant