1 line
2.1 KiB
JSON
1 line
2.1 KiB
JSON
{"content": "---\nname: ticket-to-pr-loop\ndescription: Converts open bug reports and issues into verified, reviewer-ready pull requests, one ticket per pass.\ncategory: engineering\ninterval: 30m\nstop-condition: Every actionable ticket in scope has a verified PR or is flagged for human input.\ncomponents: [command:git-workflow/fix-github-issue, command:git-workflow/create-pr, hook:git/conventional-commits]\ntags: [issues, pull-requests, automation, loop]\n---\n\n# Ticket-to-PR-Ready Loop\n\n> **Loop Engineering** — turn a backlog of issues into a steady stream of small, verified PRs without hand-holding each one.\n\n## 🎯 Goal\nPick one actionable ticket, implement and verify the fix, and open a PR that a reviewer can approve quickly — then move to the next ticket.\n\n## ⏱️ Schedule\nSuggested interval: `30m`.\n\n## ▶️ Run it\n```\n/loop 30m \"Take the next actionable open issue. Implement the fix in an isolated branch, add tests, verify, and open a conventional-commit PR linking the issue. If a ticket needs product decisions, label it for human review and skip. Continue until the queue is clear.\"\n```\n\n## 🔁 Iteration steps\n1. **Perceive** — read the next open, actionable issue.\n2. **Reason** — confirm scope; if it needs human/product input, label and skip.\n3. **Plan** — outline the change and the test that proves it.\n4. **Act** — implement with `/fix-github-issue`; commits follow `conventional-commits`.\n5. **Observe** — run tests; on green, open a PR with `/create-pr` that links the issue.\n\n## 🛑 Stopping condition\nNo actionable tickets remain — each is either a verified PR or flagged for human input.\n\n## 🧩 Referenced components\n- `command:git-workflow/fix-github-issue` — implements the ticket fix.\n- `command:git-workflow/create-pr` — opens the linked PR.\n- `hook:git/conventional-commits` — enforces clean, conventional commit messages.\n\n## 💡 Example\nA \"typo in error message\" issue becomes a one-line fix with a snapshot test and a `fix: correct auth error copy (#412)` PR, all within a single pass.\n"} |