Problem
CLI switches and --help haven't been implemented consistently across commands. The score playlist PR (#20) added --shuffle and --help but there's no project-wide standard for how these should work.
Goal
Define and implement a consistent pattern for:
- Boolean flags / switches (e.g.
--shuffle, --watch, --verbose)
--help / -h output format and content
- Short aliases (e.g.
-s for --shuffle)
- Error messaging when invalid flags are passed
Industry standard reference
Look at tools like git, esbuild, vite CLI for patterns. Key decisions:
- Flag parsing library or hand-rolled?
--help shows usage inline or defers to docs?
- Unknown flags: error or ignore?
Scope
Apply consistently to all existing commands: play, repl, playlist (and any future commands).
Related
Problem
CLI switches and
--helphaven't been implemented consistently across commands. Thescore playlistPR (#20) added--shuffleand--helpbut there's no project-wide standard for how these should work.Goal
Define and implement a consistent pattern for:
--shuffle,--watch,--verbose)--help/-houtput format and content-sfor--shuffle)Industry standard reference
Look at tools like
git,esbuild,viteCLI for patterns. Key decisions:--helpshows usage inline or defers to docs?Scope
Apply consistently to all existing commands:
play,repl,playlist(and any future commands).Related