UTF8DOK is a universal documentation platform that provides:
-
Compliance Engine: Validates Architecture Decision Records (ADRs) against the Bridge Framework
-
Content Intelligence: Diagram syntax highlighting and writing quality suggestions
-
Developer Experience: VS Code extension with real-time feedback
-
CI/CD Integration: Automated compliance checks for pull requests
Download the latest release for your platform:
# Linux (x64)
curl -LO https://github.com/utf8dok/utf8dok/releases/latest/download/utf8dok-linux-x64
chmod +x utf8dok-linux-x64
sudo mv utf8dok-linux-x64 /usr/local/bin/utf8dok
# macOS (Apple Silicon)
curl -LO https://github.com/utf8dok/utf8dok/releases/latest/download/utf8dok-macos-arm64
chmod +x utf8dok-macos-arm64
sudo mv utf8dok-macos-arm64 /usr/local/bin/utf8dok
# macOS (Intel)
curl -LO https://github.com/utf8dok/utf8dok/releases/latest/download/utf8dok-macos-x64
chmod +x utf8dok-macos-x64
sudo mv utf8dok-macos-x64 /usr/local/bin/utf8dokUse utf8dok init to scaffold a new documentation workspace:
# Create a Bridge Framework project (ADR-focused)
utf8dok init my-docs
# Or create a basic AsciiDoc project
utf8dok init my-docs --template basicThis creates:
my-docs/
├── utf8dok.toml # Configuration
├── index.adoc # Documentation hub
└── adr/ # ADR directory (Bridge only)
└── 0001-record-architecture-decisions.adoc
cd my-docs
utf8dok auditExpected output:
utf8dok v0.1.0 Auditing: . Found 2 documents === Compliance Report === Score: 100% Documents: 2 Errors: 0 Warnings: 0 Info: 0 ✓ No compliance violations found
Scaffold a new documentation workspace.
utf8dok init <path> [OPTIONS]
Arguments:
<path> Path for the new workspace
Options:
-t, --template <TEMPLATE> Template to use [default: bridge]
Possible values: bridge, basicCreates an ADR-focused workspace with:
-
utf8dok.tomlwith Bridge compliance rules -
index.adoclinking to ADRs -
Sample ADR with all required sections
Check documentation compliance for CI/CD pipelines.
utf8dok audit [OPTIONS] [INPUT]
Arguments:
[INPUT] Input directory [default: .]
Options:
-f, --format <FORMAT> Output format [default: text]
Possible values: text, json, markdown
--strict Exit with error if violations found
-c, --config <CONFIG> Configuration file pathGenerate an HTML compliance dashboard.
utf8dok dashboard [OPTIONS] [INPUT]
Arguments:
[INPUT] Input directory [default: .]
Options:
-o, --output <OUTPUT> Output file [default: compliance-dashboard.html]
-c, --config <CONFIG> Configuration file pathValidate a single AsciiDoc file.
utf8dok check <input> [OPTIONS]
Arguments:
<input> Input AsciiDoc file
Options:
-f, --format <FORMAT> Output format [default: text]
Possible values: text, json
-p, --plugin <PLUGIN> Rhai plugin script for custom rulesExtract AsciiDoc from a DOCX file.
utf8dok extract <input> [OPTIONS]
Arguments:
<input> Input DOCX file
Options:
-o, --output <OUTPUT> Output directory [default: output]
--force-parse Force parsing even if embedded source existsUTF8DOK is configured via utf8dok.toml.
[workspace]
root = "." # Documentation root directory
entry_points = ["index.adoc", "README.adoc"] # Entry point documents[compliance.bridge]
orphans = "error" # Documents must be reachable
superseded_status = "error" # Superseded ADRs need correct status
missing_status = "warning" # Warn if :status: is missing
missing_date = "warning" # Warn if :date: is missingSeverity levels:
-
error- Fails CI/CD in strict mode -
warning- Reported but doesn’t fail -
info- Informational only -
off- Disabled
An Architecture Decision Record (ADR) documents a significant architectural decision. Each ADR includes:
-
Unique identifier (e.g.,
adr-0001) -
Status (Proposed, Accepted, Deprecated, Superseded)
-
Context explaining why the decision is needed
-
The decision itself
-
Consequences (positive and negative)
[[adr-0001]] = ADR 0001: Use PostgreSQL for Persistence :status: Accepted :date: 2025-01-15
Optional attributes:
-
:relates-to:- Links to related ADRs (e.g.,adr-0002, adr-0003) -
:supersedes:- The ADR this one replaces (e.g.,adr-0000)
-
Proposed: Under discussion
-
Accepted: Decision made and implemented
-
Deprecated: No longer relevant
-
Superseded: Replaced by another ADR (use
:supersedes:)
-
Real-time validation: See compliance issues as you type
-
Quick fixes: One-click fixes for common problems
-
Diagram preview: Syntax highlighting for Mermaid, PlantUML
-
Compliance dashboard: View workspace-wide status
The status bar shows:
-
✓ Ready - All documents compliant
-
⚠ 3 issues - Warnings/errors found
-
⏳ Loading - Analyzing workspace
Click the status bar to open the compliance dashboard.
Ensure the binary is in your PATH:
which utf8dok
# Should output: /usr/local/bin/utf8dok (or similar)Check your utf8dok.toml syntax:
cat utf8dok.toml | head -20
# Look for missing quotes or brackets-
Check the Output panel (View → Output)
-
Select "UTF8DOK" from the dropdown
-
Look for error messages
= Document Title
:toc: left
:author: Your Name
== Section
Paragraph text.
=== Subsection
More text.// Define an anchor
[[my-section]]
== My Section
// Reference it
See <<my-section>> for details.
// Reference another file
See <<other-file.adoc#,Other Document>>.