Markdown in, stunning docs out. No JavaScript toolchain, no config. ⭐ Star us on GitHub

stardust check

Scan your content for broken internal links, links to missing heading anchors, missing images, orphaned sidebar entries, and duplicate page paths — before you deploy. Exits non-zero when errors are found, so it drops straight into CI.

bash
stardust check

Example output:

❌ docs/guide.md: broken link -> /instalation (did you mean /installation?)
❌ docs/api.md: link to missing anchor -> /config/theme#colours
❌ docs/media.md: missing image -> /images/example.png
⚠️  stardust.yaml: sidebar entry "old-page" in group "Guides" has no matching page

3 error(s), 1 warning(s)

What it checks

Check Severity
Internal link to a page that does not exist (with a "did you mean" suggestion) error
Link to a heading anchor that does not exist on the target page error
Site-absolute image (/images/…) with no file under the assets directory error
Two source files producing the same page path error
Sidebar entry whose slug has no matching page warning

External links (http, mailto:, tel:), protocol-relative URLs, and links or images inside code blocks are ignored.

Excluding a page

Pages whose links are intentionally illustrative — component demos, generated API stubs — can opt out with check: false in their frontmatter:

yaml
---
title: Cards
check: false
---

The page is still indexed as a link target (links pointing to it are validated), but its own links, anchors, and images are skipped.

Options

Option Description Default
-c, --config Path to config file stardust.yaml

In CI

stardust check exits 1 when any error is found (warnings alone exit 0), so add it as a step before your build:

yaml
- run: stardust check
- run: stardust build
2 min readLast updated 2026-07-26Samuel Abada