Goal
Research whether Gira needs a dedicated query UX, and if so, what problem it should solve.
Context
The PyPI gira project advertises advanced query/search capabilities over local .gira project-management state. In Gira, the data model is different: GitHub remains the source of truth, while CLI commands compute lifecycle state from issues, branches, PRs, checks, labels, and workspace config.
A query feature may be useful, but only if it improves over existing list/status/queue commands without turning Gira into a generic database query tool.
Reference:
Candidate Use Cases
- Find ready tickets across one repo or workspace.
- Find tickets missing acceptance criteria or readiness labels.
- Find in-review issues without a linked PR.
- Find PRs with failed checks or missing closing links.
- Find finish-ready tickets.
- Find stale open issues or stale PRs.
- Find agent-ready work by label, milestone, or owner.
Design Options
- No dedicated query language; improve
ticket list, workspace status, and queue filters.
- Add simple filter flags only, such as
--queue, --label, --milestone, --stale, --json.
- Add named queries, such as
gira query finish-ready.
- Add an expression language later only if simple filters are insufficient.
Questions
- What should query do that
ticket list and workspace status cannot?
- Should query be repo-local only or workspace-aware?
- Should query return raw records or named operational queues?
- Should query syntax be stable enough for automation?
- Should saved queries live in
.gira/config.yaml?
Acceptance Criteria
Goal
Research whether Gira needs a dedicated query UX, and if so, what problem it should solve.
Context
The PyPI
giraproject advertises advanced query/search capabilities over local.giraproject-management state. In Gira, the data model is different: GitHub remains the source of truth, while CLI commands compute lifecycle state from issues, branches, PRs, checks, labels, and workspace config.A query feature may be useful, but only if it improves over existing list/status/queue commands without turning Gira into a generic database query tool.
Reference:
Candidate Use Cases
Design Options
ticket list,workspace status, andqueuefilters.--queue,--label,--milestone,--stale,--json.gira query finish-ready.Questions
ticket listandworkspace statuscannot?.gira/config.yaml?Acceptance Criteria
gira querycommand..gira/config.yaml.