Below is a newly-written article based on the provided post content, expanded with a clear structure, a dedicated FAQ section, and a concluding section.
—
## Blume: Turn a Folder of Markdown into a Production Docs Site
Hayden Bleasel, an expert developer from OpenAI, released **Blume**, an open-source documentation framework that ships as version 1.0.3 on launch day. Blume is designed to be as simple as dropping Markdown into a folder and shipping a production-grade docs site—no app boilerplate to write or maintain. It is MIT-licensed and fully open source.
### What is Blume?
Blume is a command-line tool paired with a component library for documentation. You point it at a folder containing Markdown or MDX files, and it generates a complete documentation site with navigation, search, theming, and Open Graph image support out of the box. Configuration is optional and can be added incrementally.
The project is a TypeScript monorepo, with the published package located at `packages/blume`. Blume’s own documentation is built using Blume itself, demonstrating its dogfooding approach. It requires Node.js 22.12 or newer and works with Bun, pnpm, npm, or yarn.
### How Blume Works
Under the hood, Blume spins up a hidden Astro project. The CLI loads `blume.config.ts`, scans your content into a graph, and writes an Astro project into a `.blume/` directory. Astro then renders every page through a single catch-all route, using Blume’s shipped components and generated data.
Because the `.blume/` directory regenerates on each run and only rewrites changed files, hot reload remains fast during development. The default theme does not include client framework JavaScript, which helps Core Web Vitals scores. When you need full control, `blume eject` promotes the runtime into a standalone Astro app while still depending on the `blume` package.
### Getting Started
Setting up Blume is straightforward. After installation, `blume dev` starts a hot-reloading development server, while `blume build` outputs static HTML and a local search index into `dist/`. The configuration file is written in TypeScript and validated by a schema, catching errors early.
Here is a basic example configuration:
“`ts
// blume.config.ts
import { defineConfig } from “blume”;
export default defineConfig({
content: {
sources: [
{ type: “filesystem”, root: “docs” },
{ type: “notion”, database: process.env.NOTION_DB },
],
},
});
“`
The CLI supports a range of commands:
– `blume init` — scaffold a new project interactively
– `blume dev` — start a local dev server with hot reload
– `blume build` — build for production
– `blume add` — install a source from a registry
– `blume sync` — re-fetch remote content
– `blume eject` — convert to a standalone Astro app
– `blume validate` — check links and internal issues
– `blume doctor` — diagnose config and content problems
### AI-Ready by Design
Blume is built with AI readiness in mind. Appending `.md` to a page URL returns the raw Markdown, and a single flag can generate `llms.txt` and `llms-full.txt` for agent consumption. Pages can be copied as Markdown or opened directly in ChatGPT, Claude, or v0.
An optional in-page Ask AI assistant can answer reader questions using the Vercel AI Gateway, OpenRouter, Inkeep, or any OpenAI-compatible endpoint. Blume can also host a Model Context Protocol (MCP) server, exposing tools like `search_docs`, `get_page`, `list_pages`, and `get_navigation` for Claude Code, Cursor, and VS Code.
### Use Cases with Examples
Blume’s features map to real-world documentation needs:
– **API products:** Ingest OpenAPI or AsyncAPI specs to generate interactive references with schemas, auth, and request playgrounds via Scalar.
– **Libraries:** Point Blume at GitHub releases to auto-generate changelogs and RSS feeds.
– **Global audiences:** Support for 36 locales, locale-aware routing, and right-to-left layouts.
– **Mixed content:** Combine local files with remote MDX, Notion, or Sanity sources, all rendered through the same components.
### How Blume Compares
| Dimension | Blume | Mintlify | Docusaurus | Astro Starlight |
|———————|————————————–|—————————|————————|————————-|
| Type | Open-source CLI + framework | Hosted commercial platform| Open-source SSG | Open-source Astro theme |
| License | MIT, free | Proprietary; paid Pro | MIT, free | MIT, free |
| Setup | Zero-config Markdown folder | Config-driven, managed | Scaffold + React config| Astro project + theme |
| Engine | Hidden Astro + Vite | Proprietary hosted | React | Astro |
| Core-theme client JS| None (static HTML) | — | React runtime | Minimal (islands) |
| llms.txt / llms-full.txt | Built-in flag | Auto-generated | Community plugin | Community plugin |
| Built-in MCP server | Yes (four read-only tools) | Yes (auto-hosted) | Not built-in | Not built-in |
| Eject path | Standalone Astro app | Not applicable | — | Already Astro |
### Strengths and Weaknesses
**Strengths**
– Zero-config start: a folder of Markdown becomes a full site.
– Static-first output with no core client JavaScript, aiding performance.
– Built-in AI surfaces: `llms.txt`, per-page Markdown, MCP server, and Ask AI.
– Type-safe config for early error detection.
– Eject path to a standalone Astro app reduces long-term lock-in.
**Weaknesses**
– Version 1.0.3 is new, so the ecosystem is still young.
– Requires Node.js 22.12 or newer, which may not be available everywhere.
– Request-time features like Ask AI and MCP require a server adapter.
– Self-hosted model means you manage analytics and assistant wiring.
– Fewer third-party integrations than some mature hosted platforms.
### Key Takeaways
– Blume turns a Markdown folder into a production docs site with zero configuration.
– It drives a hidden Astro and Vite project and can eject to standalone Astro.
– AI features are built in: `llms.txt`, per-page Markdown, and an MCP server.
– It is MIT-licensed, requires Node.js 22.12+, and reached npm v1.0.3 on launch day.
– Early adopters include projects like Quiver and Neon’s add-mcp docs.
### FAQ
**What is Blume?**
Blume is an open-source documentation framework that lets you generate a production-grade docs site from a folder of Markdown or MDX files with minimal setup.
**Do I need to write app boilerplate?**
No. Blume is zero-config out of the box. You drop Markdown into a folder, and it handles navigation, search, and theming automatically.
**What runtime powers Blume?**
Blume runs on a hidden Astro + Vite project. It can eject into a standalone Astro app when you need full control.
**What AI features does Blume include?**
Blume includes `llms.txt` and `llms-full.txt` generation, per-page Markdown endpoints, an optional Ask AI assistant, and a built-in MCP server with read-only tools for agents.
**What are the system requirements?**
Blume requires Node.js 22.12 or newer and works with Bun, pnpm, npm, or yarn.
**Can I eject to Astro?**
Yes. The `blume eject` command promotes the runtime into a standalone Astro app while continuing to depend on the `blume` package.
**Is Blume free and open source?**
Yes. Blume is MIT-licensed and fully open source.
### Conclusion
Blume offers a streamlined path from Markdown files to a production documentation site with minimal configuration and no boilerplate. Its static-first architecture delivers strong performance by default, while built-in AI features—like `llms.txt`, an MCP server, and Ask AI—prepare docs for agentic workflows. Though relatively new and tied to Node.js 22.12+, its zero-config ease, type-safe theming, and optional eject path make it an attractive choice for teams looking to modernize their documentation quickly.



