AI Docs Toolkit
AI Docs Toolkit is a documentation toolkit for AI-assisted software development.
It treats documentation as an engineering interface between humans, AI agents, code, tests and change management. It provides versioned CLI and MCP tools, reusable agent instructions and project-owned documentation workflows.
Purpose
The toolkit is intended for projects where:
- AI agents participate in implementation;
- system knowledge must stay readable for humans and usable by automation;
- documentation should define constraints, expected behavior and validation rules;
- changes should be traceable across business rules, architecture, contracts, modules, acceptance criteria and code.
The core idea is that documentation should not be a secondary artifact created after implementation. It should guide implementation, validation and review.
Current Status
Version 0.7.0 includes:
- schema and structure validation for Markdown documents with YAML front matter;
- document graph output;
- impact analysis with linked test cases and changed-path discovery coverage;
- optional saved review evidence and the read-only
ai-docs review-checkcommand; - an optional convention for documentation links beside key code;
- the opt-in
ai-docs code-links-checkcommand for Python comment paths and primary IDs; - optional document-owned Python/xUnit reference checks with explicit native execution;
- test-evidence review connecting requirements to assertions and proportionate sensitivity checks;
- context bundle output;
- an executable
ai-docsCLI; - optional local MCP runtime entrypoint.
- opt-in workspace impact analysis through CLI and MCP, with explicit manifests, repository-scoped IDs, public event interfaces and visible partial results.
Read-only GitLab work context
Version 0.6.0 adds explicit ai-docs external-work capture/show/resume/review
commands with named connections, owner-qualified document bodies, immutable
local snapshots and durable SQLite request budgets/cooldown. It does not write
to trackers or change existing local planning/Azure/workspace behavior. Opt-in
requires a separate YAML configuration and runtime credentials. See the packaged
.ai-docs/reference/external-work.md after ai-docs init for scope and limits.
Installation
Install version 0.7.0 with Python 3.14 or newer:
python -m pip install ai-docs-toolkit==0.7.0
ai-docs --version
For ephemeral execution with uvx:
uvx --python 3.14 --from ai-docs-toolkit==0.7.0 ai-docs --version
For the optional local MCP runtime:
python -m pip install "ai-docs-toolkit[mcp]==0.7.0"
ai-docs-mcp --project-root .
For the latest stable release, use python -m pip install --upgrade ai-docs-toolkit
without an exact version pin.
Release 0.7.0
ai-docs test-evidence-check resolves exact file/selector references from an optional
test_evidence block in test-case documents. Python uses AST without imports; xUnit
v3 builds/discovers only explicitly selected trusted projects after owner restore.
Unavailable evidence never passes. Many-to-many links and explicit coverage gaps
are supported; unmapped methods are reported for review. The command checks identity,
not assertions, test execution or semantic completeness. Ordinary validation remains
non-executing; no automatic CI adoption occurs.
Upgrade from0.6.1, review ai-docs init --dry-run with the existing profile and
refresh unchanged managed files without blanket force. Agent profiles add the
test-evidence.md reference and refresh documentation review guidance. Minimal
profiles need no managed content refresh. Preserve owner documents, local rules,
IDs and prior evidence. Exact commands, limitations and rollback are in “Migration
0.6.1 To0.7.0” in the packaged ai_docs_toolkit/docs/agent-installation.md.
Release 0.6.1
CLI and MCP validation share faster safe YAML parsing, an AST cache for Python test references and a path-resolution cache scoped to each validation call. Files and symlinks are read again on the next call; concurrent validations keep separate caches. LibYAML is optional, and malformed YAML retains the previous SafeLoader diagnostics. Public commands, JSON, rules and configuration are unchanged.
No project-data or managed-file migration is required from 0.6.0. Upgrade the
package, keep the MCP extra when used, restart long-lived MCP servers, then run
ai-docs --version, ai-docs validate --json, ai-docs doctor --format json
and ai-docs init --check. Preserve project checks and historical review evidence.
Exact commands and rollback are in “Migration 0.6.0 To 0.6.1” in the packaged
ai_docs_toolkit/docs/agent-installation.md.
Release 0.5.1
Changed-path routing treats only Markdown (.md, case insensitive) inside
configured roots as document candidates. Other files use explicit module
ownership even within those roots. Local changed context now uses the same
ownership declarations, preserving every matching module and changed path.
Broken or deleted Markdown retains diagnostics; it cannot fall back to an owner.
Unmapped paths remain visible. CLI names, config and JSON shapes are unchanged.
Upgrade the pinned package to 0.5.1, review ai-docs init --dry-run and refresh
known unchanged managed references using ordinary ai-docs init. Preserve local
policies, IDs, links and historical review evidence; do not use blanket force.
Run validation and repeat the actual changed-path review, including mixed roots.
Detailed commands and rollback: “Migration 0.5.0 To 0.5.1” in packaged agent docs.
Release 0.5.0
ai-docs workspace impact --workspace ./ai-docs.workspace.yaml --input ./change.yaml --format json
analyzes explicitly connected independent repositories. Stable repository IDs
namespace document IDs; a system repository owns public event contracts and
producer/consumer roles, while local bindings select implementation modules.
Modules may be nested within a repository. Cross-repository related.* links
and inferred dependency discovery are not required.
The MCP tool is registered only when the server starts with --workspace;
ordinary local commands retain their scope. JSON v1 preserves candidates,
provenance and diagnostics when a checkout, binding or interface version is
missing. A partial result is not a clean review, and resolved routing does not
prove sufficient context or implementation compatibility.
Upgrading from 0.4.2 refreshes four managed workspace schemas and the consumer
reference in both minimal and agent profiles. Review init --dry-run and
init --check with the existing profile, reconcile local modifications, then
run ordinary init without blanket --force. Project documents, IDs, local
policy and configuration remain project-owned. Repository IDs, manifests and
bindings require manual opt-in; init does not discover neighboring repositories.
Exact commands and rollback are in “Migration 0.4.2 To 0.5.0” in the packaged
ai_docs_toolkit/docs/agent-installation.md.
Verification includes installed CLI/MCP and upgrade matrices plus a bounded HAM documentation evaluation. Its accepted result retains native-format validation findings; it is not a full HAM migration or service runtime check.
Release 0.4.2
The package now declares the MIT license in its metadata and includes the full license text in source and wheel distributions. Repository and package guidance reflects the current release and planning state. CLI behavior, schemas, templates, configuration and MCP surfaces are unchanged from 0.4.1. Source builds without build isolation require setuptools 77 or newer for SPDX license metadata; normal isolated builds install the declared requirement.
No consumer data or managed-file migration is required. After upgrading, verify
the version, run ai-docs validate --json, and retain independent project checks.
The packaged ai_docs_toolkit/docs/agent-installation.md contains the complete
0.4.1 to 0.4.2 upgrade instructions.
Release 0.4.1
Impact now includes test cases explicitly linked to a module, including modules
selected from changed code through cascade.module_ownership. Both incoming
related.modules and outgoing related.test_cases links work. Test cases remain
terminal review candidates; output fields and exit codes are unchanged.
No schema, configuration or managed-template content migration is required from
0.4.0. Upgrade the package, reconnect MCP clients, rerun impact discovery and
review newly included candidates before reusing saved evidence. Preserve project
files, IDs, local rules and historical review rounds. See “Migration 0.4.0 To 0.4.1”
in ai_docs_toolkit/docs/agent-installation.md for commands and rollback.
Release 0.4.0
ai-docs code-links-check FILE... --format json checks documentation paths and
primary IDs in real Python comments without importing code or changing files.
Explicit files, repository boundaries and unverified inputs remain visible;
strings/docstrings are ignored and links remain optional. Semantic agreement
between documentation, comments, implementation and tests still requires review.
The command does not add a gate to ordinary validation or new graph edges.
After upgrading from 0.3.3, inspect init --check and --dry-run, then refresh the
existing authoring reference with init. Preserve local rules, project documents
and review history; no schema or bulk annotation migration is required. Minimal
profile needs no reference refresh. See “Migration 0.3.3 To 0.4.0” in the packaged
ai_docs_toolkit/docs/agent-installation.md for commands, checks and rollback.
Release 0.3.3
Documentation change review now traces material requirements to test inputs and specific assertions. Review depth depends on impact and uncertainty; a concrete risk of masked violations calls for a focused check within existing authority. For a deliberate weakening, verify that the test fails for the intended reason against the altered code. Preserve limitations and historical evidence. The code-link convention points to this rule. No universal mutation-testing requirement, CLI/schema change or mandatory CI gate is introduced.
After upgrading from 0.3.2, inspect ai-docs init --check and --dry-run, reconcile
local policy and run ai-docs init to refresh two existing agent references:
documentation change review and documentation cascade authoring. Existing project
files and AGENTS.md are preserved. Minimal-profile consumers need no reference
refresh; managed provenance records the new version. Verify validation, doctor,
init state and project-specific checks. See “Migration 0.3.2 To 0.3.3” in the
packaged ai_docs_toolkit/docs/agent-installation.md for commands and rollback.
Release 0.3.2
An optional comment convention links key operations and structures to their documentation through a short explanation, document ID and a path from the Git repository root. Documentation remains primary; file/ID checks do not prove semantic consistency or full implementation of the linked document. Review the document, comment, implementation and applicable tests before committing changes. This adds no parser, mandatory annotation or CI gate.
After upgrading from 0.3.1, inspect ai-docs init --check and --dry-run, reconcile
local policy and refresh the agent profile with ai-docs init. Two managed
references change: documentation cascade authoring and documentation change review.
Existing AGENTS.md is preserved; manually merge its optional pointer if useful.
Minimal-profile projects require no reference refresh. Preserve local rules,
project documents and historical review rounds; verify the version, validation,
doctor, init state and project checks. See “Migration 0.3.1 To 0.3.2” in the
packaged ai_docs_toolkit/docs/agent-installation.md for exact commands and rollback.
Release 0.3.1
The package installation guide now describes preserving review/evidence before
revert and verifying the restored files and environment. See
ai_docs_toolkit/docs/agent-installation.md, “Rollback Verification”.
The patch requires no managed-file refresh, schema or project-data migration
from 0.3.0. After installation, verify the version, run ai-docs validate --json,
ai-docs doctor --format json, ai-docs init --check, and the project's checks.
Preserve historical review rounds: the version change causes tool_changed
findings even when project files are unchanged. See “Migration 0.3.0 To 0.3.1”
in the packaged guide for installation and verification commands.
Release 0.3.0
Impact now reaches explicitly linked test cases from business rules, scenarios
and acceptance criteria. Test cases end traversal. Changed-mode JSON adds a
coverage object with path counts and unmapped reasons; strict JSON clients
must accept that field. Explicit-id output keeps its shape. Coverage describes
discovery and does not establish semantic completeness or successful tests.
The optional ai-docs review-check RECORD --format json command compares a
saved YAML review with current input hashes, tool identity, impact candidates
and decisions. It supports YAML files and fenced YAML in Markdown. It is
read-only; exit 0 means no mechanical discrepancy, not review approval.
Git discovery preserves literal Unicode/whitespace paths and rename/deletion
evidence. Existing CLI/MCP entrypoints and independent project gates remain.
After upgrading from 0.2.0, review ai-docs init --check and ai-docs init --dry-run, reconcile local overrides, then refresh the existing managed review
skill/reference with ai-docs init. Run project validation and representative
impact checks. No schema, id, layout or mandatory review-record migration is
required. Preserve historical review evidence; a new tool identity requires a
new reviewed round instead of silently rewriting previous evidence.
See the packaged ai_docs_toolkit/docs/agent-installation.md,
“Migration 0.2.0 To 0.3.0”, for commands, preservation rules and rollback.
Consumers on 0.1.0 must also apply the Python/archive prerequisites below.
Earlier Stable 0.2.0
Completed task files are retained as execution history. Standalone tasks are
archived after closure; tasks in a plan stay in place with status done until
the complete plan, including its stages and execution material, is archived.
Archive moves preserve task ids and update registry paths. This policy replaces
the completed-task deletion guidance from beta 16.
Python 3.14+ is now required; 0.1.0 supported Python 3.11+. Recreate older
environments before upgrading. After installation, review ai-docs init --check
and ai-docs init --dry-run, reconcile local policy, then run ai-docs init
and ai-docs validate. Refreshing instructions does not move project-owned task
files. Existing archives and retired ids remain valid; no schema migration or
restoration of deleted tasks is required.
See the packaged ai_docs_toolkit/docs/agent-installation.md,
“Migration 0.1.0 To 0.2.0”, for exact install, preservation and rollback steps.
Earlier Stable 0.1.0
This release completes the 0.1.0 beta series. Small edits and short bounded work can use sufficient session context; task records remain available when durable continuation, handoff or project policy requires them. Agent instructions are in English and were reviewed for compactness. Existing assignments carry across technical steps, and significant work includes a proportionate retrospective.
Context excludes archived history by default, supports an optional body budget and configurable traversal depth, and explains selection, exclusions and gaps. The budget is off by default; required documents remain whole on overflow. Strict JSON consumers must accept the added context metadata. CLI/MCP names and existing task/document ids are preserved.
When upgrading from 0.1.0b25, review ai-docs init --dry-run and ai-docs init --check, resolve modified managed files, then run ai-docs init. Existing
AGENTS.md, config and local policy require a deliberate merge where applicable;
keep project checks and restart MCP clients. Validate the project and inspect
representative context output. See the packaged
ai_docs_toolkit/docs/agent-installation.md, “Integrated Consumer Migration”,
for commands, preservation rules and rollback. No bulk task/schema migration is
required.
Compatibility was checked with five synthetic consumer profiles. Agent behavior was observed on one runtime; these checks do not establish universal performance improvements or real consumer pilot coverage.
Earlier Beta Changes
Beta 12 excludes Markdown documents under work_history.archive_root from
ai-docs validate checks while retaining successfully parsed archive ids for
active-document relationship resolution. Validation summaries include
archived_documents_excluded. Set work_history.archive_root: null to retain
the previous validate-all behavior.
Beta 13 updates toolkit-managed agent instructions so agents proactively report
blocking decisions, safe non-blocking defaults and implementation proposals.
Existing projects should follow the packaged
.ai-docs/templates/release/decision-visibility-beta-13.md migration note.
Beta 14 adds explicit code-to-module ownership mapping for
ai-docs impact --changed, plus --base REF support for clean CI checkouts.
Existing projects should follow the packaged
.ai-docs/templates/release/cascade-impact-beta-14.md migration note.
Beta 15 restores the toolkit update route alongside the cascade adoption route
in the managed agent-profile skill index. Existing projects should follow the
packaged .ai-docs/templates/release/routing-restoration-beta-15.md migration
note.
Beta 16 introduced pathless registry entries for retired task ids. Version 0.2.0 replaces its completed-task deletion guidance with archive retention; existing retired ids remain reserved.
Beta 17 reconciles incoming request storage under canonical
ai-docs/requests/, packages the referenced incoming request model and adds
safe migration guidance for records created under legacy docs/requests/.
Existing projects should follow the packaged
.ai-docs/templates/release/incoming-request-storage-beta-17.md migration note.
Beta 19 bounds doctor Markdown discovery to project documentation roots, skips
symlinked files and tolerates entries removed during traversal. Existing
projects should follow
.ai-docs/templates/release/doctor-filesystem-traversal-beta-19.md.
Beta 20 adds stable JSON output for ai-docs doctor, exposes the same contract
through the read-only ai_docs_doctor MCP tool and records managed-file
provenance in .ai-docs/managed-files.json. Existing projects should follow
.ai-docs/templates/release/doctor-json-provenance-beta-20.md and reconnect
long-lived MCP processes after upgrading.
Beta 21 adds the toolkit-managed documentation-change-review skill and its
normative reference contract. Existing projects should follow
.ai-docs/templates/release/documentation-change-review-beta-21.md and review
managed-file changes before refreshing the agent profile.
Beta 22 adds the toolkit-managed incoming-request-triage skill, its normative
contract and safe composition with the existing request/planning lifecycle.
Existing projects should follow
.ai-docs/templates/release/incoming-request-triage-beta-22.md and review
managed-file changes before refreshing the agent profile.
Beta 23 adds the toolkit-managed documentation-cascade-authoring skill and
its normative contract for authorized, top-down documentation changes.
Existing projects should follow
.ai-docs/templates/release/documentation-cascade-authoring-beta-23.md and
review managed-file changes before refreshing the agent profile.
Beta 24 moves the optional MCP runtime to the stable Python MCP SDK 2.x line
with dependency range mcp>=2,<3. Existing MCP tool/resource names and stdio
entrypoints remain unchanged. Consumers upgrading from beta 23 should reinstall
the MCP extra and reconnect every long-lived MCP client before verification.
Beta 25 preserves printable Unicode characters when toolkit operations rewrite
Markdown YAML front matter. Planning lifecycle commands, task registry updates
and Azure DevOps write-back no longer replace readable non-ASCII text with
\uXXXX escape sequences. No manual migration is required.
Quick Start
Bootstrap a repository for AI Docs Toolkit:
ai-docs init
ai-docs validate
For a documentation-only bootstrap without AGENTS.md:
ai-docs init --profile minimal
The command creates missing toolkit files and skips existing files by default.
Use --force only when you explicitly want to overwrite toolkit-owned target files.
Validate a configured project:
ai-docs validate
Generate machine-readable validation output:
ai-docs validate --json
Build a document graph:
ai-docs graph --format json
Analyze impact for changed files:
ai-docs impact --changed
Check optional saved review evidence:
ai-docs review-check review.yaml --format json
Check existing documentation links in selected Python files:
ai-docs code-links-check src/example.py --format json
Prepare an agent context bundle for changed files:
ai-docs context --changed
Repository Bootstrap
Repository bootstrap is an explicit command. Package installation does not modify project files.
Default agent-oriented bootstrap:
ai-docs init
Minimal bootstrap:
ai-docs init --profile minimal
The source repository may be private or unavailable to agents in consuming projects. Package usage does not require access to repository-local documentation files.
AI Agent Instructions
The package includes an agent-readable instruction document for install, update, bootstrap, validation and context commands.
Give this short instruction to an agent that can inspect installed package resources:
Install `ai-docs-toolkit`, then configure this repository by following the packaged instructions in `ai_docs_toolkit/docs/agent-installation.md`.
After installation, an agent can locate it with:
python -c "from importlib import resources; print(resources.files('ai_docs_toolkit').joinpath('docs/agent-installation.md'))"
Operators can give the prompt from that document to an AI agent when asking it to install or update the toolkit in a consuming repository.
Development
Versions 0.2.0 and later require Python 3.14+. Earlier published releases retain their original Python requirements. Recreate older environments with Python 3.14+ before upgrading.
Source checkout development install:
python -m pip install -e ".[dev]"
ai-docs --version
ai-docs validate
Current CI/source checkout install contract:
python -m pip install -e .
ai-docs validate --json
License
AI Docs Toolkit is licensed under the MIT License. The full license text is included in the package distributions.
Metadata
Release files for ai-docs-toolkit 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ai_docs_toolkit-0.7.0.tar.gz | 359.8 kB | Without provenance | Details for ai_docs_toolkit-0.7.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ai_docs_toolkit-0.7.0-py3-none-any.whl | Python 3 | none | any | Details for ai_docs_toolkit-0.7.0-py3-none-any.whl |
Total release size: 677.8 kB
Release files / ai_docs_toolkit-0.7.0.tar.gz
| Download URL | ai_docs_toolkit-0.7.0.tar.gz |
|---|---|
| Size | 359.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1c3f3041fafbf2cd128abdc285dca3ae9301b95f0e209c87178b0d7c4dd1794f
|
|
BLAKE2b-256 checksum How to use checksums |
3f54775e8c0824ec6ad7c74cc2c96b2db5b67d47bdc29f0689d76f47b43fcf64
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.14.9
|
Release files / ai_docs_toolkit-0.7.0-py3-none-any.whl
| Download URL | ai_docs_toolkit-0.7.0-py3-none-any.whl |
|---|---|
| Size | 318.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f8ce33884e97df66a3197cb6c82df7604276a30823b722d46097b989aacc6e27
|
|
BLAKE2b-256 checksum How to use checksums |
edc8d2a4e76cb786bcc016502b42274c05e3aedad35567739dcfbb3e3f8da893
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.14.9
|
Security for ai-docs-toolkit 0.7.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.