Skip to content

Command surface: help, version and argument errors #31

Closed

Description

@JacobStephens2

Parent

#30

What to build

Give thirdshift a command surface beyond the Run. thirdshift help prints every form of the command (thirdshift <Issue URL>, thirdshift update, thirdshift version, thirdshift help), each with a one-line description. thirdshift version prints thirdshift <package version>. Both print to stdout and exit 0. --help/-h and --version/-V are silent aliases: they behave identically but are never mentioned in the help text or the README.

No argument, an unknown argument, or an argument that isn't a valid GitHub Issue URL prints an error line plus the help text to stderr and exits 2, replacing today's one-line usage. thirdshift <Issue URL> behaves exactly as before.

update appears in the help text, but its behaviour belongs to a later ticket. Until then, thirdshift update may exit 1 with a "not yet available" message on stderr.

Argument handling stays hand-written, with no argument-parsing library.

Acceptance criteria

  • help, --help and -h print identical help text listing all four forms to stdout, with empty stderr and exit 0.
  • The help text doesn't mention the flag aliases.
  • version, --version and -V print thirdshift <package version> to stdout and exit 0.
  • No argument, an unknown word, and a non-GitHub-issue URL each print an error plus the help text to stderr, leave stdout empty and exit 2.
  • The existing Run tests pass unchanged.
  • New integration tests run the built binary as a subprocess, as the existing tests do, and assert only on stdout, stderr and the exit code.
  • The README's Usage section documents help and version (bare words only).

Blocked by

None (can start immediately).

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified, ready for an AFK agent

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions