Bootstrap and maintain a Fumadocs-powered MDX documentation system with agent skills, reusable templates, and validation.
Project description
agent-docs-kit
Generic documentation system for agent-assisted projects.
agent-docs-kit bootstraps a Fumadocs + MDX documentation app, project-local scaffolding scripts, reusable MDX templates, and agent skills for Codex, Claude Code, Copilot, Cursor, Gemini CLI, or a generic agent directory.
agent-docs-kit is skills-first. It installs SKILL.md workflow skills into the
target project instead of installing slash-command prompt files.
The model follows the same separation that makes tools like Spec Kit scale:
- CLI: install and manage the documentation system.
- Project infra: keep config, templates, scripts, and validation inside the repo.
- Agent skills: handle day-to-day authoring workflows.
- Fumadocs: render and organize the docs site.
The CLI is a small Python bootstrapper so it can be run with uvx without
requiring Node in the source package. The generated documentation app is still
Node/Fumadocs: after init, previewing, type-checking, and building docs happens
inside the generated docs/ app with npm.
Install
One-time usage:
uvx agent-docs-kit init
Persistent install:
uv tool install agent-docs-kit
agent-docs-kit init
The PyPI distribution is named agent-docs-kit because living-docs is blocked
by PyPI's project-name similarity checks. It still installs both CLI commands:
agent-docs-kit and living-docs.
agent-docs-kit init is interactive in a terminal:
? Target project [.]:
? Docs directory [docs]:
? Agent integrations
1. codex - Codex (default)
2. claude - Claude Code
3. copilot - GitHub Copilot
4. cursor - Cursor
5. gemini - Gemini CLI
6. generic - Generic
Enter names or numbers separated by commas, or 'all'.
Selection [codex]:
? Style [atlas]:
? Overwrite existing managed files if needed? [y/N]:
Use explicit flags for scripts or CI:
agent-docs-kit init . --integration codex
agent-docs-kit init . --integration codex --integration claude --integration copilot
agent-docs-kit init . --integration codex --integration cursor --integration gemini
agent-docs-kit init . --integration codex --docs-dir docs --style atlas --yes
The starter uses the atlas style by default:
agent-docs-kit init . --style atlas --interactive
agent-docs-kit styles
Supported Agent Platforms
living-docs installs the same workflow skills into the best available
instruction surface for each agent. Native skill platforms get direct skill
folders; other agents get portable SKILL.md workflow files plus a project
context file that points to them.
| Integration | Context file | Workflow files |
|---|---|---|
codex |
AGENTS.md |
.agents/skills/living-docs-* |
claude |
CLAUDE.md |
.claude/skills/living-docs-* |
copilot |
.github/copilot-instructions.md |
.github/skills/living-docs-* |
cursor |
.cursor/rules/living-docs.mdc |
.living-docs/skills/living-docs-* |
gemini |
GEMINI.md |
.living-docs/skills/living-docs-* |
generic |
.living-docs/AGENT_CONTEXT.md |
.living-docs/skills/living-docs-* |
You can repeat --integration to install several surfaces in one project.
cursor, gemini, and generic share .living-docs/skills, so a project can
support multiple agents without duplicating the portable workflow files.
User Paths
There is one bootstrap path: install the CLI, then run agent-docs-kit init or
living-docs init in the target project. The project-local skills are generated
during init.
<project>/.living-docs/
<project>/docs/
<project>/.agents/skills/living-docs-* # Codex integration
<project>/.claude/skills/living-docs-* # Claude integration
<project>/.github/skills/living-docs-* # Copilot integration
<project>/.cursor/rules/living-docs.mdc # Cursor integration
<project>/GEMINI.md # Gemini CLI integration
<project>/.living-docs/skills/living-docs-* # Portable workflows
The per-project workflow skills live in the CLI assets under
src/living_docs_cli/assets/workflow-skills/ and are copied into each target
project during init, so they can use that project's
.living-docs/config.json, templates, scripts, and context file. There is no
separate global living-docs helper skill.
What Init Creates
.living-docs/
config.json
templates/
architecture.mdx
change.mdx
plan.mdx
glossary.mdx
scripts/
create-doc.mjs
glossary.mjs
check.mjs
docs/
app/
components/
content/docs/
lib/
package.json
source.config.ts
.agents/skills/ # codex integration
.claude/skills/ # claude integration
.github/skills/ # copilot skills mode
.cursor/rules/living-docs.mdc # cursor integration
GEMINI.md # gemini integration
.living-docs/skills/ # portable workflow skills
AGENTS.md / CLAUDE.md / ... # managed living-docs context block
The managed context block is bounded by:
<!-- LIVING-DOCS START -->
...
<!-- LIVING-DOCS END -->
Re-running init replaces only that block and preserves surrounding project instructions.
Day-to-Day Workflow
Use generated skills from your agent:
living-docs-writefor routing a general docs request to the right workflowliving-docs-architecturefor current architecture docsliving-docs-changefor shipped change recordsliving-docs-planfor future design plansliving-docs-glossaryafter terms changeliving-docs-checkbefore committing docs changes
The skills call project-local scripts:
node .living-docs/scripts/create-doc.mjs change api auth-flow "Auth Flow Update"
node .living-docs/scripts/glossary.mjs
node .living-docs/scripts/check.mjs
MDX Components
living-docs ships reusable MDX components in the generated Fumadocs app. Use
them directly in .mdx pages:
<ArchMap
tiers={[
{
title: 'Entry points',
boxes: [
{ title: 'Web app', body: 'User-facing route.', tone: 'blue' },
{ title: 'API', body: 'Server boundary.', tone: 'green' },
],
},
]}
/>
<FlowSteps
title="Request flow"
steps={[
{ title: 'Receive input', body: 'Validate payload.', tone: 'blue' },
{ title: 'Run service', body: 'Execute domain action.', tone: 'green' },
{ title: 'Return result', body: 'Send status and telemetry.', tone: 'amber' },
]}
/>
<StateFlow
title="Lifecycle"
states={[
{ name: 'draft', description: 'Work in progress.', tone: 'amber' },
{ name: 'active', description: 'Current runtime truth.', tone: 'green' },
]}
/>
The generated docs include /docs/components with copyable examples. Use
mermaid for complex sequence diagrams, branches, or graphs that do not fit the
built-in components.
The global CLI can also validate the project:
agent-docs-kit check
Run the Docs Site
cd docs
npm install
npm run dev -- --port 3333
Fumadocs reads MDX from docs/content/docs.
Publish to PyPI
Releases are published from GitHub Actions with PyPI Trusted Publishing. This avoids long-lived PyPI API tokens in the repository or on a local machine.
One-time PyPI setup for a new package:
- Open https://pypi.org/manage/account/publishing/.
- Add a pending GitHub Actions publisher with:
- PyPI project name:
agent-docs-kit - Owner:
wuyuxiangX - Repository name:
agent-docs-kit - Workflow filename:
publish.yml - Environment name:
pypi
- PyPI project name:
After that, publish a release by tagging the commit:
git tag -a v2.1.0 -m v2.1.0
git push origin v2.1.0
The workflow builds the Python package with uv build and uploads the
distribution files to PyPI.
Authoring Contract
- MDX is the source of truth.
- Architecture pages describe current state.
- Change pages are immutable records of shipped changes.
- Plan pages describe future intent.
- Glossary pages are generated from frontmatter
terms. - Architecture and change pages should include
<ArchMap />or mermaid diagrams. - Validation must pass before treating docs work as complete.
CLI
agent-docs-kit init
agent-docs-kit init [target] [--integration codex|claude|copilot|cursor|gemini|generic] [--docs-dir docs] [--force] [--yes]
agent-docs-kit init . --style atlas --interactive
agent-docs-kit check
agent-docs-kit skills
agent-docs-kit styles
agent-docs-kit version
agent-docs-kit self check
License
MIT
Project details
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_docs_kit-2.1.0.tar.gz.
File metadata
- Download URL: agent_docs_kit-2.1.0.tar.gz
- Upload date:
- Size: 28.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd1d8c399c97092a1721cbe33c4485bb55948fac2aa59d82fbee77dea9a3f14e
|
|
| MD5 |
ef8778c2a4ee3a351543cab7a70595d2
|
|
| BLAKE2b-256 |
877ccd71a5197eb00e51f75abe4fa0d3d5a48d72abaa753e3146a7524edf538b
|
Provenance
The following attestation bundles were made for agent_docs_kit-2.1.0.tar.gz:
Publisher:
publish.yml on wuyuxiangX/agent-docs-kit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agent_docs_kit-2.1.0.tar.gz -
Subject digest:
dd1d8c399c97092a1721cbe33c4485bb55948fac2aa59d82fbee77dea9a3f14e - Sigstore transparency entry: 1861273224
- Sigstore integration time:
-
Permalink:
wuyuxiangX/agent-docs-kit@450177a8957303b1932e5d46d6783084f8bfd2c6 -
Branch / Tag:
refs/tags/v2.1.0 - Owner: https://github.com/wuyuxiangX
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@450177a8957303b1932e5d46d6783084f8bfd2c6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file agent_docs_kit-2.1.0-py3-none-any.whl.
File metadata
- Download URL: agent_docs_kit-2.1.0-py3-none-any.whl
- Upload date:
- Size: 42.1 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 |
22172b0b0018d8eb3bd4a1e404842d5dfcad7a0a3fb152e48f3e222161b5057a
|
|
| MD5 |
fdb828e3ecc4e5a6f6b6f9b2beb12717
|
|
| BLAKE2b-256 |
4e78ba9d0fcec3d821a1bc027119a2364f80baab450baf0f3ca8bfa6746e4df0
|
Provenance
The following attestation bundles were made for agent_docs_kit-2.1.0-py3-none-any.whl:
Publisher:
publish.yml on wuyuxiangX/agent-docs-kit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agent_docs_kit-2.1.0-py3-none-any.whl -
Subject digest:
22172b0b0018d8eb3bd4a1e404842d5dfcad7a0a3fb152e48f3e222161b5057a - Sigstore transparency entry: 1861273364
- Sigstore integration time:
-
Permalink:
wuyuxiangX/agent-docs-kit@450177a8957303b1932e5d46d6783084f8bfd2c6 -
Branch / Tag:
refs/tags/v2.1.0 - Owner: https://github.com/wuyuxiangX
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@450177a8957303b1932e5d46d6783084f8bfd2c6 -
Trigger Event:
push
-
Statement type: