Skip to content

Add command-oriented CLI and Fish shell completion #44

Description

@dapi

Problem

Several independently invokable operations are still expressed as root flags or long legacy command names. The CLI does not expose shell completion, so commands, command-specific options, enum values, prompt names, and relevant paths are not discoverable from Fish.

Routing

  • Flow: Feature Flow.
  • Rationale: this is one delivery unit that materially changes the public CLI contract and adds a persistent shell-integration operation; it is not eligible for Small Change.
  • Planned feature package: memory-bank/features/FT-043/ (link will be added after bootstrap).
  • Validation profile: to be selected in the feature brief; minimum expected floor is standard because the public CLI contract changes.

Scope

  • Keep code-converge as the primary workflow invocation.
  • Add code-converge run as an explicit equivalent.
  • Add code-converge review-docs as the command-oriented document-review entrypoint.
  • Add code-converge init-prompt as the concise prompt-initialization command.
  • Keep and include code-converge config in the command model.
  • Keep code-converge update.
  • Add Fish completion lifecycle commands:
    • code-converge completion install fish
    • code-converge completion uninstall fish
  • Generate completion from one canonical CLI command/option registry shared with help where practical.
  • Complete commands, command-specific options, finite enum values, file paths, and project-local review prompt names.
  • Update the public README contract and CLI help.

Compatibility

  • Do not add version or help commands; retain --version, -h, and --help.
  • Preserve the no-command workflow invocation.
  • Define and test compatibility behavior for the existing --document-review and init-document-review-prompt forms in the feature design before implementation.
  • Ordinary option values such as models, timeouts, and cycle budgets remain options/configuration rather than standalone commands.

Acceptance criteria

  • code-converge and code-converge run execute the same workflow with equivalent arguments and exit behavior.
  • review-docs, init-prompt, config, and update have command-specific parsing and help.
  • Fish completion can be installed and uninstalled idempotently at the correct user completion path without modifying shell profiles.
  • Installed completion covers the documented command tree and relevant dynamic/static values.
  • Unsupported command/argument combinations fail with actionable usage diagnostics and operational exit code semantics.
  • Automated CLI and completion tests pass.
  • make docs-lint and the repository test suite pass.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions