Sandbox
@zxkane/autonomous-dev-team

Autonomous issue-to-merge pipeline for agent CLIs

This repo sets up a dispatcher, dev agent, and review agent so labeled issues can move to merged pull requests or merge requests on their own. It uses worktree isolation, TDD, review checks, optional E2E verification, and automatic label-based state changes to coordinate the flow.

37 stars12 forksShellUpdated 19d ago
Who it's for

Builders who want their issue queue handled by Claude Code, Codex CLI, Cursor, Kiro CLI, or other agent CLIs.

What it delivers

You can turn labeled issues into reviewed, merged changes without running each step yourself.

What it does

Issue dispatcher

Scans for issues labeled `autonomous` and launches the dev and review flow on a schedule.

Dev agent workflow

Runs implementation in an isolated worktree with test-first development and resume-after-feedback behavior.

Review agent workflow

Finds the PR or MR, checks the code, handles merge conflicts, can run E2E verification, and auto-merges when approved.

GitHub and GitLab support

Uses provider seams so the same pipeline works with GitHub and GitLab, including self-managed GitLab instances.

Cross-agent hooks

Provides hooks and shared state management for interactive TDD workflows across agents and editors.

Portable skill packaging

Ships reusable skills for autonomous dev, review, dispatch, common hooks, and issue creation.

How to get it

  1. 1Run
    npx skills add zxkane/autonomous-dev-team
  2. 2Clone and configure
    gh repo create my-project --template zxkane/autonomous-dev-team
    cd my-project
    cp scripts/autonomous.conf.example scripts/autonomous.conf
    # Edit autonomous.conf — see docs/installation.md Step 4 for every key.
  3. 3Create the pipeline labels
    ( source scripts/autonomous.conf && bash scripts/setup-labels.sh "$REPO" )

README

Autonomous Dev Team

A fully automated development pipeline that turns issues into merged pull requests — no human intervention required. It scans for issues labeled autonomous, dispatches a Dev Agent to implement the feature with tests in an isolated worktree, and hands off to a Review Agent for code review with optional E2E verification. The entire cycle runs unattended on a cron schedule.

  • Code hosts: GitHub and GitLab (gitlab.com or any standard self-managed instance) via pluggable provider seams — see GitLab support.
  • Agent CLIs: Claude Code, Codex CLI, Kiro CLI, opencode, Cursor Agent, Antigravity CLI (agy), and most CLIs with a -p <prompt> non-interactive flag — see docs/agent-clis.md.

Quick Start

Option A: Install as portable skills (recommended)

npx skills add zxkane/autonomous-dev-team
SkillDescription
autonomous-devTDD workflow with git worktree isolation, design canvas, test-first development, code review, and CI verification
autonomous-reviewPR code review with checklist verification, merge conflict resolution, E2E testing, and auto-merge
autonomous-dispatcherIssue scanner that dispatches dev and review agents on a cron schedule
autonomous-commonShared workflow-enforcement hooks and agent-callable utility scripts
create-issueStructured issue creation with templates, autonomous label guidance, and workspace change attachment

Works with Claude Code, Cursor, Windsurf, Antigravity, Kiro CLI, and 40+ agents. After installing, follow docs/installation.md for the post-install wiring (symlinks, plugins, autonomous.conf, labels) — it includes a copy-paste prompt that lets your AI agent drive the whole setup.

Option B: Use as a template (full pipeline)

  1. Clone and configure:

    gh repo create my-project --template zxkane/autonomous-dev-team
    cd my-project
    cp scripts/autonomous.conf.example scripts/autonomous.conf
    # Edit autonomous.conf — see docs/installation.md Step 4 for every key.
    
  2. Create the pipeline labels:

    ( source scripts/autonomous.conf && bash scripts/setup-labels.sh "$REPO" )
    
  3. Schedule the dispatcher tick. Anything that can run a shell command on a cadence works:

    HostWhen to useTick command
    OpenClaw (recommended)Purpose-built skill runtimeopenclaw run skills/autonomous-dispatcher/SKILL.md
    Plain cronZero extra infrabash skills/autonomous-dispatcher/scripts/dispatcher-tick.sh
    GitHub Actions schedule / any scheduled runtimeManaged infrasame tick script (or dispatcher-multi-tick.sh for multi-project)
    */5 * * * * cd /path/to/project && bash skills/autonomous-dispatcher/scripts/dispatcher-tick.sh
    

    The tick script is host-agnostic — it needs only jq, a code-host credential, and a reachable autonomous.conf. The agent CLI is invoked by the wrapper the tick spawns, not by the tick itself.

  4. Create an issue with the autonomous label and watch the pipeline work — the dispatcher spawns agents, tracks progress via labels, and merges the PR when review passes.

How It Works

Issue (autonomous label)
   │
   ▼
Dispatcher (cron tick) ──▶ Dev Agent ──────────▶ Review Agent
   scan + dispatch          worktree + TDD         find PR + review
   concurrency + retry      implement + test       optional E2E verify
                            open PR                approve + merge

Issues progress through labels managed automatically by the agents:

autonomous → in-progress → pending-review → reviewing → approved (merged)
                                                 │
                                                 └─→ pending-dev (loop back if review fails)

With the no-auto-close label, the PR is approved but not auto-merged — the repo owner is notified instead.

Every issue/code-host operation routes through pluggable provider seams (ISSUE_PROVIDER / CODE_HOST): abstract verbs with per-provider leaves, proven by a provider-parameterized conformance suite. The normative contract lives in docs/pipeline/provider-spec.md.

ComponentWrapper / entrySkillDetails
Dev Agentscripts/autonomous-dev.shskills/autonomous-dev/SKILL.mdworktree isolation, TDD, checkbox tracking, resume-after-feedback
Review Agentscripts/autonomous-review.shskills/autonomous-review/SKILL.mdPR discovery, conflict rebase, bot reviewers, multi-agent verdicts, E2E, auto-merge
Dispatcherscripts/dispatcher-tick.shskills/autonomous-dispatcher/SKILL.mdissue scanning, concurrency control, stale detection

Multi-agent review (AGENT_REVIEW_AGENTS), external review bots (REVIEW_BOTS), and per-CLI configuration are covered in docs/agent-clis.md.

GitLab Support

Both provider seams accept gitlab: issues and merge requests on gitlab.com or any self-managed CE/EE instance whose API speaks standard PAT auth against /api/v4.

# scripts/autonomous.conf
ISSUE_PROVIDER="gitlab"
CODE_HOST="gitlab"
GITLAB_HOST="gitlab.example.com"          # default gitlab.com
GITLAB_TOKEN="glpat-…"                    # PAT / project / group token, scope `api`
GITLAB_PROJECT="group%2Fsubgroup%2Fproject"   # URL-encoded namespace/name
  • Setup guide: docs/gitlab-setup.md — token creation, self-hosted host config, the auth model, and verification steps.
  • Custom auth gateways (SSO-cookie instances, mTLS, forked transports): supported out-of-tree via GITLAB_TRANSPORT_HOOK — an operator-owned file that replaces the single HTTP primitive while the library keeps pagination, backoff, and fail-closed semantics. Contract in docs/pipeline/provider-spec.md §transport.
  • Capability differences vs GitHub (declared in providers/chp-gitlab.caps, callers branch automatically): no external review bots (review_bots=0), no REST "request changes" object (findings post as comments + labels), auto-close fires only on merge to the default branch, and agent tokens are convention-contained (GitLab has no GitHub-App equivalent — see docs/security.md).

GitHub remains the default: an existing conf with no provider keys set behaves byte-identically.

Security

Designed for private repositories and trusted environments. The pipeline executes issue content as agent instructions — in a public repo that is a prompt-injection surface. Read docs/security.md for the risk model, per-environment recommendations, the mitigation checklist, and the token posture per code host. Minimum for public repos: restrict who can apply the autonomous label, and use no-auto-close so merges stay manual.

Interactive Development Workflow

Beyond autonomous mode, the same hooks enforce a TDD workflow for interactive coding-agent sessions:

Design Canvas → Worktree → Test Cases → Implement → Unit Tests
   → code-simplifier → commit → pr-review → push → CI → E2E

Documentation Index

TopicWhere
Install + configure (agent-driven, step-by-step)docs/installation.md
Agent CLIs: support matrix, per-CLI flags, multi-agent reviewdocs/agent-clis.md
GitLab setup (tokens, self-hosted, transport hook)docs/gitlab-setup.md
GitHub App auth (bot identities, two-token split)docs/github-app-setup.md
Security model + mitigationsdocs/security.md
Pipeline overview (architecture, concurrency)docs/autonomous-pipeline.md
Pipeline spec (state machine, invariants, flows)docs/pipeline/
Provider seams (ITP/CHP verbs, conformance, transport)docs/pipeline/provider-spec.md
Hooks reference + state managerskills/autonomous-common/hooks/README.md
CI workflow setupdocs/github-actions-setup.md
Interactive TDD workflowCLAUDE.md

Reference Project

This template is based on the Claude Code memory and hook system implementation from Openhands Infra.

License

MIT License

Files in the repo

Repository payload13 top-level entries
  • .claude
  • .github
  • .kiro
  • docs
  • skills
  • tests
  • .gitignore
  • AGENTS.md
  • CLAUDE.md
  • CONTRIBUTING.md
  • hooks
  • README.md
  • scripts

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More harnesses

affaan-m/
ECC
affaan-m/ECCHarnesses

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

258k
ruvnet/rufloHarnesses

🌊 The original agent meta-harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, RAG integration, and native Claude Code / Codex / Hermes and many more Integrated

72k

Practical patterns, starters & CLI tools for loop engineering with AI coding agents. Design systems that prompt and orchestrate agents (inspired by Addy Osmani and Boris Cherny). Includes loop-audit, loop-init, loop-cost.

11k