Goal
Build a bot that automates the issue-to-PR lifecycle on a GitHub Project (v2) board, and later other trackers, driving multiple possible AI coding agents — not locked to a single vendor.
Pipeline
- Issue status → Ready: bot analyzes the requirement and writes a design/plan back to the issue as a comment.
- Human reviews and approves the plan.
- An AI coding agent clones the repo, creates a git worktree/branch, implements the change, and runs the target repo's tests locally.
- Bot opens a PR linked to the issue (
Closes #N), moves the issue to Review.
- If the human requests changes on the PR, the bot re-invokes the AI agent against the same branch to address feedback.
- Human merges the PR → issue auto-closes (native GitHub behavior) → bot reconciles the project board status to Done.
Hard architectural requirement: provider-agnostic
Two integration points must be abstracted behind interfaces from day one, not hard-coded:
- Tracker provider — GitHub Issues + Projects v2 today, GitLab Issues/Boards as a future provider. Interface covers: watch/poll status transitions, read issue body/comments, post a comment, open a PR/MR linked to an issue, read PR/MR review state, update the project board status field.
- AI agent provider — Claude Code today, Codex CLI (and others) as future providers. Interface covers: given a repo path + task description + worktree, run the agent and return success/failure + a summary. The "write plan" step and the "implement" step both go through this interface and may use different concrete providers.
No orchestration code may call gh/Octokit or a specific agent CLI directly — only through the provider interfaces (src/providers/tracker/, src/providers/agent/).
Notes
- Repo is public; secrets (tracker tokens, agent API keys) must never be committed — env vars only,
secret-scanning skill guidance applies.
- Local harness (
feature_list.json) already breaks this into 12 trackable sub-features covering both provider interfaces, GitHub + Claude Code concrete implementations, and the orchestration state machine.
Goal
Build a bot that automates the issue-to-PR lifecycle on a GitHub Project (v2) board, and later other trackers, driving multiple possible AI coding agents — not locked to a single vendor.
Pipeline
Closes #N), moves the issue to Review.Hard architectural requirement: provider-agnostic
Two integration points must be abstracted behind interfaces from day one, not hard-coded:
No orchestration code may call
gh/Octokit or a specific agent CLI directly — only through the provider interfaces (src/providers/tracker/,src/providers/agent/).Notes
secret-scanningskill guidance applies.feature_list.json) already breaks this into 12 trackable sub-features covering both provider interfaces, GitHub + Claude Code concrete implementations, and the orchestration state machine.