Skip to content

Documentation infrastructure

Docs that stop
going stale.

Every release quietly breaks a page somewhere. Docsmith watches your repositories, finds the documentation a change just invalidated, and writes the update for you to review — with the sentence it thinks is wrong quoted back at you, so you can check it in four seconds.

Free plan
30 syncs
per month
Setup
4 min
median
Card
None
required

A real sequence, on a loop: a commit lands, the retries guide is reached, the affected lines are marked, the draft is written.

01The problem

Nobody writes bad docs.
They write correct docs,
and then time passes.

We took 1,180 real changes from 42 repositories that keep their documentation next to their code, and measured the gap between the commit that made a page wrong and the edit that fixed it.

The median gap was 47 days. Eleven per cent were never fixed — someone eventually deleted the page instead. And only 18% of wrong pages had anyone file an issue about them first, which means the volume of complaints about a docs set tells you about its traffic, not its accuracy.

What predicts decay is not age or length. It is how many concrete, checkable values a page states.

Days to first wrong claim, by values stated
Values statedMedian daysShare of pages
0–2412
31%
3–7148
38%
8–1561
22%
16+29
9%
A value is a literal, symbol, header, flag, path or numeric limit appearing in prose or a code sample. A concept page with none of them can sit untouched for years. The reference page beside it has a half-life measured in weeks.
The usual answer
A quarterly docs audit
Finds the page eleven weeks after the reader did, and only on the pages someone thought to check.
The other usual answer
A checklist item in the PR template
Depends on the person who changed the constant knowing that a page three directories away describes it.
What Docsmith does
Flags it on the commit
The page enters a review queue while the person who changed the code still remembers why.
02How it works

Four steps, and you only touch the last one.

Docsmith never merges anything. It does the finding and the writing; the judgement stays with the person who owns the page.

  1. Connect

    Install the GitHub app and nominate the paths that hold your documentation. Docsmith indexes every page and records the concrete values each one commits to.

    one-time · 4 min

  2. Watch

    Every push is read against that index. Four in five commits are dropped at triage — a lockfile bump cannot invalidate a sentence — before anything expensive runs.

    continuous

  3. Detect

    When a change reaches a page, the affected passages are identified and quoted. A finding whose quote is not verbatim on the page is discarded, not softened.

    4–9 s per page

  4. Draft

    The page is rewritten in its own voice, changing only what the evidence requires. It arrives as a review with a diff, or as a pull request if you want one.

    you approve

03Run it now

Give it a change and a page.

This is the product, not a recording. Pick an example or paste your own diff and your own Markdown. It posts to the same engine the dashboard uses, and nothing you type is stored.

A unified diff, or just the before and after.

Markdown or MDX. The page the change might have invalidated.

Output

Two numbers changed and one option was renamed. The guide still teaches the old behaviour, and its code sample no longer compiles.

  • Affected passages, each quoted from the page
  • The reasoning that got there
  • A complete redraft of the page
  • A unified diff you could commit

Everything in the two panels is editable. Paste one of your own changes and one of your own pages — nothing is stored.

no run yet

public demo · rate limited

04What it does

Built to be believed, not just used.

Evidence

Every finding quotes the page

A finding must carry the passage it claims is wrong, verbatim. Before you ever see it, the quote is located in the page that was submitted. If it is not there, the finding is dropped — and the reasoning panel tells you how many were dropped, so the filter is visible rather than silent.

breakingDefaults94%

By default the client makes up to 5 attempts and waits a fixed 200 ms between them.

DEFAULT_ATTEMPTS moved from 5 to 3 and the fixed delay was replaced by exponential backoff from 250 ms.

quote located on the page

Model routing

Every step goes to the cheapest model that can do it

Triage on a fast model, drafting on a frontier one. If a provider cannot answer, the next candidate takes the step.

Triage
fast
Detect
balanced
Rank
balanced
Draft
frontier
See the routing table →

Restraint

Most commits are dropped before a model sees them

81%

of pushes stop at triage. A dependency bump, a formatting pass, a rename inside a private helper — none of them can make a sentence wrong, and none of them cost you a sync.

Drafts

The smallest correct edit, in the page’s own voice

No reorganising, no “this page was updated” note, no tone drift. It changes what the evidence requires and leaves the rest of the sentence alone.

12By default the client makes up to 5 attempts and
13waits a fixed 200 ms between them.
12+By default the client makes up to 3 attempts and
13+backs off exponentially from 250 ms, capped at 8 s.
14
15## Turning retries off

Wherever the docs live

In the repository, in a wiki, or behind a CMS

Markdown and MDX work out of the box. The rest connect through their APIs, and the sync API works anywhere at all.

  • Markdown and MDX in-repo
  • Docusaurus
  • Mintlify
  • Notion
  • Confluence
  • ReadMe
05Built AI native

This product could not
exist five years ago.

Deciding that a paragraph written eight months ago is now wrong — because a default changed three files away, in a language the writer does not use — is a reasoning problem. It is not a regular expression, and every team that has tried to solve it with a linter has ended up with a linter nobody runs.

So the model is the engine, not a feature bolted to the side. Which is exactly why we refuse to be married to one: every step of a sync routes independently, and a step whose model cannot answer falls through to the next candidate rather than failing.

What we do not do is trust it. The model proposes; a mechanical check verifies. Every quote is looked up in the page before it is shown, because an instruction is a hope and a check is a guarantee.

Measured on 1,180 changes

False positives
Pages flagged that did not need changing.
6.1%
False negatives
Pages that needed changing and were missed.
9.2%
Quotes dropped
Findings discarded because the quote was not on the page.
14.8%
Median sync
One page against one change, end to end.
6.4 s

The corpus is frozen between releases and every routing change is scored against it before it ships. We would rather publish the number than claim it does not happen.

06From the people using it

We had 340 pages and no idea which of them were lying. The first sync flagged nineteen, and seventeen of those were genuinely wrong. I had been telling myself the docs were mostly fine.

Elena MarshStaff Engineer, Northbeam Systems
  • Evidence you can verify

    The part that changed my mind was the quote. It does not say a page is stale, it shows me the sentence and the commit that made it wrong. I can check it in four seconds.

    Wole Adeyemi · Head of Developer Experience, Tessellate
  • Review flow on a shared docs set

    Our docs are edited by twelve people and owned by none of them. A review queue that arrives with the diff already written is the only reason they get updated at all now.

    Hanna Ruiz · Engineering Manager, Palisade Data
07Pricing

One price, in dollars, cancel whenever.

The free plan is the whole product at a small volume, not a fourteen-day clock. If your docs set is small you may never need to pay us, which is fine.

Free

One repository, no card

$0forever

30 syncs / month

  • 1 repository
  • 25 documentation pages watched
  • 30 syncs per month
  • Staleness detection with cited evidence
  • Every quote verified against your page
  • Full draft rewrites, not summaries
  • Unified diff for every draft
  • The reasoning behind every verdict
  • Model-agnostic routing, same engine as paid
  • 30 days of sync history
  • Community support

For one engineer or writer who wants to see whether the drafts hold up.

Team

most teams

The plan most teams buy

$59per month

Unlimited repositories

  • Everything in Free
  • Unlimited repositories
  • 2,000 documentation pages watched
  • 1,500 syncs per month
  • Review flow: assign, comment, approve
  • Open drafts as pull requests
  • Slack and email notifications
  • One year of sync history
  • Email support, one business day

For a team whose documentation is edited by more than one person.

Business

For larger engineering organisations

$149per month

SSO, audit log, priority queue

  • Everything in Team
  • SAML single sign-on and SCIM
  • 25,000 documentation pages watched
  • 15,000 syncs per month
  • Priority queue on release days
  • Immutable audit log, exportable
  • Unlimited history retention
  • Custom data-retention window
  • Named support contact and a 99.9% SLA

For organisations with a security review and more than one docs site.

Prices are in US dollars, billed monthly, cancel any time. Sales tax is added where it applies. The Free plan is genuinely free and needs no card.

08Questions

The ones we
actually get asked.

Anything not here, write to us. A person replies within one business day.

Get started

Find out what your docs are lying about.

Connect one repository and run thirty syncs a month, free and without a card. If nothing on your docs set is stale, you will know that too — which is worth something on its own.