Skip to main content

Provenance

Living requirements index + CLI for spec-driven development. Works with any AI agent.

Provenance (prov) keeps your requirements in plain markdown next to your code, gives you a CLI to query them, and teaches your AI agent to read before it writes. The spec files are always the source of truth — everything is plain text, and grep always works.

Install

Requires Python 3.9+.

uv tool install provenance-cli     # recommended

Alternates:

pipx install provenance-cli
pip install provenance-cli

Quick start

cd /path/to/your-project
prov init          # scaffold prov/CONTEXT.md + install agent skills/rules
# edit prov/CONTEXT.md: project name, purpose, constraints, domain map
prov orient        # verify — start every session here

After init:

your-project/
  prov/
    CONTEXT.md     ← edit this
    <domain>.md    ← domain specs as you add them
  .claude/skills/  + CLAUDE.md block   ← agent assets (Claude standard)
  .agents/skills/  + AGENTS.md block   ← agent assets (open standard)

CLI

Command Purpose
prov orient Project overview — start every session here
prov scope <path> What governs this file or directory?
prov context <slug> Full entry: statement, provenance, deps, code refs
prov impact <slug> Blast radius before changing anything
prov find <keywords> Search when you don't know the slug
prov domain <name> Load a full domain
prov validate Run before every commit — zero errors only
prov check-slug <slug> Is this slug available?
prov reconcile <path> Detect code<->spec drift (read-only)
prov sync [path] Drift report + patch sub-commands to fix it
prov rebuild Regenerate the optional .spec/ cache
prov write Add entries from JSON (validates before writing)
prov diff [ref] Semantic change manifest vs HEAD or any ref
prov init Scaffold CONTEXT.md + agent assets

Full reference with flags and exit codes: docs/cli.md.

What a spec entry looks like

session-expiry: Sessions expire after 30 days of inactivity.
  > inferred: user said "standard session timeout, nothing crazy"
  ! assumed 30 days — unconfirmed
  @ C:jwt-stateless
  ~ src/middleware/session.py:44

A slug, a current-state statement, provenance (>), agent assumptions (!), dependencies (@), and code refs (~). Code links back with # spec: session-expiry comments; prov validate checks both directions. Full format — node types, sigils, provenance source types, validation checks, grep patterns: docs/spec-format.md.

Agent setup

prov init installs the same skills and rules for both agent standards: .claude/skills/ plus a managed block in CLAUDE.md (Claude Code), and .agents/skills/ plus a managed block in AGENTS.md (Codex/GPT-style and other skill-aware agents; tools like Cursor can point at AGENTS.md). The rules teach the agent to run prov scope before touching code and prov validate before committing, and to self-heal missing skills once per session. Details, the marker-block behavior, and the optional pre-commit hook: docs/agent-setup.md.

Docs

Page Contents
docs/cli.md Full command reference
docs/spec-format.md The spec DSL, validation, grep fallback
docs/agent-setup.md Agent assets, managed blocks, pre-commit hook
docs/architecture.md Complete technical specification
docs/publishing.md Release and publishing flow
docs/development.md Contributor setup and repo layout

License

MIT — see LICENSE. Contributing: see docs/development.md.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

provenance_cli-0.2.0.tar.gz (136.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

provenance_cli-0.2.0-py3-none-any.whl (64.2 kB view details)

Uploaded Python 3

File details

Details for the file provenance_cli-0.2.0.tar.gz.

File metadata

  • Download URL: provenance_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 136.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for provenance_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f33b3ff1f98829590e26004bf5df2d18efba0fd84d7153cb7fd107b4b7f545f9
MD5 4db57544c6da9e86402c1d6342bf05dd
BLAKE2b-256 f07625aabe181159d6e7b1ed7f90fcb1ea3764356f1d7a37b28d51a689fa8f6c

See more details on using hashes here.

File details

Details for the file provenance_cli-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: provenance_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 64.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for provenance_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6ac11d16191f523560c7d38e70fc1152b5f481ed90e579f4c9e74983f35bd9ca
MD5 4d82ff0f340afd3181d292e2e6fd3f56
BLAKE2b-256 badca7f44aae7fe2b7c4e0f2bf2eee46d51cc2fe0c9bc62ab633deaf42764b2f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page