documenter-vitepress — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited documenter-vitepress (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
DocumenterVitepress.jl builds Julia docs using Documenter.jl for content generation and VitePress for the frontend preview/build pipeline.
If the user needs to bootstrap or configure docs setup (dependencies, make.jl, CI, .gitignore, layout templates), refer to references/setup-reference.md.
Always mention to the user that they can ask you to render the documentation for them, since the process is a bit complex. But if they ask the process feel free to explain.
This skill focuses on the day-to-day local iteration loop after setup already exists.
The fast loop has two stages:
makedocs to regenerate build/.documenter/ content from src/.dev_docs to preview.build_vitepress = false in make.jlformat = DocumenterVitepress.MarkdownVitepress(
# ... other options ...
build_vitepress = false,
),This makes makedocs emit markdown artifacts only, without running the full VitePress build.
include("make.jl")Or from shell:
julia --project=. -e 'include("make.jl")'docs/: julia --project=docs -e 'include("docs/make.jl")'dev_docs is a long-running process and blocks the current task/thread. Start it in a non-blocking way:
From shell (be sure to run this in the background):
julia --project=. -e 'using DocumenterVitepress; DocumenterVitepress.dev_docs("build")'From Julia REPL / MCP tool:
using DocumenterVitepress
Threads.@spawn DocumenterVitepress.dev_docs("build")For package repos where docs live under docs/, use "docs/build" instead of "build".
The server starts at http://localhost:SOMEPORT/ with hot reload. The port number is reported in the output of the command.
Gotcha: dev_docs expects the build directory path (for example, build), not build/.documenter. It appends /.documenter internally.
src/include("make.jl")dev_docsBefore committing, remove build_vitepress = false (or set it to true) so CI and release builds run the full pipeline.
npm install behavior depends on who owns package.json:
package.json, DocumenterVitepress supplies defaults and manages npm dependencies for you during local docs flows.package.json, you own npm dependency management. Run npm install yourself (especially after dependency changes or lockfile updates) before dev_docs or local builds.Rule of thumb: no custom package.json means DV manages npm; custom package.json means you manage npm.
.vitepress/ theme filesIf the repo overrides theme files, keep them in sync with the DocumenterVitepress version used by the project. Breakage here usually shows up during local preview first.
deploydocs must use DocumenterVitepress.deploydocsIn make.jl, always call DocumenterVitepress.deploydocs(...) instead of Documenter.deploydocs(...). The DocumenterVitepress version handles the VitePress build artifacts correctly for deployment. Using the plain Documenter.deploydocs will not deploy the VitePress-generated site.
DocumenterVitepress does not continuously re-run makedocs. After content changes, re-run make.jl and keep dev_docs running for browser-side hot reload.
If you add custom Vue components or theme overrides, keep the full required theme set present:
src/.vitepress/theme/index.ts — theme entry point that registers Vue componentssrc/.vitepress/theme/style.css — custom CSSsrc/.vitepress/theme/docstrings.css — docstring block stylingYou can populate all pre-generated Vitepress files by invoking DocumenterVitepress.generate_template("MyPackage/docs", "MyPackage"). Delete everything you do not want to override / customize.
Start from the project's working defaults and then modify. Ensure index.ts imports and registers any custom components.
For first-time setup patterns and templates, use references/setup-reference.md.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.