Product

Run your code samples. Surface the real bugs.

DocsAlive is a docs CI. It treats every example in your documentation as a test, runs it against the version you ship, and tells you exactly which ones a customer would trip over.

docsalive · Project A · a popular open-source Python HTTP client

4 likely docs bugs in Project A

204 code blocks across 24 pages, run against the current release.

204code blocks
186executed or checked
65passed as written
4likely docs bugs
extensions.md:156api-drift
parameter `extensions` is not accepted by the current API
TypeError: get() got an unexpected keyword argument 'extensions'
extensions.md:174api-drift
transports.md:180invalid-syntax
quickstart.md:118stale-output

Everything else that failed was triaged as not a docs bug (missing context, needs credentials, network) and left out of the check.

Real output from DocsAlive v0.2.1 on a popular open-source Python HTTP client, run October 19, 2026. Project, package and path names are redacted until we have reported the findings to the maintainers. The Check, Finding and CLI views are unedited engine output. The Fix PR view shows a fix our team wrote and the engine verified. It has not been submitted upstream.

Executes, not just lints

A linter can tell you a snippet parses. Only running it tells you the API still behaves the way the page says. DocsAlive runs each block the way a reader would, in page order, with the page's own install steps.

  • Python scripts and interactive >>> sessions, with documented output compared to real output
  • JavaScript (CommonJS and ESM, top-level await) and simple TypeScript
  • Shell and console blocks, with $ prompts and output lines told apart
  • curl commands and raw HTTP request blocks
  • JSON and TOML validated. Configuration fragments are syntax-checked, not executed
results on Project A
OutcomeBlocks
Passed as written65
Ran, output differs10
Failed (all reasons)111
Skipped with a reason18
Likely docs bugs4

How 204 blocks became 4 findings

Project A, every category except passing blocks

CategoryBlocksDocs bug?
depends-on-context70no
runtime-error17review
missing-install-step10no
output-block10no
output-differs9no
missing-fixture5no
network-external5review
not-executable3no
fragment3no
api-drift2yes
needs-credentials2no
invalid-syntax1yes
stale-output1yes
timeout1review

Triage that filters noise

Most docs snippets aren't meant to run on their own. They reference a variable from three paragraphs up, need an API key, or call a live service. Reporting all of that as "broken" is how docs tests get switched off.

DocsAlive puts every result into one of 24 categories and only escalates the ones a reader would actually hit: removed imports, renamed parameters, invalid syntax and outdated output. On our small hand-labeled sample (40 findings, 7 real bugs), precision is 100.0%. Results on your docs may differ.

All finding categories →

Fixes as draft pull requests

For each real docs bug, DocsAlive proposes the smallest change that makes the example work again. It re-runs the fixed example in the sandbox and opens a draft PR with the evidence attached.

  • Before/after sandbox output in the PR description
  • One PR per page, so each change is easy to review
  • Designed not to merge. A maintainer reviews and merges every change
  • Bring your own model provider, or turn fix drafting off entirely
transports.md
Before: SyntaxError: invalid syntax. Perhaps you forgot a comma?
After: parses and runs

Real finding on Project A (names redacted). Fix shown for illustration and not yet submitted upstream.

And the rest of the workflow

Fits where your docs already live.

OpenAPI checks

Finds OpenAPI specs in your repo and checks every $ref resolves. On Project B: 68 operations, 87 examples, 0 broken references.

GitHub checks

A check run on each pull request with line-level annotations. It is set to neutral when failures aren't docs bugs, so noise alone shouldn't block a merge.

Release & nightly runs

Re-test docs when you tag a release, and nightly to catch drift in the third-party packages your examples install.

Docs health badge

An SVG badge for your README or docs site that shows passing or failing for the latest run.

Framework-aware

Understands MkDocs, Mintlify, Docusaurus, ReadMe exports and plain Markdown/MDX, including tabbed code groups.

Portable reports

Every run produces a Markdown summary and a JSON report you can archive, diff or feed into your own tooling.

See it on your own docs.

The free Docs Health Check runs the same engine on a public repository.