Skip to content

[Feature Candidate] Shell completion for tickets, repos, labels, and queues #644

@StatPan

Description

@StatPan

Goal

Add or design shell completion UX for common Gira commands.

Context

The PyPI gira package advertises shell completion and dynamic ID completion. Gira has many commands where completion would reduce friction, especially for issue numbers, repo aliases, labels, milestones, branches, provider keys, and queue names.

Reference:

Candidate Completion Targets

  • ticket numbers for gira ticket view/start/pr/checks/wait/finish/status
  • current branch and linked ticket inference hints
  • repo aliases from .gira/config.yaml and user-global repo registry
  • workspace repo names
  • labels such as type:*, status:*, resolution:*, agent:*
  • milestones
  • queue names such as ready, review, finish, blocked, failed-checks
  • provider keys such as Jira issue keys where configured

Design Questions

  • Which shells should be supported first: bash, zsh, fish, PowerShell?
  • Should completion be generated by Cobra or custom dynamic completion?
  • How much network access is acceptable during completion?
  • Should dynamic completion use cache only by default?
  • How should completion behave outside a Gira repo?

Candidate Commands

  • gira completion bash
  • gira completion zsh
  • gira completion fish
  • gira completion powershell
  • gira completion install

Acceptance Criteria

  • Decide first supported shells.
  • Inventory commands and args that need completion.
  • Decide static vs dynamic completion behavior.
  • Define cache/network policy for completion.
  • Create implementation follow-up issue or implement first slice.

Metadata

Metadata

Assignees

No one assigned

    Labels

    status:readyReady to start.type:taskConcrete implementation task.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions