🦀
cargo install decapod && decapod init
Decapod
Repo-native governance for AI coding agents.
Decapod is a daemonless, local-first kernel that agents call when coding work needs intent, context, boundaries, coordination, or proof. You keep working in Cursor, Claude Code, Codex, Antigravity, or any other agent tool; Decapod gives those agents a shared control plane inside the repo.
Canonical Contract: assets/constitution.json section core/DECAPOD
cargo install decapod
decapod init
decapod init creates .decapod/, a local folder your agent uses to remember intent, rules, context, specs, and proof.
Your conversational workflow does not change. You keep working through your agent; Decapod gives the agent the missing control plane. Intent is captured, scope is bounded, context is shaped, protected areas are respected, work is isolated, and completion is proven against the project’s rules and the Decapod constitution.
AI coding agents often lose the plot: they forget intent, pull too much context, skip dependencies, and touch protected files. Decapod gives them a repo-native governance layer that makes intent explicit, boundaries enforceable, context deliberate, and completion provable.
flowchart TD
UserIn["User"] -->|"intent"| AgentPre["Agent (Pre)"]
AgentPre -->|"governed request"| Model["Model"]
Model -->|"response"| AgentPost["Agent (Post)"]
AgentPost -->|"verified result"| UserOut["User"]
AgentPre -.->|"ping for context"| UserIn
AgentPre -. "optional governance path" .-> DecapodPre["Decapod (Pre)"]
DecapodPre -. "intent, context, gates" .-> AgentPre
AgentPost -. "optional proof path" .-> DecapodPost["Decapod (Post)"]
DecapodPost -. "boundaries, checks, proof" .-> AgentPost
DecapodPost -. "needs more context" .-> AgentPre
style UserIn fill:#ff6b9d,stroke:#c44569,color:#fff
style UserOut fill:#ff6b9d,stroke:#c44569,color:#fff
style AgentPre fill:#a855f7,stroke:#7c3aed,color:#fff
style AgentPost fill:#a855f7,stroke:#7c3aed,color:#fff
style Model fill:#06b6d4,stroke:#0891b2,color:#fff
style DecapodPre fill:#fbbf24,stroke:#f59e0b,color:#000
style DecapodPost fill:#fbbf24,stroke:#f59e0b,color:#000
Agent ↔ User pings — The 1st agent (governance) and 2nd agent (proof) can ping the user for additional context when intent is unclear or verification needs human input.
Decapod is called by the agent at governance boundaries. Before inference, the agent may branch into Decapod to shape intent, context, and gates. After inference, the agent may branch into Decapod when the work needs boundary checks, verification, proof, or another governed pass.
Each Decapod call may recurse until the work is shaped, bounded, and provable. Decapod is not the agent and not the model; it is the governance kernel the agent calls whenever work needs control.
Decapod is called before:
Decapod preserves what agent workbenches lose: reusable, repo-native knowledge that survives the session.
.decapod/
generated/
specs/ # Human-visible intent and architecture specs
context/ # Deterministic context capsules
artifacts/ # Verification output and proof provenance
data/ # Durable repo-native state (DBs, events, todos)
config.toml # Project shape and agent-facing configuration
OVERRIDE.md # Local rules that override embedded defaults
Every run leaves operational evidence. The generated files are the human-visible proof surface: inspect them locally, review them in PRs, and use them to re-establish state across different agents like Claude, Codex, Gemini, Cursor, and Kilo.
Decapod ships with an embedded engineering constitution: over 100 declarative documents covering architecture, security, performance, and testing.
Everything an engineering org usually keeps in tribal memory or review culture becomes executable guidance. Your agent does not guess; it reads the constitution, cites claim IDs, follows gates, and produces proof.
git or grep.Decapod provides comprehensive documentation for both human operators and AI agents.
git clone https://github.com/DecapodLabs/decapod
cd decapod
cargo build && cargo test
$ claude mcp add decapod \
-- python -m otcore.mcp_server <graph>