Skip to content
Blume
Esc
↑↓navigate↵open⌘Jpreview
On this page

Quickstart

Install Blume, scaffold a new project, and ship your first documentation page in minutes — then grow it into a full site at your own pace.

Go from an empty folder to a running docs site in a few commands. Blume needs Node.js 22.19 or newer and a docs/ folder with at least one .md or .mdx file — there’s nothing else to set up.

Install and run

Create a project

blume init asks a few questions — where to create the project, what your docs site is called, which template, and where your content lives — then scaffolds the minimum surface: a content folder, a config file, and a package.json with dev, build, and doctor scripts, plus a .gitignore that keeps node_modules/, the generated .blume/, dist/, and .env.local (where local secrets go) out of version control. It installs the dependencies with the package manager that ran it. Pass --yes to skip the prompts and take the defaults, or --no-install to only write the files.

npx blume init
pnpm dlx blume init
yarn dlx blume init
bunx blume init
nubx blume init
aube dlx blume init

On pnpm 12, add --allow-build=esbuild after pnpm dlx (pnpm dlx --allow-build=esbuild blume init): pnpm 12 refuses to run the install script of esbuild, which Astro depends on, unless you approve it. Inside an existing pnpm workspace, the new folder must be listed under the workspace’s packages (pnpm installs nothing else, so init skips the install until it is), and esbuild needs allowBuilds: { esbuild: true } in the workspace’s pnpm-workspace.yaml; init reminds you of both. With Yarn 2 or later, init writes a .yarnrc.yml that switches Yarn to a node_modules install, which Blume needs; on Yarn 1, run npx blume init.

docs/
  index.mdx
.gitignore
blume.config.ts
package.json

Start the dev server

From the project directory, Blume generates the runtime and serves your docs with hot reload.

npm run dev
pnpm run dev
yarn run dev
bun run dev
nub run dev
aube run dev

Build for production

Static HTML is written to dist/, with a local search index built over it.

npm run build
pnpm run build
yarn run build
bun run build
nub run build
aube run build

Adding Blume to a project that already has a package.json? blume init leaves existing files alone and skips the install, so install Blume yourself (npm install blume), then add "dev": "blume dev" and "build": "blume build" to its scripts, or run npx blume dev directly. The next steps init prints include both commands for your package manager.

Write your first page

Every page is Markdown or MDX with a little frontmatter — the title and description render as the page heading and intro automatically. Drop this into docs/index.mdx:

---
title: Introduction
description: Welcome to my docs.
---

Welcome! Use **Markdown** and built-in components — no imports required:

:::note
Blume ships callouts, cards, tabs, steps, and more.
:::

Save it, and the dev server reloads instantly. Navigation, search, and page metadata are inferred from your files as you add them — keep writing, and the site keeps up.

Next steps

Last updated on

Was this page helpful?