Meet Blume: An Open-Source, Zero-Config Documentation Framework That Ships AI-Ready Docs From a Markdown Folder
AI
Hayden Bleasel from OpenAI released Blume, an open-source, zero-config documentation framework that turns a Markdown folder into a production-grade docs site with built-in AI features like llms.txt and an MCP server.
Intelligence Insights
Context + impact, normalized for TechCulture.
The Big Picture
Blume is an open-source documentation framework created by Hayden Bleasel, an OpenAI developer, and released as version 1.0.3 on npm. It requires only a folder of Markdown or MDX files to generate a full documentation site with navigation, search, theming, and Open Graph images, all without writing app boilerplate. The framework uses a hidden Astro project under the hood, supports TypeScript configuration, and offers commands like blume init, dev, build, and eject for full control. AI-readiness is a key feature: every page returns raw Markdown with .md appended, generates llms.txt and llms-full.txt files, and optionally hosts a Model Context Protocol (MCP) server for tools like Claude Code and Cursor. Blume is MIT-licensed, requires Node.js 22.12+, and is positioned as a simpler alternative to Mintlify, Docusaurus, and Astro Starlight, with strengths in zero-config setup, static-first output, and built-in AI surfaces, though it is new and has a smaller ecosystem.
Why It Matters
Blume lowers the barrier to creating high-quality, AI-friendly documentation by eliminating boilerplate and embedding LLM access patterns like llms.txt and MCP servers. This shift could accelerate the adoption of AI-assisted developer tools, as projects can now ship docs that are natively consumable by agents and chatbots, potentially changing how developers discover and interact with APIs and libraries.
Deepen your understanding
Use our AI to break down complex signals.
Select an AI action to generate more depth.
Hayden Bleasel, an expert developer from OpenAI, released Blume, an open-source documentation framework. Blume shipped to npm as version 1.0.3 the same day. It is as simple as Drop Markdown into a folder and ship a docs site. No app boilerplate is written or maintained afterward. The project is MIT-licensed and open sourced.
What is Blume?
Blume is a command-line tool paired with a component library for docs. It reads a folder of Markdown or MDX files. From that folder, it produces a production-grade documentation site. That output ships navigation, search, theming, and Open Graph images. Configuration stays optional and is added one file at a time. The code is a TypeScript monorepo; the published package sits at packages/blume. Blume’s own documentation, under apps/docs, is built with Blume itself. It requires Node.js 22.12 or newer. It runs with Bun, pnpm, npm, or yarn.
How Blume Works?
Under the surface, Blume generates and drives a hidden Astro project. First, the CLI loads blume.config.ts and scans your content into a graph. Next, it writes an Astro project into a .blume/ directory. Astro then renders every page through a single catch-all route. That route imports Blume’s shipped components, the generated data, and your overrides. On each run, .blume/ regenerates, and only changed files are rewritten. As a result, hot reload stays fast during editing. The core theme ships no client framework JavaScript. Consequently, pages score well on Core Web Vitals by default. When you need full control, blume eject promotes the runtime into a standalone Astro app. That ejected project still depends on the blume package.
⏸▶
Getting Started
Setup takes a single command, so onboarding is short.
Afterward, blume dev starts a hot-reloading server. Meanwhile, blume build writes static HTML and a local search index into dist/. The config file is real TypeScript, validated by a schema.
Because the config is typed, editors catch mistakes before a build runs. The CLI covers the full lifecycle beyond those basics:
CommandPurposeblume initScaffold a project, interactive by defaultblume devStart the dev server with hot reloadblume buildBuild the static or server siteblume addInstall a source component from the registryblume syncRe-fetch remote content sourcesblume ejectPromote the runtime into a standalone Astro appblume validateCheck internal, anchor, asset, and external linksblume doctorDiagnose config and content problems
AI-Ready by Design
Beyond human readers, Blume targets agents too. Every page returns raw Markdown when you append .md to its URL. A single flag emits llms.txt and llms-full.txt for agents. Each page can be copied as Markdown or opened in ChatGPT, Claude, or v0. An optional in-page Ask AI assistant answers reader questions directly. It runs on the AI SDK through the Vercel AI Gateway, OpenRouter, Inkeep, or any OpenAI-compatible endpoint. Blume can also host a Model Context Protocol (MCP) server. Through it, Claude Code, Cursor, and VS Code read docs directly.
claude mcp add --transport http your-docs https://docs.example.com/mcp
That server exposes four read-only tools: search_docs, get_page, list_pages, and get_navigation.
Use Cases With Examples
Those 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 via Scalar. For a library, point Blume at your GitHub Releases. Each release rolls up into a generated changelog timeline with an RSS feed. For a global audience, add translated files per locale. Blume supports 36 locales, locale-aware routing, and right-to-left layouts. For mixed content, combine local files with remote MDX, Notion, or Sanity. All sources render through the same components.
Introducing Blume 🪷A world-class docs framework for everything you ship. Drop Markdown into a folder and ship a full docs site with no app boilerplate.
→ zero-config setup → automatic SEO and AEO → 30+ components → powered by astro + vite → open source, free forever pic.twitter.com/fQSwLd9BM9