AI-driven Issue → Merge automation pipeline built on Claude Code, Codex, and GitHub Actions.
A modular pipeline that takes a GitHub Issue through its full lifecycle — triage, judgement, design review, development, verification, testing, PR, review, merge — using AI agents wired together by Label state machine events. See the PRD module table for the 10-stage breakdown.
Bootstrap a target repo for the pipeline with the interactive wizard:
cd scripts/setup
npm install
node wizard.mjs --dry-run # preview every step (recommended first run)
node wizard.mjs # interactive, executes after each confirmThe wizard handles secrets, repo vars, labels sync, CODEOWNERS, and branch protection. See scripts/setup/README.md for the full step list and troubleshooting.
For the manual equivalent on a single module, follow docs/quickstart-triage.md (triage flow) or docs/quickstart-clarify.md (v2 clarify loop).
- Loose coupling. Modules communicate only via GitHub events + Label transitions. No direct module-to-module calls.
- Label state machine = Kanban. Each Label is a protocol primitive. See
docs/labels.md. - Engine swap is one variable. Composite actions wrap
claude-code-actionandcodex-actionbehind a common interface. Seedocs/composite-action-spec.md. - Security red lines take precedence over features. See
docs/security.mdandCLAUDE.md.
.github/
workflows/ # one workflow per PRD module
actions/ # composite actions (engine-agnostic wrappers)
ISSUE_TEMPLATE/ # structured Issue Forms (PRD §2 module 1)
docs/ # protocol + spec docs (the source of truth)
CLAUDE.md # AI agent architecture map
py/ and rust/ source trees are out of scope for this scaffold — they will house the actual product code once the pipeline is wired.
- PRD (authoritative) — drop the PRD here as
PRD.mdto make the link live - Label state machine
- Triage modes (auto/manual/hybrid)
- Composite action spec
- Security
- Architecture
- Hybrid threshold calibration
🚧 Pipeline scaffold in progress. See .omc/state/sessions/*/prd.json for the active work breakdown.