AI-powered documentation agent: auto-generates and maintains README & wiki on every commit
Project description
docwright
AI-powered documentation agent that watches your commits and keeps README and wiki pages up to date automatically.
How It Works
Developer commits / pushes
│
▼
CI runs docwright
│
├─ First run?
│ └─ Generates all docs from scratch via LLM
│
└─ Already initialized?
├─ No relevant changes → skips (fast)
└─ Relevant changes → updates only affected AUTO sections
│
▼
Direct commit OR Pull Request (configurable)
The agent only rewrites <!-- AUTO:section --> blocks. Anything you write manually stays untouched.
Quick Start
Install into any repository:
pip install docwright
docwright install
This asks two questions (AI provider, commit mode) and creates:
.docwright/docwright.yml— configMakefiletargets:make docs,make docs-sync- CI workflow (GitHub Actions or GitLab CI)
Then generate docs for the first time:
make docs
After that, docs update automatically on every push.
CLI Commands
| Command | Description |
|---|---|
docwright install |
Bootstrap a repository (interactive or --auto) |
docwright init |
Generate all documents from scratch |
docwright run |
Update changed sections based on latest diff |
docwright sync |
Force re-sync all AUTO sections |
docwright dashboard |
Terminal table of all registered projects |
docwright report |
Generate static HTML status report |
Configuration
.docwright/docwright.yml:
provider:
type: claude # claude | openai | ollama
model: claude-opus-4-7
api_key_env: ANTHROPIC_API_KEY
output:
mode: direct # direct | pull_request
triggers:
paths:
- "src/**"
- "app/**"
ignore:
- "tests/**"
documents:
- type: readme
template: readme/default
target: README.md
- type: wiki
template: wiki/architecture
target: docs/wiki/architecture.md
Supported Providers
| Provider | When to use |
|---|---|
| Claude (Anthropic) | Best output quality |
| OpenAI (GPT-4o) | Alternative if you have OpenAI keys |
| Ollama | Local model, no external API — for private projects |
Document Templates
Built-in templates cover the full documentation surface:
| Template | AUTO sections |
|---|---|
readme/default |
overview, getting_started, architecture, api, development |
wiki/architecture |
overview, components, data_flow, dependencies |
wiki/api-contracts |
endpoints, authentication, error_codes |
wiki/development-guide |
setup, testing, code_style |
wiki/operations |
deployment, monitoring, runbooks, incident_response |
wiki/data-model |
entities, business_rules, relationships |
wiki/db-schema |
tables, indexes, migrations |
wiki/integrations |
external_services, auth_credentials, data_exchange |
wiki/security |
access_model, sensitive_data, requirements |
wiki/troubleshooting |
common_issues, diagnostics, known_limitations |
wiki/adr |
recent_decisions, decision_index |
Custom templates go in .docwright/templates/ inside your repository.
AUTO / MANUAL Sections
# README
<!-- AUTO:overview -->
This section is managed by docwright.
<!-- /AUTO:overview -->
<!-- MANUAL -->
## Contributing
Write whatever you want here — docwright never touches MANUAL blocks.
<!-- /MANUAL -->
Central Registry
After docwright init, the project is registered in a central registry.yml. View all projects:
docwright dashboard # terminal table
docwright report # HTML page at docwright-report.html
Development
poetry install
poetry run pytest # 46 tests
poetry run ruff check . # lint
poetry run mypy docwright # type check
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 docwright-0.1.3.tar.gz.
File metadata
- Download URL: docwright-0.1.3.tar.gz
- Upload date:
- Size: 16.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ee58ca364901cd2417c58f1c8f00bc926ce72e6f91742b33ffbf0ba263cead1
|
|
| MD5 |
f31802f088f2d035c12b1b6f16ebb993
|
|
| BLAKE2b-256 |
2e1720711cbc475281f9f3a1f8522ea6a9711a34db492c483770ec133ab006a5
|
Provenance
The following attestation bundles were made for docwright-0.1.3.tar.gz:
Publisher:
publish.yml on GotlibArtem/docwright
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
docwright-0.1.3.tar.gz -
Subject digest:
0ee58ca364901cd2417c58f1c8f00bc926ce72e6f91742b33ffbf0ba263cead1 - Sigstore transparency entry: 1535979275
- Sigstore integration time:
-
Permalink:
GotlibArtem/docwright@c083c0e6c669f3da7febd6af94dcf07c072265a6 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/GotlibArtem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c083c0e6c669f3da7febd6af94dcf07c072265a6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file docwright-0.1.3-py3-none-any.whl.
File metadata
- Download URL: docwright-0.1.3-py3-none-any.whl
- Upload date:
- Size: 26.0 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 |
636791a0ddf81e631ceebd5a4dcdb79d335f8faadfedbff6216c03782d11af21
|
|
| MD5 |
c34727188836b855a437c42f7f621c44
|
|
| BLAKE2b-256 |
1bc991892cc850370037d7c0cbd4ba84af4daa79771fb32e768bf49368e0b7dd
|
Provenance
The following attestation bundles were made for docwright-0.1.3-py3-none-any.whl:
Publisher:
publish.yml on GotlibArtem/docwright
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
docwright-0.1.3-py3-none-any.whl -
Subject digest:
636791a0ddf81e631ceebd5a4dcdb79d335f8faadfedbff6216c03782d11af21 - Sigstore transparency entry: 1535979405
- Sigstore integration time:
-
Permalink:
GotlibArtem/docwright@c083c0e6c669f3da7febd6af94dcf07c072265a6 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/GotlibArtem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c083c0e6c669f3da7febd6af94dcf07c072265a6 -
Trigger Event:
push
-
Statement type: