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 mission is MIT-licensed and open sourced.
What’s Blume?
Blume is a command-line device paired with a part library for docs. It reads a folder of Markdown or MDX information. From that folder, it produces a production-grade documentation website. That output ships navigation, search, theming, and Open Graph photographs. Configuration stays non-obligatory and is added one file at a time. The code is a TypeScript monorepo; the revealed package deal 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 mission. First, the CLI masses blume.config.ts and scans your content material right into a graph. Subsequent, it writes an Astro mission right into a .blume/ listing. Astro then renders each web page via a single catch-all route. That route imports Blume’s shipped elements, the generated information, and your overrides. On every run, .blume/ regenerates, and solely modified information are rewritten. Because of this, scorching reload stays quick throughout modifying. The core theme ships no consumer framework JavaScript. Consequently, pages rating nicely on Core Net Vitals by default. Once you want full management, blume eject promotes the runtime right into a standalone Astro app. That ejected mission nonetheless depends upon the blume package deal.
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 a neighborhood 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 complete lifecycle past these fundamentals:
| Command | Objective |
|---|---|
blume init |
Scaffold a mission, 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 part from the registry |
blume sync |
Re-fetch distant content material sources |
blume eject |
Promote the runtime right into a standalone Astro app |
blume validate |
Test inner, 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 if you append .md to its URL. A single flag emits llms.txt and llms-full.txt for brokers. Every web page may be copied as Markdown or opened in ChatGPT, Claude, or v0. An non-obligatory in-page Ask AI assistant solutions reader questions instantly. It runs on the AI SDK via the Vercel AI Gateway, OpenRouter, Inkeep, or any OpenAI-compatible endpoint. Blume may also host a Mannequin Context Protocol (MCP) server. By 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 by way of 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 world viewers, add translated information per locale. Blume helps 36 locales, locale-aware routing, and right-to-left layouts. For blended content material, mix native information with distant MDX, Notion, or Sanity. All sources render via the identical elements.
How Blume Compares
For context, right here is Blume in opposition to three frequent documentation approaches. Options change shortly, so confirm present particulars earlier than you undertake.
| Dimension | Blume | Mintlify | Docusaurus | Astro Starlight |
|---|---|---|---|---|
| Sort | 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 mission + 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 Net Vitals.
- Constructed-in AI surfaces:
llms.txt, per-page Markdown, MCP server, and Ask AI. - Sort-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 continues 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 at the moment.
Key Takeaways
- Blume turns a Markdown folder right into a manufacturing docs website with zero config.
- It drives a hidden Astro and Vite mission and might eject to standalone Astro.
- AI options ship in-built:
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 embrace Quiver, transferring from Mintlify, and Neon’s add-mcp docs.
Try the GitHub Repo. Additionally, be at liberty to comply with us on Twitter and don’t neglect to hitch our 150k+ML SubReddit and Subscribe to our E-newsletter. Wait! are you on telegram? now you may be part of us on telegram as nicely.
Must associate with us for selling your GitHub Repo OR Hugging Face Web page OR Product Launch OR Webinar and so forth.? Join with us
