erg.
agent orchestrator

erg follows your workflow.

Autonomous orchestrator for Claude Code. Polls GitHub, Asana, or Linear for issues, starts containerized Claude sessions, and drives the full PR lifecycle — as automated as your workflow allows.

How it works

At its core, erg is a state machine engine paired with AI coding. Each issue becomes a work item that advances through a configurable flowchart of states — from AI-generated code to a merged PR. You define exactly how much automation applies: require human review, auto-merge after CI, loop back for fixes, or notify external systems at any step.

  1. Tag or label an issue

    Mark a task in GitHub, Asana, or Linear with the configured trigger label (e.g. ai-assisted).

  2. Orchestrator picks it up

    erg starts a containerized Claude session. With planning enabled, no branch is created yet — Claude reads the codebase in read-only mode.

  3. Claude analyzes and posts a plan

    The ai.plan session explores the codebase and posts a structured implementation plan as an issue comment — no code written yet.

  4. You review and approve

    Reply with approval (e.g. "LGTM") to proceed, or leave feedback. Claude revises the plan and loops back until you approve.

  5. Claude writes the code

    Once approved, ai.code creates a branch, implements the changes, runs tests, and commits.

  6. State machine advances

    The workflow engine opens a PR, waits for CI, handles review feedback, and merges — automatically, according to your rules.

Installation

$ brew install zhubert/tap/erg

Or build from source: go build -o erg .

Prerequisite: a container runtime must be installed and running. Supported options: OrbStack (recommended on macOS), Docker Desktop, or Colima.

Quick start

  1. Configure erg

    Run erg configure inside your repo. It will ask which issue tracker you use (GitHub, Asana, or Linear), walk through credentials, and scaffold a default workflow file.

    $ erg configure
  2. Confirm your container runtime is running

    OrbStack, Docker Desktop, or Colima must be up before erg can launch sessions. Verify with docker ps.

  3. Start the daemon

    Start erg with brew services start erg, then check it's healthy: erg status. If something looks off, tail the log: tail -f ~/.erg/logs/erg.log.

    $ brew services start erg
  4. Label your first issue

    Open an issue in your configured tracker and apply the trigger label (e.g. ai-assisted). erg will pick it up within the next poll interval.

  5. Watch it go

    Open http://localhost:21122 in your browser. You'll see the session appear and progress in real time.

live dashboard preview

erg dashboard

connected

Monitor all your agents in real time. Learn more →

made by zack · mit license