CLI in CI
Run lint and audit where code changes, including forked pull requests that cannot safely receive secrets.
Public npm package + MCP
Audit a repository in one command, run the same publishing rules in CI, and connect agents through a scoped MCP interface.
Try the package
Audit reads local code and Markdown, then names missing coverage, stale pages, API mismatches, and undocumented settings. Nothing leaves the machine.
View on npmnpx staleless audit .Documentation read from docs — 18 file(s), selected automatically.
Code read from sample-repository.
Documentation Health: 78/100
4 undocumented capabilities
1 stale page
0 API mismatches
2 undocumented environment variables
Next: staleless document --dry1 error(s), 1 warning(s) across 12 pages:
pages/authentication.md
ERROR [dead-link] "/tokens" does not exist
pages/webhooks.md
WARN [review-overdue] review was due 9 days ago
1 problem(s) would make the published site wrong.Read 84 files in sample-repository against 12 documentation pages.
src/teams.ts
api/teams.md
GET /teams — api/teams.md:42
guides/team-management.md
TEAMS_PAGE_SIZE — guides/team-management.md:18
2 page(s) describe something this file changed.
Coverage, not correctness: review both pages before merging.Agent access
MCP is the agent interface. API tokens are the credential. The scopes say what the tool may do before it ever makes a request.
Run lint and audit where code changes, including forked pull requests that cannot safely receive secrets.
Use STALELESS_TOKEN for checks that need server state: publish history, review dates, and current reader signals.
Let compatible tools search, read, stage edits, commit a draft, and open review without giving them publish access.
Tokens are scoped to documentation operations and obey the same workspace and site boundary as the product.
MCP configuration
Create a token in Settings, give it only the scopes it needs, and keep it in STALELESS_TOKEN. Publishing remains a human action.
{
"mcpServers": {
"staleless": {
"url": "https://mcp.staleless.com/mcp",
"headers": {
"Authorization": "Bearer ${STALELESS_TOKEN}"
}
}
}
}Create a scoped token in Staleless.
Add the hosted MCP endpoint to your client.
Inspect the diff before anything reaches readers.
Start with the docs you already have