blume
GitHub基于Astro和Vite的Markdown优先文档框架,支持零配置快速建站、本地搜索及AI就绪功能。用于脚手架初始化、内容编写、配置调整及构建部署。
触发场景
安装
npx skills add haydenbleasel/blume --skill blume -g -y
SKILL.md
Frontmatter
{
"name": "blume",
"description": "Build and maintain documentation sites with Blume, the markdown-first docs framework on Astro and Vite. Use when working in a project that depends on `blume`, when scaffolding or configuring a docs site, writing Markdown\/MDX content, tuning navigation\/search\/theming\/SEO\/AI features, running the `blume` CLI (init, dev, build, eject), or editing `blume.config.ts` and `meta.ts` files."
}
Blume
Blume is an open-source, markdown-first documentation framework built on Astro and Vite. Drop Markdown or MDX into a folder, run blume dev, and get a production-grade docs site — navigation, search, theming, Open Graph images, and a rich component library — with no app boilerplate to write or maintain.
The core idea: the framework is the template. There's no starter to clone and no project to own before you've written a word. The only thing you touch is your content. When you outgrow the defaults, you add configuration one file at a time — and you can blume eject to a plain Astro project the day you want full control.
What makes it different
- Fast by default — Static HTML on Astro/Vite. The core theme ships no client framework JS so pages score well on Core Web Vitals out of the box. You opt into server features only when you need them.
- AI-ready out of the box — Emits
llms.txt/llms-full.txt, serves any page's raw Markdown by appending.mdto its URL, publishes a JSON docs API (/api/docs/…) described by an OpenAPI document at/openapi.json, offers Copy as Markdown and Open in chat on every page, and can host an optional Ask AI assistant or an MCP server so coding agents read your docs directly. - Zero configuration — even the template — A folder of docs is a complete project. Navigation is inferred from files, search works in dev and production with no hosted service, and theming is a handful of tokens.
- Type-safe to the core —
blume.config.tsand everymeta.tsare real TypeScript, validated by a schema and authored withdefineConfiganddefineMeta. Your editor autocompletes options and catches mistakes before a build.
Quickstart
Blume needs Node.js 22.12 or newer. From an empty or existing project:
npm i blume # install the package
blume init # scaffold: docs/index.mdx + blume.config.ts
blume dev # dev server with hot reload
blume build # static HTML to dist/, with a local search index
Blume works with any package manager and never requires you to set up Astro or Tailwind yourself.
Writing a page
Every page is Markdown or MDX with a little frontmatter. The title and description render as the page heading and intro automatically; built-in components (callouts, cards, tabs, steps, and more) need no imports.
---
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.
:::
Navigation, search, and page metadata are inferred from your files as you add them.
What's included
- Components — callouts, cards, steps, tabs, accordions, badges, file trees, and parameter tables, usable in MDX with no imports.
- Local search — Orama in dev and production; Pagefind is one flag away for large sites. No hosted index.
- AI —
llms.txt, raw Markdown URLs, a JSON docs API with an OpenAPI description, Copy as Markdown, Open in chat, an Ask AI assistant, and an MCP server endpoint served by the docs site itself. - Navigation — inferred from files, refined with
meta.tsor config. - SEO — metadata, Open Graph images, RSS feeds, and JSON-LD.
- Customization — component overrides, React islands, custom pages, theme tokens, and a source-component registry via
blume add. - Eject —
blume ejectproduces a standalone Astro project that still uses theblumepackage.
How it works
The Blume CLI discovers your content, builds a content graph, and generates a hidden Astro project under .blume/ that it drives for dev and build. The generated runtime is an implementation detail — you write Markdown, Blume handles the rest — until you choose to eject and own it.
Full documentation
This is a high-level overview. For complete, authoritative docs — configuration reference, every CLI command and flag, component APIs, content authoring, navigation, search, SEO, AI features, theming, and deployment — read the docs/ directory bundled inside the installed blume package.
Locate the package first — it is not always at the repository root. In a workspace monorepo (pnpm especially), blume is installed in the depending workspace's node_modules (e.g. apps/docs/node_modules/blume/docs), not the root. From the package that depends on blume, this prints the exact location:
node -e "console.log(require.resolve('blume/package.json'))"
The docs sit in docs/ next to that package.json. Start with docs/index.mdx (Introduction) and docs/01-quickstart.mdx, then browse the configuration/, content/, reference/, and advanced/ sections for specifics.
版本历史
-
b3d59c7
当前 2026-09-08 20:38
新增 JSON 文档 REST API 端点(页面索引、单页数据、导航)及 OpenAPI 规范描述;优化 MCP 服务器实现以共享底层逻辑;支持 RFC 9457 错误格式及 404 JSON 响应。
-
2d525de
2026-08-02 22:19
修复在pnpm工作区中无法正确解析内置文档路径的问题,改为通过require.resolve定位包内docs目录。
- 725b0ab 2026-07-19 08:55


