Hayden Bleasel, an knowledgeable developer from OpenAI, launched Blume, an open-source documentation framework. Blume shipped to npm as model 1.0.3 the identical day. It is so simple as Drop Markdown right into a folder and ship a docs website. No app boilerplate is written or maintained afterward. The challenge is MIT-licensed and open sourced.
What’s Blume?
Blume is a command-line device paired with a element library for docs. It reads a folder of Markdown or MDX recordsdata. From that folder, it produces a production-grade documentation website. That output ships navigation, search, theming, and Open Graph photographs. Configuration stays optionally available and is added one file at a time. The code is a TypeScript monorepo; the revealed bundle sits at packages/blume. Blume’s personal documentation, underneath apps/docs, is constructed with Blume itself. It requires Node.js 22.12 or newer. It runs with Bun, pnpm, npm, or yarn.
How Blume Works?
Underneath the floor, Blume generates and drives a hidden Astro challenge. First, the CLI hundreds blume.config.ts and scans your content material right into a graph. Subsequent, it writes an Astro challenge right into a .blume/ listing. Astro then renders each web page by way of a single catch-all route. That route imports Blume’s shipped elements, the generated knowledge, and your overrides. On every run, .blume/ regenerates, and solely modified recordsdata are rewritten. Because of this, scorching reload stays quick throughout enhancing. The core theme ships no consumer framework JavaScript. Consequently, pages rating properly on Core Internet Vitals by default. Whenever you want full management, blume eject promotes the runtime right into a standalone Astro app. That ejected challenge nonetheless will depend on the blume bundle.
Getting Began
Setup takes a single command, so onboarding is brief.
Afterward, blume dev begins a hot-reloading server. In the meantime, blume construct writes static HTML and an area search index into dist/. The config file is actual TypeScript, validated by a schema.
// blume.config.ts
import { defineConfig } from "blume";
export default defineConfig({
content material: {
sources: [
{ type: "filesystem", root: "docs" },
{ type: "notion", database: process.env.NOTION_DB },
],
},
});
As a result of the config is typed, editors catch errors earlier than a construct runs. The CLI covers the total lifecycle past these fundamentals:
| Command | Objective |
|---|---|
blume init |
Scaffold a challenge, interactive by default |
blume dev |
Begin the dev server with scorching reload |
blume construct |
Construct the static or server website |
blume add |
Set up a supply element from the registry |
blume sync |
Re-fetch distant content material sources |
blume eject |
Promote the runtime right into a standalone Astro app |
blume validate |
Verify inside, anchor, asset, and exterior hyperlinks |
blume physician |
Diagnose config and content material issues |
AI-Prepared by Design
Past human readers, Blume targets brokers too. Each web page returns uncooked Markdown whenever you append .md to its URL. A single flag emits llms.txt and llms-full.txt for brokers. Every web page might be copied as Markdown or opened in ChatGPT, Claude, or v0. An optionally available in-page Ask AI assistant solutions reader questions instantly. It runs on the AI SDK by way of the Vercel AI Gateway, OpenRouter, Inkeep, or any OpenAI-compatible endpoint. Blume also can host a Mannequin Context Protocol (MCP) server. Via it, Claude Code, Cursor, and VS Code learn docs instantly.
claude mcp add --transport http your-docs https://docs.instance.com/mcp
That server exposes 4 read-only instruments: search_docs, get_page, list_pages, and get_navigation.
Use Circumstances With Examples
These capabilities map to concrete jobs. For an API product, drop in an OpenAPI or AsyncAPI spec. Blume then renders an interactive reference with schemas, auth, and a request playground through Scalar. For a library, level Blume at your GitHub Releases. Every launch rolls up right into a generated changelog timeline with an RSS feed. For a worldwide viewers, add translated recordsdata per locale. Blume helps 36 locales, locale-aware routing, and right-to-left layouts. For combined content material, mix native recordsdata with distant MDX, Notion, or Sanity. All sources render by way of the identical elements.
How Blume Compares
For context, right here is Blume towards three frequent documentation approaches. Options change rapidly, so confirm present particulars earlier than you undertake.
| Dimension | Blume | Mintlify | Docusaurus | Astro Starlight |
|---|---|---|---|---|
| Kind | Open-source CLI + framework | Hosted business platform | Open-source SSG | Open-source Astro theme |
| License | MIT, free | Proprietary; paid Professional tier | MIT, free | MIT, free |
| Setup | Zero-config Markdown folder | Config-driven, managed | Scaffold + React config | Astro challenge + theme |
| Engine | Hidden Astro + Vite | Proprietary hosted | React | Astro |
| Core-theme consumer JS | None (static HTML) | — | React runtime | Minimal (islands) |
llms.txt / llms-full.txt |
Constructed-in flag | Auto-generated | Group plugin | Group plugin |
| Constructed-in MCP server | Sure (4 read-only instruments) | Sure (auto-hosted) | Not built-in | Not built-in |
| Eject path | Standalone Astro app | Not relevant (hosted) | — | Already Astro |
Strengths and Weaknesses
Strengths
- Zero-config begin: a folder of Markdown turns into a full website.
- Static-first output ships no core consumer JS, aiding Core Internet Vitals.
- Constructed-in AI surfaces:
llms.txt, per-page Markdown, MCP server, and Ask AI. - Kind-safe config, so editors flag errors earlier than a construct runs.
- Eject path to a standalone Astro app reduces long-term lock-in.
Weaknesses
- Model 1.0.3 is new, so the ecosystem remains to be younger.
- It wants Node.js 22.12 or newer, which some environments lack.
- Request-time options like Ask AI and MCP want a server adapter.
- The self-hosted mannequin means you personal analytics and assistant wiring.
- It has fewer third-party integrations than mature hosted platforms as we speak.
Key Takeaways
- Blume turns a Markdown folder right into a manufacturing docs website with zero config.
- It drives a hidden Astro and Vite challenge and might eject to standalone Astro.
- AI options ship inbuilt:
llms.txt, per-page Markdown, and an MCP server. - It’s MIT-licensed, wants Node.js 22.12+, and reached npm v1.0.3 on launch day.
- Early adopters embody Quiver, shifting from Mintlify, and Neon’s add-mcp docs.
Take a look at the GitHub Repo. Additionally, be at liberty to observe us on Twitter and don’t neglect to hitch our 150k+ML SubReddit and Subscribe to our Publication. Wait! are you on telegram? now you’ll be able to be a part of us on telegram as properly.
Have to associate with us for selling your GitHub Repo OR Hugging Face Web page OR Product Launch OR Webinar and many others.? Join with us









