Everything your docs need,one command away.
Every Blume project ships with a command line that scaffolds, previews, builds, validates, audits, evaluates, and translates your docs. Fast by default, scriptable in CI, and built to work with your coding agents.
npx blume initFrom a blank folder to a live site.No starter to clone, no pipeline to assemble.
blume init asks a few questions and scaffolds a complete project — content folder, config, and scripts. No starter repo to clone, nothing to keep in sync with upstream.
- Interactive by default,
--yesin CI - Four templates: docs, api, sdk, and changelog
- Next steps tailored to your package manager
blume dev regenerates the runtime on every change and hot-reloads before you've switched windows. Search, theming, and OG images all work in dev, exactly as they will in production.
- Hot reload for content, config, and components
- Include drafts and unpublished content with
--preview - Verbose
--debuglogging when something's off
blume build renders the whole site, static or server, and wires up the sitemap, robots.txt, redirects, and search index. It fails on errors by default, so a broken page never ships quietly.
- Deploy to Vercel, Netlify, Cloudflare, or Node
--analyzeprints client bundles, largest first--budget-jsand--budget-cssfail builds over budget
blume preview serves the last build locally, so you can click through exactly what ships before it deploys.
- Serves the output of your last
blume build --hostand--portbind it where you need it- Refuses to start until there's a build to serve
Catch it before your readers do.Links, types, and config, checked before you ship.
- Every link, checked.
blume validatechecks every link, anchor, and asset in your content, and--strictfails CI on warnings too.- Types, checked.
blume checkrunsastro checkover your pages, and--strictfails on content diagnostics too.- A diagnosis in one pass.
blume doctorchecks your Node version, config, pages, server features, and the packages and secrets your config needs, all without a build.- Verify while dev keeps running.
--isolatedbuilds and type-checks in a throwaway.blume-verify/runtime, leaving your dev server anddist/untouched.
Audit everything you ship.Findings name the file that fixes them, not just the URL.
- Findings that name the fix.
- Because Blume built the site, a finding on one of your pages points at its source file, and at the frontmatter line when the key is there to fix, not just the URL a crawler saw.
- A CI gate you control.
- Fail on errors by default and tighten to warnings when you're ready;
--urlalso probes a live deployment for what only the real server can tell you. - Cleared by your agent.
- Hand the report to Codex or Claude Code: it fixes each finding at the source, rebuilds, and re-audits until the report comes back clean.
Docs that prove they can answer.A test suite for your documentation.
- Fresh eyes, enforced.
- The reader answers in an empty directory with its file, shell, and web tools off, so it sees your docs only through the same MCP search a real agent would.
- Graded against your facts.
- Every question lists the facts a correct answer must state, and a judge grades each answer against them. Paraphrase passes; contradiction fails.
- Fixed by your agent.
--fixhands the failures to Codex or Claude Code, which adds the missing facts in the page's own voice and reruns the eval until it passes.
blume eval
4 questions · Codex
install-node-version, passed
1.00custom-domain, passed
0.92deploy-vercel, failed
Missing: deployment: vercel() from blume/deploy
0.40search-providers
skipped
fixcontent/docs/deployment.mdx
2 passed · 1 failed · 1 skipped · 1m 42s · $0.64
Docs in every language.Translated by the agent you already have.
- Only what drifted.
- A committed ledger stamps every translation with the source revision it came from, so editing one page retranslates one page per locale.
- Structure survives.
- The agent only translates text. Blume rebuilds frontmatter from the source, keeps code blocks intact, and writes every file itself.
- Drift fails CI.
blume translate --checkexits non-zero the moment a source page outruns its translations, so drift surfaces in the pull request.
blume translate
4 locales · Codex
| Page | de | hi | ja | pt |
|---|---|---|---|---|
| quickstart.mdx | Up to date | Was out of date, now retranslated | Was out of date, now retranslated | Up to date |
| deployment.mdx | Up to date | Up to date | Up to date | Up to date |
| configuration.mdx | Up to date | Up to date | Up to date | Up to date |
| faq.mdx | Up to date | Up to date | Up to date | Was missing, now translated |
Stale
Missing
Up to date
Built to grow with you.Version it, sync it, extend it, or take it with you.
- Versions, cut in one command.
blume versioncopies the current docs into a frozen snapshot, rewrites its links, and registers it, so readers can switch between releases.- Remote content, refreshed.
blume syncre-fetches remote content sources and regenerates, and--forcedrops the cached snapshot first.- Components you own.
blume addcopies a component's source into your project, so it's yours to restyle and extend.- Take it with you.
blume ejectpromotes the whole runtime into a standalone Astro app you own outright. No lock-in, ever.
Your docs, gated in CI.Checks that fail the job, not your readers.
- Builds fail loudly.
blume buildexits non-zero on error diagnostics by default, so a page that fails validation fails the job instead of quietly dropping out.- Links stay whole.
blume validate --strictchecks every link, anchor, and asset, and treats warnings as errors.- SEO holds the line.
blume audit --fail-on warninggates on the severity you choose; the default holds the line at errors.- Locales stay current.
blume translate --checkreads the ledger without writing anything and exits 1 the moment a locale drifts.
.github/workflows/docs.yml
name: Docs
on: pull_request
jobs:
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
with:
node-version: 22
- run: npm ci
- run: npx blume build
- run: npx blume validate --strict
- run: npx blume audit --fail-on warning
- run: npx blume translate --checkEvery command.Every flag documented in the CLI reference.
blume initScaffold a project, interactive by default.
blume devStart the dev server with hot reload.
blume buildBuild the static (or server) site.
blume previewPreview the last build.
blume addInstall a source component from the registry.
blume syncRe-fetch remote content sources and regenerate.
blume ejectPromote the runtime into a standalone Astro app.
blume checkType-check the site with astro check.
blume doctorDiagnose config and content problems.
blume validateValidate links across your content.
blume auditAudit the built site for SEO and health issues.
blume evalTest the docs: an agent answers your questions using only the documentation.
blume translateTranslate docs into the configured locales with a local agent CLI.
blume versionFreeze the current docs as an archived version.
blume migrateMove a site from another docs framework, with your agent.
blume upgradeMove to a new major, or hand the upgrade to your agent.
Upgrade your docs with Blume.
Install today and ship a production-grade docs site in minutes. Free and open source, forever.
npx blume init