Support project-level Quick Commands in orca.yaml
- Dominant language
- TypeScript
- Stars
- 71.3k
- Forks
- 4.7k
- Avg merge
- 17h 8m
- Merged PRs (30d)
- 475
Description
## Summary
Today Terminal **Quick Commands** are only stored in local app settings. They can be scoped to a repo, but they still aren't shareable via the repo.
It would be useful to define project-level Quick Commands in `orca.yaml` so teammates get the same shortcuts when they open the project.
## Problem
Teams often share the same terminal workflows (e.g. start dev server, run tests, common agent prompts). Right now each person has to recreate Quick Commands manually. `orca.yaml` already supports other project defaults (`scripts`, `defaultTabs`, `issueCommand`, etc.), but not Quick Commands.
## Proposal
Allow configuring Quick Commands in `orca.yaml`, for example:
```yaml
quickCommands:
- label: Dev server
command: npm run dev
- label: Unit tests
command: npm test
- label: Investigate
action: agent-prompt
agent: claude
prompt: Investigate the current branch and summarize findings
```
### Expected behavior
- Project-defined Quick Commands load from `orca.yaml` for that repo
- They show up in the Quick Commands UI alongside (or layered with) local ones
- Local overrides remain possible if someone wants personal shortcuts
- Changes are commit-friendly so teams can share them through git
## Why this matters
Makes Quick Commands a team asset instead of a per-user setup step, consistent with how Orca already handles other project defaults in `orca.yaml`.
## Notes / open questions
- How should project vs local Quick Commands merge (union, local override by label/id, etc.)?
- Should project Quick Commands be trust-gated like other `orca.yaml` commands?
- Support only `terminal-command` first, or also `agent-prompt`?
Contributor guide
Research direction
Start by reading how project defaults such as scripts, defaultTabs, and issueCommand are loaded from orca.yaml, then compare that with the existing Quick Commands UI and local settings. Resolve how project and local commands merge, whether trust-gating applies, and which command types are supported; done means project commands load and appear alongside local commands with local overrides preserved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 42/100