Features

Every way your docs can break. Caught automatically.

Six layers of automated docs QA — from code execution to AI analysis. Continuous monitoring with automatic fixes.

01 / Code Execution

Every code example, actually tested

zivodoc extracts every code block from your docs and executes them in isolated sandboxes. Node.js, Python, Go, Ruby, cURL — each example runs in the right environment with the right dependencies. Broken imports, deprecated APIs, and wrong output are caught before your users hit them.

  • Multi-language sandbox execution (Node.js, Python, Go, Ruby, shell)
  • Automatic dependency detection and installation
  • Output verification against documented expectations
  • Version pinning to match your documented SDK versions
  • Parallel execution for fast scan times
  • Detailed failure reports with line-level context
$ zivodoc validate --execute

Spinning up sandboxes...
  [Node.js 20]  Running 287 JavaScript examples
  [Python 3.12] Running 98 Python examples
  [cURL]        Running 38 shell examples

Results: 391/423 passed, 32 failed
  12 import errors, 8 deprecated APIs, 12 wrong output

02 / API Validation

Docs vs spec, always in sync

Point zivodoc at your OpenAPI spec and it compares every API reference in your docs against the actual definition. Required params marked optional, missing response fields, outdated schemas — all caught automatically. Works with OpenAPI 3.0, 3.1, and Swagger 2.0.

  • Compare docs against OpenAPI/Swagger specs
  • Detect parameter mismatches (required, optional, type)
  • Validate response schemas against documented examples
  • Catch missing or renamed endpoints
  • Support for OpenAPI 3.0, 3.1, and Swagger 2.0
  • Inline diff showing exactly what diverged
$ zivodoc validate --openapi spec.yaml

Comparing docs against OpenAPI spec...

  /v1/charges POST  — docs show amount as optional (spec: required)
  /v1/refunds GET   — docs missing payment_intent param
  /v1/tokens  POST  — response schema outdated (missing livemode)

Found 14 mismatches across 189 endpoints.

03 / Link Checking

Zero dead links, zero broken anchors

Every internal link, external URL, and anchor reference is validated. Pages that got renamed, sections that moved, external resources that disappeared — zivodoc finds them all. Runs fast with concurrent checks and respects rate limits on external sites.

  • Internal and external link validation
  • Anchor/fragment checking within pages
  • Redirect chain detection (301, 302)
  • Rate-limited external checks to avoid blocks
  • Concurrent checking for fast scan times
  • Grouped results by page for easy fixing
$ zivodoc check-links

Checking 2,341 links across 1,847 pages...

  BROKEN   /guides/auth.md → /api/tokens (404)
  BROKEN   /guides/webhooks.md → stripe.com/old-page (404)
  REDIRECT /api/charges.md → /v1/charges (301 chain)
  ANCHOR   /guides/errors.md#retry-logic (anchor missing)

Found 23 broken links, 8 redirect chains, 4 missing anchors.

04 / AI Analysis

Contradictions and confusion, detected

AI reads your docs the way a developer would — and flags what doesn't make sense. Pages that contradict each other, outdated version references, confusing explanations, and content that drifted from your actual codebase. Not just syntax checking — semantic understanding.

  • Cross-page contradiction detection
  • Outdated version and SDK reference flagging
  • Confusing or ambiguous content identification
  • Content drift detection against source code
  • Tone and consistency analysis
  • Suggested rewrites for flagged content
$ zivodoc detect --ai

Analyzing content for contradictions...

  [CONTRADICTION] /guides/auth.md says "tokens expire in 1h"
                  /api/tokens.md says "tokens expire in 24h"
  [STALE]         /guides/quickstart.md references SDK v2
                  Latest SDK version is v4.2.1
  [CONFUSING]     /api/errors.md — 3 different error formats shown

05 / Auto-Fix PRs

Fixes generated, PRs opened

zivodoc doesn't just report problems — it fixes them. Broken imports get corrected, stale references get updated, dead links get replaced. Each fix is a clean PR with context explaining what broke and why, ready for your team to review and merge.

  • Automatic PR generation for each category of fix
  • Clean diffs with context explaining the change
  • Grouped by severity (critical, warning, info)
  • Respects your branch naming conventions
  • Links back to the scan report for full context
  • Configurable auto-merge for low-risk fixes
$ zivodoc fix --auto-pr

Generating fixes...
  PR #142: Fix 12 broken import statements in /guides/
  PR #143: Update API response schemas to match OpenAPI spec
  PR #144: Fix dead links in /api/ (7 links)
  PR #145: Update SDK version references v2 → v4.2.1

Opened 4 PRs on your-org/your-docs. Review in your dashboard.

06 / CI Integration

One line in your CI, always watching

Add zivodoc to your CI pipeline with a single step. Runs on every push, every PR, or on a schedule. Results appear in your PR checks — broken docs block the merge, just like failing tests. Continuous monitoring means docs never drift again.

  • One-line CI setup (any provider)
  • PR check integration (pass/fail)
  • Scheduled scans (daily, weekly, on-push)
  • Results as PR comments with inline annotations
  • Dashboard for historical scan trends
  • Slack/Discord notifications for new issues
# .ci/docs-qa.yml
name: Docs QA
on: [push, pull_request]
steps:
  - name: Scan docs
    run: npx zivodoc scan
      --docs-path ./docs
      --openapi-spec ./openapi.yaml
      --auto-pr
Stop Losing Users

Your docs are your product's first impression. Make sure they work.

Connect your repo, run the first scan in under 5 minutes. Start free during early access.