# CLI reference Aardvark — a Mantine-powered static site generator. Author your content in Markdown and build it into a fast, fully static site: Mantine-powered interactive components, built-in client-side search, automatic Open Graph cards, and optional build-time AI enrichment. Scaffold a project with `vark new`, preview it live with `vark dev`, and produce the deployable site with `vark build`. On interactive terminals, vark quietly checks for newer releases in the background while real subcommands run, and prints an upgrade reminder only when an update is available. Run `vark update` any time for an explicit check. Run with no command to open the interactive TUI (agentic authoring + launchers). Run `vark ` (or `aardvark `) from your project root. Examples: ```bash vark new my-docs # scaffold a new site in ./my-docs cd my-docs && npm install # install the islands toolchain (needs Node) vark dev # preview at http://localhost:8000, live-reload vark build # build the static site into ./build ``` ## Commands | Command | Description | | --- | --- | | `vark new` | Scaffold a new site in PATH. | | `vark build` | Build the site to the output directory. | | `vark dev` | Serve the site locally and rebuild on change. | | `vark link-check` | Check internal links, anchors, and images across the site (a build smoke test). | | `vark convert` | Import a docs site built for another platform into an aardvark site. | | `vark ai-enrich` | Run opt-in build-time enrichment (frontmatter, examples, skills). | | `vark author` | Run agentic authoring tasks on your docs — interactively or headless. | | `vark serve` | Serve a built site (and a live MCP server) for production. | | `vark update` | Check whether a newer version of aardvark is available. | | `vark version` | Manage documentation versions (snapshot-in-tree docs versioning). | | `vark web-bot-auth-keygen` | Generate an Ed25519 keypair for Web Bot Auth. | ## `vark new PATH` Scaffold a new site in PATH. Creates PATH and fills it with starter content, a sample data file, the editable default theme under `themes/vark/`, an example snippet, and a `package.json` for the Mantine islands toolchain. Next: `cd` into PATH and run `vark dev` — when Node is available the first build sets up the islands toolchain with npm (or run `npm install` yourself up front); without Node it builds without the islands bundle. Examples: ```bash vark new my-docs # scaffold ./my-docs, then `cd my-docs` ``` ## `vark build` Build the site to the output directory. Every build prints a per-phase timing summary — how many pages and components were produced, and how long each phase (discovery, render, island bundling, …) took. The summary goes to stdout and the live `--verbose` progress to stderr, so `vark build > summary.txt` keeps the digest while progress still streams to the terminal. Conditional phases (translation, AI, OpenAPI, island bundling) appear only when they actually run. A link to a missing page or a missing local image — in any language — always fails the build (the same check `vark link-check` runs without producing output). A link to a missing `#anchor` on a page that DOES exist is warn-only by default (it still lands on the right page); set `links: {strictAnchors: true}` in config to make those fail too. Unknown component references never fail the build: each renders as an HTML comment and is reported as a warning on stderr — usually a typo, a missing `npm install`, or a snippet you haven't created yet. | Option | Default | Effect | | --- | --- | --- | | `--root DIRECTORY` | `.` | Project directory (defaults to the current directory). | | `--bundle / --no-bundle` | `--bundle` | Build the islands JS bundle. | | `--pdf / --no-pdf` | `--pdf` | Render the whole-site PDF when enabled in config (off in `vark dev`). | | `--pdf-reuse / --no-pdf-reuse` | `--pdf-reuse` | Reuse the live PDF within `pdf.reuseForDays` instead of re-rendering. --no-pdf-reuse forces a fresh render. | | `--model TEXT` | — | Override the model for AI features (a gateway model slug). | | `--translate / --no-translate` | `--no-translate` | Refresh missing + changed translations with Claude (requires AARDVARK_SECRET_KEY). | | `--retranslate-all` | off | Re-translate every page, overwriting existing translations (implies --translate). | | `--generators / --no-generators` | `--generators` | Run generation scripts in generators/ (write Markdown pages before the build). | | `-v, --verbose` | off | Stream per-phase progress as the build runs. | | `--plain / --no-plain` | auto | Force plain (or rich) output. Auto-detected off a TTY, or under CI / NO_COLOR. | Examples: ```bash vark build # build ./ into ./build vark build --no-bundle # skip the islands JS bundle (no Node needed) vark build -v # stream per-phase progress to stderr ``` ## `vark dev` Serve the site locally and rebuild on change. Builds once, serves the result, watches your sources, and live-reloads the browser on every change. Your browser opens to the site automatically when the server starts (pass `--no-open` to skip that). The per-phase timing summary prints on the first build and on every rebuild, so you can see exactly what each change cost. Generation scripts run on every rebuild; pass `--no-generators` for a fully offline loop when a generator's network call is slow or its cache is cold. | Option | Default | Effect | | --- | --- | --- | | `--root DIRECTORY` | `.` | Project directory (defaults to the current directory). | | `--port INTEGER` | `8000` | Port to serve the site on. | | `--open / --no-open` | `--open` | Open the site in your browser when the server starts. | | `--generators / --no-generators` | `--generators` | Run generation scripts on each rebuild. Pass --no-generators for a faster, fully offline dev loop when a generator makes a slow/uncached network call. | | `-v, --verbose` | off | Stream per-phase progress on every rebuild. | | `--plain` | off | Disable the live dashboard; use plain line-by-line output (also implied off a TTY or under CI / NO_COLOR). | Examples: ```bash vark dev # serve ./ at http://localhost:8000, live-reload vark dev --port 3000 # serve on a different port vark dev --no-open # don't open a browser when the server starts ``` ## `vark link-check` Check internal links, anchors, and images across the site (a build smoke test). Renders every page in memory and verifies that internal links, `#anchors`, and local images resolve, without writing HTML output — the same check `vark build` runs. Use it for a fast pass/fail in CI or a pre-commit hook. A link to a missing page or a missing local image is printed to stderr and fails (exit non-zero). A link to a missing `#anchor` on a page that DOES exist is a warning by default (still exits 0) — set `links: {strictAnchors: true}` in config to make those fail too. Generation scripts run first so generated pages are checked too; pass `--no-generators` to skip them (e.g. an offline check of a site whose generators call the network). Image checking covers Markdown images, raw `` / `srcset` / `