Archon - Harness builder - Make AI coding deterministic and repeatable.
-
Archon
The first open-source harness builder for AI coding. Make AI coding deterministic and repeatable.
Archon is a workflow engine for AI coding agents. Define your development processes as YAML workflows - planning, implementation, validation, code review, PR creation - and run them reliably across all your projects.
Like what Dockerfiles did for infrastructure and GitHub Actions did for CI/CD - Archon does for AI coding workflows. Think n8n, but for software development.
Why Archon?
When you ask an AI agent to "fix this bug", what happens depends on the model's mood. It might skip planning. It might forget to run tests. It might write a PR description that ignores your template. Every run is different.
Archon fixes this. Encode your development process as a workflow. The workflow defines the phases, validation gates, and artifacts. The AI fills in the intelligence at each step, but the structure is deterministic and owned by you.
- Repeatable - Same workflow, same sequence, every time. Plan, implement, validate, review, PR.
- Isolated - Every workflow run gets its own git worktree. Run 5 fixes in parallel with no conflicts.
- Fire and forget - Kick off a workflow, go do other work. Come back to a finished PR with review comments.
- Composable - Mix deterministic nodes (bash scripts, tests, git ops) with AI nodes (planning, code generation, review). The AI only runs where it adds value.
- Portable - Define workflows once in
.archon/workflows/, commit them to your repo. They work the same from CLI, Web UI, Slack, Telegram, or GitHub.
What It Looks Like
Here's an example of an Archon workflow that plans, implements in a loop until tests pass, gets your approval, then creates the PR:
# .archon/workflows/build-feature.yaml nodes: - id: plan prompt: "Explore the codebase and create an implementation plan" - id: implement depends_on: [plan] loop: # AI loop - iterate until done prompt: "Read the plan. Implement the next task. Run validation." until: ALL_TASKS_COMPLETE fresh_context: true # Fresh session each iteration - id: run-tests depends_on: [implement] bash: "bun run validate" # Deterministic - no AI - id: review depends_on: [run-tests] prompt: "Review all changes against the plan. Fix any issues." - id: approve depends_on: [review] loop: # Human approval gate prompt: "Present the changes for review. Address any feedback." until: APPROVED interactive: true # Pauses and waits for human input - id: create-pr depends_on: [approve] prompt: "Push changes and create a pull request"Tell your coding agent what you want, and Archon handles the rest:
You: Use archon to add dark mode to the settings page Agent: I'll run the archon-idea-to-pr workflow for this. → Creating isolated worktree on branch archon/task-dark-mode... → Planning... → Implementing (task 1/4)... → Implementing (task 2/4)... → Tests failing - iterating... → Tests passing after 2 iterations → Code review complete - 0 issues → PR ready: https://github.com/you/project/pull/47Getting Started
Most users should start with the Full Setup - it walks you through credentials, installs the Archon skill into your projects, and gives you the web dashboard.
Already have Claude Code and just want the CLI? Jump to the Quick Install.
Full Setup (5 minutes)
Clone the repo and use the guided setup wizard. This configures credentials, platform integrations, and copies the Archon skill into your target projects.
<details>
<summary><b>Prerequisites</b> - Bun, Claude Code, and the GitHub CLI</summary>Bun - bun.sh
# macOS/Linux curl -fsSL https://bun.sh/install | bash # Windows (PowerShell) irm bun.sh/install.ps1 | iexGitHub CLI - cli.github.com
# macOS brew install gh # Windows (via winget) winget install GitHub.cli # Linux (Debian/Ubuntu) sudo apt install ghClaude Code - claude.ai/code
# macOS/Linux/WSL curl -fsSL https://claude.ai/install.sh | bash # Windows (PowerShell) irm https://claude.ai/install.ps1 | iex</details>
git clone https://github.com/coleam00/Archon cd Archon bun install claudeThen say: "Set up Archon"
The setup wizard walks you through everything: CLI installation, authentication, platform selection, and copies the Archon skill to your target repo.
Quick Install (30 seconds)
Already have Claude Code set up? Install the standalone CLI binary and skip the wizard.
macOS / Linux
curl -fsSL https://archon.diy/install | bashWindows (PowerShell)
irm https://archon.diy/install.ps1 | iexHomebrew
brew install coleam00/archon/archonCompiled binaries need a
CLAUDE_BIN_PATH. The quick-install binaries
don't bundle Claude Code. Install it separately, then point Archon at it:# macOS / Linux / WSL curl -fsSL https://claude.ai/install.sh | bash export CLAUDE_BIN_PATH="$HOME/.local/bin/claude" # Windows (PowerShell) irm https://claude.ai/install.ps1 | iex $env:CLAUDE_BIN_PATH = "$env:USERPROFILE\.local\bin\claude.exe"Or set
assistants.claude.claudeBinaryPathin~/.archon/config.yaml.
The Docker image ships Claude Code pre-installed. See AI Assistants → Binary path configuration for details.Start Using Archon
Once you've completed either setup path, go to your project and start working:
cd /path/to/your/project claudeUse archon to fix issue #42What archon workflows do I have? When would I use each one?The coding agent handles workflow selection, branch naming, and worktree isolation for you. Projects are registered automatically the first time they're used.
Important: Always run Claude Code from your target repo, not from the Archon repo. The setup wizard copies the Archon skill into your project so it works from there.
Web UI
Archon includes a web dashboard for chatting with your coding agent, running workflows, and monitoring activity. Binary installs: run
archon serveto download and start the web UI in one step. From source: ask your coding agent to run the frontend from the Archon repo, or runbun run devfrom the repo root yourself.Register a project by clicking + next to "Project" in the chat sidebar - enter a GitHub URL or local path. Then start a conversation, invoke workflows, and watch progress in real time.
Key pages:
- Chat - Conversation interface with real-time streaming and tool call visualization
- Dashboard - Mission Control for monitoring running workflows, with filterable history by project, status, and date
- Workflow Builder - Visual drag-and-drop editor for creating DAG workflows with loop nodes
- Workflow Execution - Step-by-step progress view for any running or completed workflow
Monitoring hub: The sidebar shows conversations from all platforms - not just the web. Workflows kicked off from the CLI, messages from Slack or Telegram, GitHub issue interactions - everything appears in one place.
See the Web UI Guide for full documentation.
What Can You Automate?
Archon ships with workflows for common development tasks:
Workflow What it does archon-assistGeneral Q&A, debugging, exploration - full Claude Code agent with all tools archon-fix-github-issueClassify issue → investigate/plan → implement → validate → PR → smart review → self-fix archon-create-issueClassify problem → gather context → investigate → create GitHub issue archon-issue-review-fullComprehensive fix + full multi-agent review pipeline for GitHub issues archon-piv-loopGuided Plan-Implement-Validate loop with human review between iterations archon-idea-to-prFeature idea → plan → implement → validate → PR → 5 parallel reviews → self-fix archon-plan-to-prExecute existing plan → implement → validate → PR → review → self-fix archon-feature-developmentImplement feature from plan → validate → create PR archon-adversarial-devBuild a complete application from scratch using adversarial development archon-smart-pr-reviewClassify PR complexity → run targeted review agents → synthesize findings archon-comprehensive-pr-reviewMulti-agent PR review (5 parallel reviewers) with automatic fixes archon-validate-prThorough PR validation testing both main and feature branches archon-architectArchitectural sweep, complexity reduction, codebase health improvement archon-refactor-safelySafe refactoring with type-check hooks and behavior verification archon-interactive-prdCreate a PRD through guided conversation archon-ralph-dagPRD implementation loop - iterate through stories until done archon-workflow-builderGenerate a new Archon workflow YAML for your project archon-remotion-generateGenerate or modify Remotion video compositions with AI archon-resolve-conflictsDetect merge conflicts → analyze both sides → resolve → validate → commit Archon ships 19 default workflows - run
archon workflow listor describe what you want and the router picks the right one.Or define your own. Default workflows are great starting points - copy one from
.archon/workflows/defaults/and customize it. Workflows are YAML files in.archon/workflows/, commands are markdown files in.archon/commands/. Same-named files in your repo override the bundled defaults. Commit them - your whole team runs the same process.See Authoring Workflows and Authoring Commands.
Add a Platform
The Web UI and CLI work out of the box. Optionally connect a chat platform for remote access:
Platform Setup time Guide Telegram 5 min Telegram Guide Slack 15 min Slack Guide GitHub Webhooks 15 min GitHub Guide Discord 5 min Discord Guide Architecture
┌─────────────────────────────────────────────────────────┐ │ Platform Adapters (Web UI, CLI, Telegram, Slack, │ │ Discord, GitHub) │ └──────────────────────────┬──────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ Orchestrator │ │ (Message Routing & Context Management) │ └─────────────┬───────────────────────────┬───────────────┘ │ │ ┌───────┴────────┐ ┌───────┴────────┐ │ │ │ │ ▼ ▼ ▼ ▼ ┌───────────┐ ┌────────────┐ ┌──────────────────────────┐ │ Command │ │ Workflow │ │ AI Assistant Clients │ │ Handler │ │ Executor │ │ (Claude / Codex / Pi) │ │ (Slash) │ │ (YAML) │ │ │ └───────────┘ └────────────┘ └──────────────────────────┘ │ │ │ └──────────────┴──────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ SQLite / PostgreSQL (12 Tables) │ │ Codebases • Conversations • Sessions • Workflow Runs │ │ Isolation Environments • Messages • Workflow Events │ │ Users • User Identities • Workflow Node Sessions │ │ Codebase Env Vars • User GitHub Tokens │ └─────────────────────────────────────────────────────────┘Documentation
Full documentation is available at archon.diy/docs.
Topic Description Getting Started Setup guide (Web UI or CLI) The Book of Archon 10-chapter narrative tutorial CLI Reference Full CLI reference Authoring Workflows Create custom YAML workflows Authoring Commands Create reusable AI commands Configuration All config options, env vars, YAML settings AI Assistants Claude, Codex, and Pi setup details Deployment Docker, VPS, production setup Architecture System design and internals Troubleshooting Common issues and fixes For AI tools: Point your LLM at
/llms.txtfor an index of all documentation,/llms-full.txtfor the complete docs in a single file, or/llms-small.txtfor a condensed version.Telemetry
Archon sends a few anonymous events so maintainers can see which workflows get real usage, on what platforms, and whether runs succeed — and prioritize accordingly. No PII, ever. Events:
archon_started(once per CLI invocation / server boot),archon_active(daily heartbeat while a server is running, so long-running installs stay counted),chat_turn_handled(each direct AI chat turn — platform, provider, model, duration, and usage totals; never message content),workflow_invoked(each workflow start),workflow_completed/workflow_failed(each run outcome),workflow_approval_resolved(each human approve/reject decision — the binary resolution only, never comments or reasons), andcodebase_registered(a pure count when a project is registered — no name, path, or URL).What's collected (categorical only):
- Workflow name — the real name for bundled (Archon-authored) workflows;
"custom"for your own workflows, so private names never leave your machine. - Run shape & outcome — platform (
cli/web/slack/…), provider id (plus the model id onworkflow_invoked), node count, which node types and features are used (loop/approval/script/bash, structured output, persisted sessions, MCP, skills, fresh-context loops), success/failure, duration, a categorical failure reason, and a fixed-enum failure class (fatal/transient/unknown— never raw error text) plus the failed node's type. - Chat activity — one event per direct-chat AI turn with platform, provider, model, duration, and completed/failed. Message content, prompts, and conversation ids are never sent.
- Aggregate usage — provider-reported token counts and cost (USD) per workflow run and chat turn, plus total loop iterations per run. Numeric totals only — never the content the tokens represent.
- Machine context — OS, architecture, Archon version, runtime, whether it's a binary build, and a CI flag.
- Deployment shape (server only) — which adapters are enabled (booleans), database kind (
sqlite/postgresql), whether web auth and multi-user mode are on, and the GitHub auth mode. Configuration values (tokens, URLs, hosts) are never sent. - A random install UUID stored at
~/.archon/telemetry-id. Nothing else.
What's not collected: your code, prompts, messages, custom workflow names, workflow descriptions, git remotes, file paths, usernames, tokens, AI output, error message text, your IP address, your geographic location — none of it.
Opt out: set any of these in your environment:
ARCHON_TELEMETRY_DISABLED=1 DO_NOT_TRACK=1 # de facto standard honored by Astro, Bun, Prisma, Nuxt, etc. POSTHOG_API_KEY=off # off | 0 | false | disabled | "" all disableCI environments (
CI=true) are auto-disabled — forks running fixtures in GitHub Actions, CircleCI, etc. do not send events.Check the current state: run
archon telemetry statusto see whether telemetry is enabled, why (if not), the install UUID, and the active host. Runarchon telemetry resetto rotate the install UUID.archon doctoralso surfaces the current state in its check list.Self-host PostHog or use a different project by setting
POSTHOG_API_KEYandPOSTHOG_HOST.License
Video
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login
