A lightweight global Markdown spec and decision vault for AI coding agents.
Project description
Agent Spec Vault
agent-spec-vault is a tiny global Markdown vault for AI coding agents.
It stores durable specs, cross-repo contracts, and decisions in plain Markdown under a user-level directory. It is intentionally not a task tracker, Kanban board, daemon, hook system, or project management platform.
Why
Coding agents often need historical context:
- previous product and architecture specs
- cross-repository contracts
- decisions and tradeoffs
- validation rules that should survive chat resets
Tools such as Beads and Backlog.md are great when you need task tracking. This tool keeps the narrower part: Markdown-native, agent-readable specs and decisions that are global rather than tied to one repository.
Install
For most Python environments:
python3 -m pip install agent-spec-vault
specv init
If your Python installation blocks global CLI installs, or you prefer isolated command-line tools:
pipx install agent-spec-vault
specv init
Inside a virtual environment:
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install agent-spec-vault
specv init
Unreleased development builds can still be installed from GitHub:
pipx install git+https://github.com/xixifast/agent-spec-vault.git
For local development from a checkout:
python3 -m pip install -e .
Or run from a checkout without installing:
python3 -m specv --help
Quick Start
specv init
specv new "Quality analysis display contract" \
--repos lippi-smart-customer,aics-web-repos,lippi-dingagent-graph-engine \
--tags quality-analysis,contract
specv decision "Use Markdown vault instead of Beads for historical specs" \
--tags tooling,specs
specv list
specv search "quality analysis"
specv show spec-20260703-quality-analysis-display-contract
specv index --print
specv prime --repo lippi-smart-customer
Default vault location:
~/.agents/spec-vault
Override it with:
SPECV_HOME=/path/to/vault specv list
specv --home /path/to/vault list
Data Model
Everything is ordinary Markdown:
~/.agents/spec-vault/
README.md
index.jsonl
templates/
spec.md
decision.md
specs/
2026-07-03-quality-analysis-display-contract.md
decisions/
2026-07-03-use-markdown-vault.md
Each document has a small frontmatter block:
---
id: spec-20260703-quality-analysis-display-contract
kind: spec
title: Quality analysis display contract
status: active
created: 2026-07-03
updated: 2026-07-03
repos:
- lippi-smart-customer
- aics-web-repos
tags:
- quality-analysis
- contract
---
specv index writes index.jsonl, a compact surface for scripts and agents.
Commands
| Command | Purpose |
|---|---|
specv init |
Create the vault directories and templates |
specv new <title> |
Create a new spec |
specv decision <title> |
Create a decision note |
specv list |
List specs and decisions |
specv search <query> |
Search metadata and Markdown body |
specv show <id> |
Print one document |
specv index |
Regenerate index.jsonl |
specv prime |
Print an agent-friendly summary |
specv path |
Print the vault path |
Suggested Agent Rule
Add a small rule to your global agent instructions:
When a task needs historical specs, cross-repo contracts, or prior design
decisions, search ~/.agents/spec-vault first with specv search or rg. When asked
to preserve a durable spec or decision, write it there instead of creating an
ad hoc file in a business repository.
Scope
This project does:
- global spec and decision storage
- Markdown-native files
- frontmatter metadata for repos, tags, status, and dates
- JSONL index generation
- agent-friendly summary output
This project does not:
- track task claim/close state
- manage dependencies or blockers
- run a daemon or hooks
- replace GitHub Issues, Beads, or Backlog.md
- write into business repositories by default
Development
python3 -m unittest discover -s tests -p 'test_*.py'
python3 -m specv --home /tmp/specv-demo init
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agent_spec_vault-0.1.1.tar.gz.
File metadata
- Download URL: agent_spec_vault-0.1.1.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99a712b8e529a868d6ee85caea7d9594f2394e457825e728b7a64e49fa89f39b
|
|
| MD5 |
9de1e1a2c585851c322a0698dd21da5d
|
|
| BLAKE2b-256 |
59463532d6ca161381d3b70c09a434c4bdc7793b2bc0df1b7b8187b933b6a620
|
Provenance
The following attestation bundles were made for agent_spec_vault-0.1.1.tar.gz:
Publisher:
publish-to-pypi.yml on xixifast/agent-spec-vault
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agent_spec_vault-0.1.1.tar.gz -
Subject digest:
99a712b8e529a868d6ee85caea7d9594f2394e457825e728b7a64e49fa89f39b - Sigstore transparency entry: 2062958733
- Sigstore integration time:
-
Permalink:
xixifast/agent-spec-vault@878d11ec6e4d3b1168a83f62ee7cfa76052db0be -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/xixifast
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@878d11ec6e4d3b1168a83f62ee7cfa76052db0be -
Trigger Event:
push
-
Statement type:
File details
Details for the file agent_spec_vault-0.1.1-py3-none-any.whl.
File metadata
- Download URL: agent_spec_vault-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
181f0656f25fed4d68cf8c5eda46d5aa2b935789e5c01afc0506d3b479b36100
|
|
| MD5 |
d3124e1a21d168ee0817a750f306e616
|
|
| BLAKE2b-256 |
322f6b3a586fced12b1868187aa2c9ff3f385085c42eff88163769e32fc43f88
|
Provenance
The following attestation bundles were made for agent_spec_vault-0.1.1-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on xixifast/agent-spec-vault
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agent_spec_vault-0.1.1-py3-none-any.whl -
Subject digest:
181f0656f25fed4d68cf8c5eda46d5aa2b935789e5c01afc0506d3b479b36100 - Sigstore transparency entry: 2062958786
- Sigstore integration time:
-
Permalink:
xixifast/agent-spec-vault@878d11ec6e4d3b1168a83f62ee7cfa76052db0be -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/xixifast
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@878d11ec6e4d3b1168a83f62ee7cfa76052db0be -
Trigger Event:
push
-
Statement type: