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.

System Architecture Overview

Animated: the spec-driven pipeline from intent to implementation

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.

LayerWhat Ananke provides
SpecificationRequirement capture → spec → plan → tasks → BMAD contracts
ArchitectureFINOS CALM declarations, declared vs observed reconciliation
Graph intelligenceAST code graph, blast-radius impact, Graphifyy & CRG adapters
Policy engineLint, tests, secrets, SAST, SCA, licenses, architecture gates
Agent backendsGitHub Copilot, Amazon Q, Kiro, Hermes, generic CLI, fake/demo
MCP serverRead-only + mutation tools, dynamic resource registry
APMAgent skill package manager with lockfile, sandbox, provenance
Skill & Agent RegistryImmutable, content-addressed skills/agents with importers, policy-aware resolver, ananke.lock, activation and generated docs
Skill libraryDex Trove: 970 licence-clean skills, agents and plugins, loadable with ananke registry learn python:dex-trove
Evaluation & testingEnterprise eval harness and unified test/quality harness with evidence
LifecycleJira, Bitbucket, Git worktrees, PR evidence storytelling
EvidenceSARIF 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

SectionDescription
Why AnankeProblems solved, tensegrity philosophy
ArchitectureSystem design, ports & adapters
BMAD ContractsBehavior, Model, Architecture compilation
Graph IntelligenceCode graph, blast radius, providers
Policy & SecurityPolicy engine, packs, security gates
MCP & APMMCP server and Agent Package Manager
Skill & Agent RegistryArtifact model, trust, resolver, lockfile, security
Registry GuideHands-on tour: learn, promote, resolve, sync, publish
WorkflowsBundle CLI commands into named, replayable sequences
Registry ReferenceCLI, manifest, policy, resolver, schemas, Python API
Evaluation HarnessAgent quality: traces, evaluators, judges
Testing & Quality HarnessUnified test runner, profiles, quality gate
Getting StartedInstall, init, first spec, first verify
CLI ReferenceFull command taxonomy
ConfigurationConfig files, secrets, precedence
Policy ReferenceRule syntax, builtin packs
Release GuidePyPI 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.

Edit this page on GitHub ↗