Skip to main content
⚡ Early Alpha · Under Active Development

Orchestrate AI Coding Agents with Persistent Memory

Crux is a single-binary Go tool that coordinates multiple AI coding agents across tmux sessions. Phase-based workflows, verification gates, and vector-searchable decision tracking so your orchestrator never loses track of what agents are doing.

Heads up: Crux is in early alpha. We're shipping fast and things will break. If you hit a bug or something feels off, we'd genuinely appreciate you opening an issue so we can fix it.

$ go install github.com/roygabriel/crux/cmd/crux@latest

$ crux init --example httpapi
✓ Created .crux/config.yaml
✓ Created docs/phases/PHASE1A.md
✓ Created docs/phases/PHASE1A-PROMPT.md

$ crux start
▶ Orchestrator loop started
  ├─ claude-1: Phase 1A, Prompt 1/3 (busy)
  ├─ codex-1:  Phase 1B, Prompt 1/2 (busy)
  └─ gemini-1: Phase 1A, Prompt 2/3 (idle)

$ crux decisions search "chose chi over gorilla"
┌─ Decision dec-a3f2
│  Phase: 2A · Prompt: 2
│  Context: needed HTTP router
│  Action: selected chi router
│  Rationale: better middleware composition
└─ Outcome: implemented successfully

Everything You Need to Orchestrate AI Agents

Reliable, repeatable multi-agent workflows without the infrastructure overhead.

🎯

Multi-Agent Orchestration

Coordinate Claude Code, Codex CLI, Gemini CLI, or any CLI tool across tmux sessions. Assign tasks, monitor progress, and resolve conflicts automatically.

🧠

Persistent Memory

Three-layer memory system: markdown memory bank, SQLite with FTS5, and vector search via chromem-go. Every decision is recorded and searchable, even across sessions.

📋

Phase-Based Workflows

Two-document phase system with specs and prompt contracts. Verification gates enforce quality. The engine never advances until go build, go test, and go vet pass.

🔌

Plugin Architecture

Agents are plugins, not hardcoded. Add support for any CLI tool by implementing one Go interface or configuring regex patterns in YAML.

🔒

Security First

Four-tier permission model, filesystem sandboxing, structured audit logging, and per-agent rate limiting. All agent commits land on feature branches.

📦

Zero Infrastructure

Single binary, go build produces one executable. SQLite for structured data, chromem-go for vectors, both embedded. No Postgres, no Redis, no Docker.

Six-Layer Architecture

Clean separation of concerns, from the orchestrator loop down to tmux transport.

Orchestrator Loop
World StateAgent AssignmentDecision RAGGates
Core Engines
Phase EngineMemory SystemAgent ManagerSecurity Layer
Plugin Layer
Claude CodeCodex CLIGemini CLIGeneric Adapter
Transport
tmux SessionsPanescapture-panesend-keys

Ready to orchestrate?

Get up and running in under 5 minutes. Single binary, zero infrastructure.