AnankeἈνάγκη

Governance discipline · Claude Code plugin

Ἀνάγκη — necessity, inevitability, binding constraint.

A directive, once authorized, binds.

Ananke is an intent-first governance discipline for AI-assisted software development — who authorized what, against which acceptance criteria, and what verdict verified it. It ships today as a Claude Code plugin.

It is a discipline and a plugin — not a product with traction. No customers, no adoption to claim yet. This page tells you what it does, whether it is for you, and how to try it. Nothing more.

What it is

Intent before code, as an enforced contract.

Most AI-assisted work treats the conversation as load-bearing and the spec as decorative. Ananke inverts that. You author a Directive — the outcomes that should exist, the acceptance criteria a reviewer can check, the constraints that must hold. You authorize it deliberately. Then execution works from the directive, in isolated sub-agents that see the spec and the files in scope and nothing else.

The discipline is portable prompting and workflow shape; the artifacts are plain YAML and JSON committed alongside your code. What the plugin adds over vanilla Claude Code is the Analyst gate, hook-enforced scope bounds during execution, and a durable on-disk record of intent — the project's memory of why each change was made.

The discipline loop

Five steps. Two of them are gates.

The path from “I want X” to “directive complete, code committed.” Endorsement and the review gate are where the discipline earns its keep — nothing binds, and nothing completes, without passing one.

01
Directive

Author the intent, acceptance criteria, and constraints. Outcomes, not implementation steps.

02
Endorse

The Analyst pre-flight: scope, semantic quality, cross-directive conflict, invariant supersession.

Gate
03
Authorize

A deliberate ceremony. The criteria become binding; the identity version is pinned.

04
Run

Plan → Execute → Review in isolated, scope-bound sub-agents. The review gate verifies every criterion.

Gate
05
Commit

A directive-governed commit, trailer-stamped — and, on demand, an exported attestation.

Attest out

This URL is the reason the site exists.

A completed directive can be projected into an in-toto attestation. Its predicateType is the address of this domain:

https://ananke.sh/attestations/governance/v1

By in-toto convention that URL must resolve to a human- and machine-readable description of the predicate. So it does — the governance predicate is the primary view, where the authorizer, the gate verdict, the contract-file set, and per-step model provenance are all first-class. A secondary SLSA Provenance v1 view and a CycloneDX AI-BOM mirror the same governed state for standard tooling.

governance.intoto.json — illustrative
{
  "_type": "https://in-toto.io/Statement/v1",
  "predicateType":
    "https://ananke.sh/attestations/governance/v1",
  "subject": [
    { "name": "git+…@<sha>",
      "digest": { "gitCommit": "…" } },
    { "name": "src/reset.py",
      "digest": { "sha256": "…" } }
  ],
  "predicate": {
    "directive": { … },
    "authorization": { … }, // who, when
    "gate": { … },          // verdict
    "contractFiles": [ … ],
    "steps": [ … ],         // model prov.
    "commitResolution": { … }
  }
}

Honest fit

A vitamin for some work; a painkiller for a little.

In its own strategic words, Ananke is a vitamin for solo, spec-driven work — and a painkiller only where governed provenance is actually required: regulated, agentic, or audit contexts. It does not claim universal necessity.

Worth a look if you

  • Work solo or spec-driven on your own repos in Claude Code, and want intent recorded as you go.
  • Need governed provenance — who authorized what, verified how — for regulated, agentic, or audit work.
  • Want the executor to work from the spec, not from a conversation that drifts.
  • Value a durable, reviewable on-disk record of why each change was made.

Probably not, if you

  • Want a hosted product, a team dashboard, or a polished management UI — there isn't one.
  • Need signed, non-repudiable attestations out of the box — signing is opt-in, unsigned by default.
  • Expect adoption proof or endorsements — there are none yet; this is pre-external-validation.
  • Just want to edit incrementally without ceremony — the discipline would only get in your way.

Stated plainly

The limitations are features of the honesty.

01

Unsigned by default

Attestations prove shape and binding, not non-repudiation. Signing is opt-in — Sigstore/cosign keyless to the Rekor public log, or gitsign offline.

02

Accrues going forward

Provenance and AI-BOM content captures from the moment you adopt it. It is empty for work that predates capture; steps is empty for directives that predate provenance.

03

The plugin is the only surface

The original Go engine is archived (2026-06-04). The Claude Code plugin is the lead and only active surface; the schemas remain the durable cross-tool contract.

⊢ The test

If a sentence on this site would embarrass the maintainer in front of a skeptical security engineer, it was cut. The credibility of the whole project rests on not overselling.