The Exclusion Zone
for Markdown Documentation.
High-performance, engine-agnostic, and security-hardened static analysis.
Pain Point
Documentation drift is silent. Teams usually see it after deployment.
1 ❱ # Deploy
2 │
3 │ ```bash
1 ❱ # Welcome
2 │
3 │ See the [intro page](./intro.md) for details.
1 │ # Welcome
2 │
3 ❱ See the [intro page](./intro.md) for details.
│ ^^^^^^^^^^^^^^^^^^^^^^^^
4 │
5 │ 
3 │ See the [intro page](./intro.md) for details.
4 │
5 ❱ 
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6 │
7 │ This project was migrated from **OldPlatform** in Q1 2026.
5 │ 
6 │
7 ❱ This project was migrated from **OldPlatform** in Q1 2026.
│ ^^^^^^^^^^^Reporter & Credentials
Zenzic in Action CI gate blocks regressions before merge.
Every finding is pinned to file, line, and source. Structured output for human eyes and machine parsing alike.
Gutter reporter
Each error shows the exact offending source line with gutter context. No scrolling through logs to find what broke.
credential scanner
Scans every line - including fenced <code>bash</code> and <code>yaml</code> blocks - for leaked credentials. Exit code <code>2</code> is reserved exclusively for security events.
Severity summary
Every run ends with a compact summary. You know immediately whether the check failed hard or only emitted warnings.
The Zenzic Engineering Ledger
Three invariants enforced on every commit. No exceptions. No shortcuts.
These are not aspirations — they are gates. Every release of Zenzic ships only when all three pass.
Zero Assumptions at System Boundaries
Every public entry point validates its inputs at the boundary. Internal hot paths carry no defensive checks — the shape is guaranteed by the type system, enforced by mypy --strict on every merge.
# Docusaurus project
uvx zenzic check all .
# Outcome
# exit 0 -> no blocking findings
# exit 1 -> quality gate blocks mergeSubprocess-Free Analysis
Production-grade tools do not shell out during analysis. No subprocess.run(), no os.system() inside per-item loops. Zenzic validates your documentation stack without executing it.
# MkDocs project
uvx zenzic check all .
# Same gate semantics as Docusaurus
# deterministic findings, same exit codesDeterministic Dependency Graph
Every dependency is pinned in a lockfile, audited by Dependabot, and scanned for SPDX licence compatibility. No transitive surprises at release time. uv lock and reuse lint run on every commit.
# Zensical project
uvx zenzic check all .
# Output is machine-readable and human-readable
# for CI and local reviewStandalone Markdown Repositories
Runs on repositories without a framework-specific adapter by validating Markdown files and internal references directly.
# Plain Markdown repository
uvx zenzic check all docs/
# Use in CI, pre-commit, or local checks
# without changing repository structureGet Started
From zero to documentation integrity in one command.
No configuration required. No account needed. Works on any Markdown project.
# run the documentation quality gate
# exit 0: no blocking findings
# exit 1: quality gate blocks merge
Enterprise
Enterprise Governance & Scoring
Track suppression debt, enforce quality policies, and govern documentation health across teams and repositories.
Health Metrics
Quality Score Deterministic health check, per commit.
Track a deterministic score in CI to block regressions. A holistic, elegant view of your documentation health.
zenzic score --saveGovernance
Suppression CAP — Live Preview
When active suppressions exceed the configured CAP, zenzic-action writes this summary directly to the GitHub Actions job panel. No log diving required.
CAP exceeded — exit 1
CAP within limit — exit 0