Docs that don't lie.

docproof runs the code blocks in your markdown files and tells you which ones fail. No more Getting Started guides that stopped working three releases ago.

$ npx @ipseeta/docproof
docproof · zsh
$ docproof README.md

README.md
  ✓ L14 [bash] 12ms
  ✓ L31 [ts] 44ms
  ✗ L52 [bash] exit 127
      docproof: command not found: my-cli
      suggested fix: install the package first: `npm i -g my-cli`
  - L70 [bash] skipped

2 passed · 1 failed · 1 skipped · 2 not runnable
How it works

What it does

Point it at a file, or let it scan the repo.

01Extract

Finds fenced bash, js, and ts blocks in your .md files, tracking file and line number.

02Run

Executes each block in a throwaway temp workspace. Blocks in the same file share it, so setup steps carry forward. TypeScript is transpiled on the fly.

03Report

A pass/fail listing with stderr and exit codes, or --json. Exits non-zero when something fails, so you can run it in CI.

04Suggest

With --suggest, failing blocks are sent to Claude, which replies with a corrected block and a short explanation. Needs an API key; off by default.

Directives

Skipping blocks on purpose

Install commands, snippets that need credentials, destructive examples. Mark them and docproof reports them as skipped instead of failed.

Fence token

```bash skip
npm install -g some-tool
```

Comment directive

<!-- docproof:skip -->
```js
await client.chargeCreditCard();
```