Overview
Ananke Plexus
Freedom at the edge. Necessity at the core.
Ananke Plexus is a local-first Agent Development Life Cycle (ADLC) control plane — a tensegrity engineering harness that gives AI coding agents architectural context, deterministic guardrails, security gates, and verifiable delivery evidence.

See every animated flow and command walkthrough in See It in Action.
What it does
Ananke Plexus connects specifications, CALM architecture, code graphs, tests, security scanners, MCP tools, agent skills, Git, Jira, and pull requests into one governed development lattice.
| Layer | What Ananke provides |
|---|---|
| Specification | Requirement capture → spec → plan → tasks → BMAD contracts |
| Architecture | FINOS CALM declarations, declared vs observed reconciliation |
| Graph intelligence | AST code graph, blast-radius impact, Graphifyy & CRG adapters |
| Policy engine | Lint, tests, secrets, SAST, SCA, licenses, architecture gates |
| Agent backends | GitHub Copilot, Amazon Q, Kiro, Hermes, generic CLI, fake/demo |
| MCP server | Read-only + mutation tools, dynamic resource registry |
| APM | Agent skill package manager with lockfile, sandbox, provenance |
| Skill & Agent Registry | Immutable, content-addressed skills/agents with importers, policy-aware resolver, ananke.lock, activation and generated docs |
| Skill library | Dex Trove: 970 licence-clean skills, agents and plugins, loadable with ananke registry learn python:dex-trove |
| Evaluation & testing | Enterprise eval harness and unified test/quality harness with evidence |
| Lifecycle | Jira, Bitbucket, Git worktrees, PR evidence storytelling |
| Evidence | SARIF 2.1.0, SHA-256 manifests, policy decisions, checksums |
Quick start
pip install ananke-plexus
# or:
uv tool install ananke-plexus
cd my-project
ananke init
ananke doctor
Create a requirement and compile BMAD contracts:
ananke spec create --id PROJ-101 \
--title "Add idempotent webhook" \
--acceptance "duplicate events deduplicated" \
--acceptance "idempotency key stored"
ananke bmad compile --feature-dir .ananke/specs/PROJ-101
Run full verification and generate evidence:
ananke verify
Register a skill and resolve it reproducibly:
ananke registry init
ananke registry learn ./skills/graph-review
ananke registry promote core/graph-review@1.0.0 --trust approved --channel stable
ananke registry resolve core/graph-review@^1 --explain
ananke sync # writes ananke.lock
Serve the MCP server:
ananke serve-mcp
# with mutation tools enabled:
ananke serve-mcp --allow-mutations
Documentation
| Section | Description |
|---|---|
| Why Ananke | Problems solved, tensegrity philosophy |
| Architecture | System design, ports & adapters |
| BMAD Contracts | Behavior, Model, Architecture compilation |
| Graph Intelligence | Code graph, blast radius, providers |
| Policy & Security | Policy engine, packs, security gates |
| MCP & APM | MCP server and Agent Package Manager |
| Skill & Agent Registry | Artifact model, trust, resolver, lockfile, security |
| Registry Guide | Hands-on tour: learn, promote, resolve, sync, publish |
| Workflows | Bundle CLI commands into named, replayable sequences |
| Registry Reference | CLI, manifest, policy, resolver, schemas, Python API |
| Evaluation Harness | Agent quality: traces, evaluators, judges |
| Testing & Quality Harness | Unified test runner, profiles, quality gate |
| Getting Started | Install, init, first spec, first verify |
| CLI Reference | Full command taxonomy |
| Configuration | Config files, secrets, precedence |
| Policy Reference | Rule syntax, builtin packs |
| Release Guide | PyPI Trusted Publishing workflow |
The core thesis
Agents receive freedom of action only through a stronger surrounding structure of truth.
flowchart LR
INTENT["🎯 Intent"] --> SPEC["📜 Specification"]
SPEC --> ARCH["🏗️ Architecture"]
ARCH --> GRAPH["🕸️ Code Graph"]
GRAPH --> POLICY["🛡️ Policy"]
POLICY --> AGENT["🤖 Agent"]
AGENT --> VERIFY["🧪 Verification"]
VERIFY --> EVIDENCE["🧾 Evidence"]
EVIDENCE --> DELIVERY["🚀 Delivery"]
Docs workflow
From a plain pip install — no git checkout, no GitHub/PyPI access needed:
pip install "ananke-plexus[docs]"
ananke docs build # renders this whole site to ./site/, fully offline
ananke docs serve # same, then serves it at http://127.0.0.1:<port> and opens a tab
The Markdown, images and Mermaid diagrams that make up this site ship inside the package
itself (ananke docs where shows exactly which copy is being used), with no dependency on
a CDN or any other network access — diagrams render from a vendored copy of Mermaid, and
the hero images are pre-compressed so the whole site stays small. Internal links work
whether you open index.html directly or run ananke docs serve; only the search box
needs a real HTTP server (ananke docs serve), since browsers block its background fetch
when a page is opened directly via file://.
From a git checkout (contributors):
make docs-serve # local preview at http://127.0.0.1:8000
make docs-build # static build → site/
A GitHub Pages workflow publishes this site from main to gh-pages automatically.