AI-maintained docs
Docs drift because code moves and prose doesn't. Kura Curator closes the gap: a GitHub Action (persona: Mori) that, when your code changes, updates the affected pages and opens a pull request for you to review.
How it works
A page declares the code it documents, in frontmatter:
---
title: The CLI
sources: [src/cli/**]
---
When a change touches a file a page's sources: match, Mori reads the current code and that page,
edits the page to match, and proposes it as a PR. Pages with no sources: are never touched, and
nothing outside your docs directory is ever edited — the output is always a reviewable PR, never a
silent push.
Setup
Two steps. Add ANTHROPIC_API_KEY as a repository secret, then .github/workflows/curator.yml:
name: curator
on:
push:
branches: [main]
paths: ["src/**"] # the code your docs track
workflow_dispatch:
permissions:
contents: write
pull-requests: write
jobs:
curate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with: { fetch-depth: 0 }
- uses: kurajs/curator@v1
with:
anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}
docs-dir: content/docs
That's it — the built-in GITHUB_TOKEN is enough. On the next push, Mori opens a docs-only PR.
Beyond the basics
All optional, and documented in the action's README:
- Docs in a separate repo — set
docs-repoand a token that can write to it. - Ride the PR instead of opening a new one (
mode: same-pr) — for monorepos where code and docs review together. - A different engine — the default is the Claude Agent SDK; point
backend: cliat any coding-agent CLI. The grounding (sources:, MCP) is the same regardless.
Same idea as the rest of Kura: one source of truth, kept honest — for humans and agents alike.