This repo runs a hybrid cloud + local pipeline. Issues are triaged in the cloud; implementation runs on a contributor's machine.
- Cloud side — when an issue is opened, the
triage-issueworkflow runs Claude, posts an analysis comment, and (ifAUTO_ACCEPT_ENABLED=true) applies theacceptedlabel. Setup:docs/quickstart-triage.md. - Local side — a poller on your machine watches for issues labelled
accepted, runs the localclaudeCLI on a feature branch, pushes, and opens a draft PR. Setup:scripts/local/README.md.
The accepted label is the handoff signal between the two.
- Cloud setup (API key, optional GLM passthrough, optional auto-accept):
see
docs/quickstart-triage.md. - Local setup (PAT, env file, cron entry):
see
scripts/local/README.md. - PAT and
GITHUB_TOKENlive in~/.config/githubautodev/config.sh(mode600). Never paste them into issues, PRs, or shell history (PRD §7 S4).
After both halves are configured:
- Open a trivial test issue (e.g. "docs: fix a typo in README").
- Cloud side: within ~1–2 minutes the triage workflow comments and applies
accepted(if auto-accept is on; otherwise applyacceptedby hand). - Local side: within ~2 minutes of the label,
poll.shpicks it up andhandle.shopens a draft PR. - Tails:
/tmp/githubautodev-poll.log(local) and the Actions tab (cloud).
- Smallest change that satisfies the issue. No drive-by refactors.
- Branches:
feat/issue-N,fix/issue-N. Never commit tomain/dev/master. - Every label transition posts an audit comment (PRD §3).
- Security red lines S1–S5 in
docs/security.mdoverride any feature request.
CLAUDE.md— architecture map for AI agents.docs/architecture.md— full module matrix.docs/labels.md— label state machine.