{"slug": "meet-blume-an-open-source-zero-config-documentation-framework-that-ships-ai-docs", "title": "Meet Blume: An Open-Source, Zero-Config Documentation Framework That Ships AI-Ready Docs From a Markdown Folder", "summary": "Hayden Bleasel, an OpenAI developer, released Blume, an open-source documentation framework that generates AI-ready documentation sites from Markdown folders. The tool targets both human readers and AI agents, offering features like raw Markdown endpoints, LLM-friendly output, and an MCP server for direct integration with coding assistants. Blume aims to simplify documentation creation with zero configuration and support for multiple content sources.", "body_md": "[Hayden Bleasel](https://haydenbleasel.com/), 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.\n\n**What is Blume?**\n\n** 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\n\n`packages/blume`\n\n. Blume’s own documentation, under `apps/docs`\n\n, is built with Blume itself. It requires Node.js 22.12 or newer. It runs with Bun, pnpm, npm, or yarn.**How Blume Works**?\n\nUnder the surface, Blume generates and drives a hidden Astro project. First, the CLI loads `blume.config.ts`\n\nand scans your content into a graph. Next, it writes an Astro project into a `.blume/`\n\ndirectory. 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/`\n\nregenerates, 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`\n\npromotes the runtime into a standalone Astro app. That ejected project still depends on the `blume`\n\npackage.\n\n**Getting Started**\n\nSetup takes a single command, so onboarding is short.\n\n```\nnpx blume init\n```\n\nAfterward, `blume dev`\n\nstarts a hot-reloading server. Meanwhile, `blume build`\n\nwrites static HTML and a local search index into `dist/`\n\n. The config file is real TypeScript, validated by a schema.\n\n``` js\n// blume.config.ts\nimport { defineConfig } from \"blume\";\n\nexport default defineConfig({\n  content: {\n    sources: [\n      { type: \"filesystem\", root: \"docs\" },\n      { type: \"notion\", database: process.env.NOTION_DB },\n    ],\n  },\n});\n```\n\nBecause the config is typed, editors catch mistakes before a build runs. The CLI covers the full lifecycle beyond those basics:\n\n| Command | Purpose |\n|---|---|\n`blume init` | Scaffold a project, interactive by default |\n`blume dev` | Start the dev server with hot reload |\n`blume build` | Build the static or server site |\n`blume add` | Install a source component from the registry |\n`blume sync` | Re-fetch remote content sources |\n`blume eject` | Promote the runtime into a standalone Astro app |\n`blume validate` | Check internal, anchor, asset, and external links |\n`blume doctor` | Diagnose config and content problems |\n\n**AI-Ready by Design**\n\nBeyond human readers, Blume targets agents too. Every page returns raw Markdown when you append `.md`\n\nto its URL. A single flag emits `llms.txt`\n\nand `llms-full.txt`\n\nfor 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.\n\n```\nclaude mcp add --transport http your-docs https://docs.example.com/mcp\n```\n\nThat server exposes four read-only tools: `search_docs`\n\n, `get_page`\n\n, `list_pages`\n\n, and `get_navigation`\n\n.\n\n**Use Cases With Examples**\n\nThose 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.\n\n**How Blume Compares**\n\nFor context, here is Blume against three common documentation approaches. Features change quickly, so verify current details before you adopt.\n\n| Dimension | Blume | Mintlify | Docusaurus | Astro Starlight |\n|---|---|---|---|---|\n| Type | Open-source CLI + framework | Hosted commercial platform | Open-source SSG | Open-source Astro theme |\n| License | MIT, free | Proprietary; paid Pro tier | MIT, free | MIT, free |\n| Setup | Zero-config Markdown folder | Config-driven, managed | Scaffold + React config | Astro project + theme |\n| Engine | Hidden Astro + Vite | Proprietary hosted | React | Astro |\n| Core-theme client JS | None (static HTML) | — | React runtime | Minimal (islands) |\n`llms.txt` / `llms-full.txt` | Built-in flag | Auto-generated | Community plugin | Community plugin |\n| Built-in MCP server | Yes (four read-only tools) | Yes (auto-hosted) | Not built-in | Not built-in |\n| Eject path | Standalone Astro app | Not applicable (hosted) | — | Already Astro |\n\n**Strengths and Weaknesses**\n\n**Strengths**\n\n- Zero-config start: a folder of Markdown becomes a full site.\n- Static-first output ships no core client JS, aiding Core Web Vitals.\n- Built-in AI surfaces:\n`llms.txt`\n\n, per-page Markdown, MCP server, and Ask AI. - Type-safe config, so editors flag errors before a build runs.\n- Eject path to a standalone Astro app reduces long-term lock-in.\n\n**Weaknesses**\n\n- Version 1.0.3 is new, so the ecosystem is still young.\n- It needs Node.js 22.12 or newer, which some environments lack.\n- Request-time features like Ask AI and MCP need a server adapter.\n- The self-hosted model means you own analytics and assistant wiring.\n- It has fewer third-party integrations than mature hosted platforms today.\n\n**Key Takeaways**\n\n- Blume turns a Markdown folder into a production docs site with zero config.\n- It drives a hidden Astro and Vite project and can eject to standalone Astro.\n- AI features ship built in:\n`llms.txt`\n\n, per-page Markdown, and an MCP server. - It is MIT-licensed, needs Node.js 22.12+, and reached npm v1.0.3 on launch day.\n- Early adopters include Quiver, moving from Mintlify, and Neon’s add-mcp docs.\n\nCheck out the ** GitHub Repo. **Also, feel free to follow us on\n\n**and don’t forget to join our**[Twitter](https://x.com/intent/follow?screen_name=marktechpost)\n\n**and Subscribe to**\n\n[150k+ML SubReddit](https://www.reddit.com/r/machinelearningnews/)**. Wait! are you on telegram?**\n\n[our Newsletter](https://www.aidevsignals.com/)\n\n[now you can join us on telegram as well.](https://t.me/machinelearningresearchnews)Need to partner with us for promoting your GitHub Repo OR Hugging Face Page OR Product Release OR Webinar etc.? [Connect with us](https://forms.gle/wbash1wF6efRj8G58)", "url": "https://wpnews.pro/news/meet-blume-an-open-source-zero-config-documentation-framework-that-ships-ai-docs", "canonical_source": "https://www.marktechpost.com/2026/07/14/meet-blume-an-open-source-zero-config-documentation-framework-that-ships-ai-ready-docs-from-a-markdown-folder/", "published_at": "2026-07-14 08:15:29+00:00", "updated_at": "2026-07-14 08:33:15.609689+00:00", "lang": "en", "topics": ["developer-tools", "artificial-intelligence", "ai-tools"], "entities": ["Hayden Bleasel", "OpenAI", "Blume", "Astro", "Vercel AI Gateway", "OpenRouter", "Inkeep", "Claude Code"], "alternates": {"html": "https://wpnews.pro/news/meet-blume-an-open-source-zero-config-documentation-framework-that-ships-ai-docs", "markdown": "https://wpnews.pro/news/meet-blume-an-open-source-zero-config-documentation-framework-that-ships-ai-docs.md", "text": "https://wpnews.pro/news/meet-blume-an-open-source-zero-config-documentation-framework-that-ships-ai-docs.txt", "jsonld": "https://wpnews.pro/news/meet-blume-an-open-source-zero-config-documentation-framework-that-ships-ai-docs.jsonld"}}