Find a file
Bryan Helmkamp 2ae01b6836 Add arc init step to Quick Start
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-10 14:56:29 -04:00
.cargo Disable empty doc-tests and add terse test output alias 2026-02-23 10:57:26 -05:00
.claude Add 2026-03-10 changelog and update docs for new CLI commands 2026-03-10 14:25:42 -04:00
.config Fix Daytona e2e test failures and improve test reliability 2026-03-08 18:51:43 -04:00
.github Use GitHub-hosted runners for release workflow 2026-03-10 14:23:05 -04:00
apps Move packages/ to lib/packages/ and update all references 2026-03-09 13:13:56 -04:00
arc/workflows Add vnc test 2026-03-10 11:32:09 -04:00
bin Organize scripts into bin/dev, bin/ops, and bin/agent 2026-03-09 13:07:22 -04:00
docker Move packages/ to lib/packages/ and update all references 2026-03-09 13:13:56 -04:00
docs Add 2026-03-10 changelog and update docs for new CLI commands 2026-03-10 14:25:42 -04:00
lib Improve install flow ordering, doctor diagnostics, and callback page 2026-03-10 14:41:08 -04:00
skills/develop-web-game Add develop-web-game skill and verification workflow 2026-03-10 08:41:12 -04:00
test Rename arc run startarc run (#5) 2026-03-08 16:14:50 -04:00
.env.example Remove export prefix from .env.example for standard dotenv format 2026-03-09 23:46:44 -04:00
.gitignore Track .claude directory and add docs skill watermark 2026-03-08 11:23:07 -04:00
AGENTS.md Add arc init command to initialize a new arc project 2026-03-10 13:00:36 -04:00
arc.toml Disable retros project-wide in arc.toml 2026-03-09 19:29:01 -04:00
bun.lock Move packages/ to lib/packages/ and update all references 2026-03-09 13:13:56 -04:00
Cargo.lock Add GitHub App manifest setup to arc install 2026-03-10 14:36:13 -04:00
Cargo.toml Add release workflow and improve CI pipelines 2026-03-10 13:40:29 -04:00
CLAUDE.md Move CLAUDE.md to AGENTS.md with symlink for compatibility 2026-03-09 13:02:06 -04:00
LICENSE.md Add README.md and MIT LICENSE 2026-03-10 14:48:58 -04:00
package.json Move packages/ to lib/packages/ and update all references 2026-03-09 13:13:56 -04:00
README.md Add arc init step to Quick Start 2026-03-10 14:56:29 -04:00

Arc

The software factory for small teams of expert engineers

Arc replaces the prompt-wait-review loop with version-controlled workflow graphs that orchestrate AI agents, shell commands, and human decisions into repeatable, long-horizon coding processes.

Define workflows in Graphviz DOT, route tasks to the right model with CSS-like stylesheets, and let the engine handle orchestration, parallelism, checkpointing, and verification -- all from a single Rust binary.

License: MIT docs


Table of Contents


Key Features

What Arc Does

Feature Description
🤖 Multi-model orchestration Route tasks to the right model per node -- cheap for boilerplate, frontier for hard reasoning
💠 Declarative workflows Define pipelines in Graphviz DOT -- diffable, reviewable, composable
Human-in-the-loop Approval gates, interviews, and real-time steering let you intervene at the right moments
🔄 Checkpoint and resume Git-native checkpointing after every stage -- inspect, revert, or fork from any point
🛡️ Adaptive verification Combine LLM-as-judge, test suites, and human review into quality gates
📊 Full observability Every tool call, agent turn, and decision point captured in a unified event stream

How Arc Does It

Feature Description
🎨 Model stylesheets CSS-like selectors (*, .class, #id) assign models, providers, and reasoning effort
🌳 Git-native checkpoints Every stage commits to a branch -- resume interrupted runs exactly where they left off
📦 Sandbox isolation Run agent tools in local, Docker, Daytona cloud VMs, or exe.dev ephemeral VMs
🔌 MCP integration Extend agents with any Model Context Protocol server (Playwright, databases, APIs)
🔁 Loops and fan-out Implement-test-fix cycles, parallel code reviews, and ensemble multi-provider patterns
🦀 Written in Rust Single compiled binary with minimal dependencies -- no Python runtime, no npm install
⚙️ CLI and API modes arc run for local dev, arc serve for production with a React web UI

Read the full documentation for details.


Quick Start

Warning

Arc is in private research preview. Contact bryan@qlty.sh if you're interested in trying it.

Install

Download the latest release for your platform:

# macOS (Apple Silicon)
curl -fsSL https://github.com/brynary/arc/releases/latest/download/arc-aarch64-apple-darwin.tar.gz | tar xz
sudo mv arc /usr/local/bin/

# Linux (x86_64)
curl -fsSL https://github.com/brynary/arc/releases/latest/download/arc-x86_64-unknown-linux-gnu.tar.gz | tar xz
sudo mv arc /usr/local/bin/

Or download directly from GitHub Releases.

Build from source

Requires Rust (latest stable):

git clone https://github.com/brynary/arc.git
cd arc
cargo build --release
# Binary is at ./target/release/arc

Run the setup wizard

arc install

Initialize your project

cd my-repo/
arc init

Run your first workflow

arc run hello

Example Workflow

A plan-approve-implement workflow where a human reviews the plan before the agent writes code:

digraph PlanImplement {
    graph [goal="Plan, approve, implement, and simplify a change"]

    start [shape=Mdiamond, label="Start"]
    exit  [shape=Msquare, label="Exit"]

    plan      [label="Plan", prompt="Analyze the goal and codebase. Write a step-by-step plan.", reasoning_effort="high"]
    approve   [shape=hexagon, label="Approve Plan"]
    implement [label="Implement", prompt="Read plan.md and implement every step."]
    simplify  [label="Simplify", prompt="Review the changes for clarity and correctness."]

    start -> plan -> approve
    approve -> implement [label="[A] Approve"]
    approve -> plan      [label="[R] Revise"]
    implement -> simplify -> exit
}

Node types at a glance

Shape Type What it does
Mdiamond Start Workflow entry point
Msquare Exit Workflow terminal
box (default) Agent Multi-turn LLM with tool access
tab Prompt Single LLM call, no tools
parallelogram Command Runs a shell script
hexagon Human gate Pauses for human input
diamond Conditional Routes based on conditions
component Parallel Fans out to concurrent branches
tripleoctagon Merge Collects parallel branch results

Multi-model routing with stylesheets

graph [
    model_stylesheet="
        *        { llm_model: claude-haiku-4-5; reasoning_effort: low; }
        .coding  { llm_model: claude-sonnet-4-5; reasoning_effort: high; }
        #review  { llm_model: gemini-3.1-pro-preview; llm_provider: gemini; }
    "
]

Selectors follow CSS specificity: * (0) < shape (1) < .class (2) < #id (3).


Supported Models

Arc supports models from Anthropic, OpenAI, Gemini, Kimi, Zai, MiniMax, and Inception. Route tasks to the right model per node and configure provider fallback chains per-run.

Run arc model list locally or see the Models documentation for the full catalog.


System Requirements

  • macOS (Apple Silicon) or Linux (x86_64)
  • At least one LLM provider API key (Anthropic, OpenAI, or Gemini)
  • Git (for checkpoint and resume)
  • Rust (only if building from source)

Help or Feedback


Contributing

See CLAUDE.md for build commands, architecture overview, and development conventions.


License

Arc is licensed under the MIT License.