Built on the OpenCLI specification

Turn any CLI into
beautiful docs

Generate polished, interactive documentation from your CLI's OpenCLI spec. Markdown or standalone HTML. One command.

$ dotnet tool install -g OpenCli.Renderer
opencli-renderer
$ opencli-renderer render file html jellyfin.json --xmldoc jellyfin.xml
  Validating OpenCLI schema... OK
  Normalizing 47 commands, 128 options... OK
  Enriching from XML metadata... OK
  Rendering interactive HTML... OK
  ✓ Written to jellyfin-docs.html (standalone, 0 dependencies)
See it in action

Real documentation generated by OpenCLI Renderer. Click through to explore the full interactive HTML output.

Everything you need

From schema validation to interactive viewers, OpenCLI Renderer handles the full pipeline.

Markdown & HTML
Two output formats. GitHub-compatible Markdown for repos, standalone HTML for hosting.
Interactive SPA
Generated HTML is a full single-page app with client-side navigation. No server needed.
Dark & Light Theme
Theme toggle baked into every generated page. Respects system preference, persists choice.
Command Composer
An interactive panel to assemble commands visually. Resizable, with state persistence.
Tree & Single Layouts
Render a single monolithic file or a directory tree that mirrors your command hierarchy.
Schema Validation
Validates input against an embedded JSON Schema (2020-12) with detailed error messages.
XML Enrichment
Optionally merge richer descriptions from XML metadata. Additive only, never overwrites.
Zero Network Calls
Fully offline. No telemetry, no CDN, no external requests. Runs locally, writes to disk.
Three steps to docs

Install the tool, point it at your CLI, and open the result.

1
Install the tool
Available as a .NET global tool via NuGet. Requires .NET 10 SDK.
2
Render from a file
Pass your opencli.json and optional xmldoc.xml. Pick Markdown or HTML.
3
Or render from a live CLI
Use exec mode to invoke a CLI directly and capture its OpenCLI output.
# Install dotnet tool install -g OpenCli.Renderer # Render interactive HTML opencli-renderer render file html \   mycli.json --xmldoc mycli.xml \   --out docs.html # Render Markdown opencli-renderer render file markdown \   mycli.json --out docs.md
# Render directly from a running CLI opencli-renderer render exec html \   jf --with-xmldoc \   --out jellyfin-docs.html # Custom OpenCLI arguments opencli-renderer render exec markdown \   mytool --opencli-arg "cli opencli" \   --out docs.md
# Output one file per command group opencli-renderer render file html \   mycli.json \   --layout tree \   --out-dir ./docs/ # Same for Markdown opencli-renderer render file markdown \   mycli.json \   --layout tree \   --out-dir ./docs/