Blume vs VuePress.VuePress docs, without the Vue app.
VuePress 1 is in maintenance mode, and VuePress 2 has been a release candidate since 2023. Blume turns the same Markdown into a site with search, llms.txt, API references, and versioning built in, and an agent moves it with a redirect for every old URL.
npx blume migrate vuepress --codex| Blume | VuePress | |
|---|---|---|
| You maintain | BlumeA folder of Markdown, plus one optional config file | VuePress.vuepress/config with a bundler, a theme, and a plugin per feature |
| License | BlumeFree and open source (MIT) | VuePressFree and open source (MIT), maintained by the community VuePress team |
| Search | BlumeLocal search with no keys, or Pagefind, Algolia, and more by adapter | VuePressPlugins: local title and heading search, full-text slimsearch, or DocSearch |
| Agent features | Blumellms.txt, Markdown mirrors, and a JSON API by default; an opt-in MCP server | VuePressllms.txt and Markdown pages through the official llms plugin; no official MCP server |
| API references | BlumeOpenAPI, AsyncAPI, and GraphQL, with a Try it playground | VuePressNo OpenAPI plugin in the official ecosystem |
| Versioning | Blumeblume version snapshots with a switcher and scoped search | VuePressNo versioning plugin in the official ecosystem |
| Blog and changelog | BlumeBlog and changelog page types, with RSS | VuePressOfficial blog and feed plugins; a ready-made blog in vuepress-theme-hope |
| Languages | Blumeblume translate fills in every locale with your coding agent | VuePressBuilt-in i18n with locale folders and a language switcher |
VuePress details are from its own pages as of October 7, 2026: VuePress 1 status, VuePress 2 RC, Search plugins, llms.txt plugin, Blog plugins, i18n. Something out of date? Let us know
Your docs come with you.Your URLs stay put, and an agent does the move.
- README indexes become index pages.
- Every
README.mdbecomesindex.mdat the same folder URL, and the links to it are rewritten to the folder. - Containers, badges, and code groups convert.
::: tipcontainers become:::directives, badge text moves inside<Badge>, and<code-group>blocks become CodeGroup, in every language.- Sidebars move into folders.
- Each sidebar becomes a header tab, and its groups become folders or
(group)folders with ameta.ts, so no page URL changes. - Old URLs and anchors keep working.
- Every old
.htmlURL redirects to its page, and a script pins each heading's old anchor, translated pages included.
VuePress
Blume
- .vuepress/config.jsblume.config.ts
- guide/README.mdguide/index.md
- ::: danger STOP:::danger[STOP]
- <code-group><CodeGroup>
- <Badge type="error"><Badge variant="danger">
- <<< @/path/file.js{2}<include meta="{2}">
- /guide/assets.html/guide/assets
When VuePress might suit you better.Blume isn't the right fit for every team.
- You want Vue in every page.
- VuePress compiles each page as a Vue component, so template syntax, directives, and global components work right in the Markdown. Blume pages are MDX, with Vue components as islands.
- You want a plugin for everything.
- VuePress's official ecosystem has plugins for PWA, comments, watermarks, charts, and slides, plus five search plugins, and vuepress-theme-hope adds encrypted pages on top.
- You run a blog beside your docs.
- The official blog and feed plugins, and vuepress-theme-hope's blog, give you article lists, categories, tags, and RSS, Atom, and JSON feeds. Blume gives posts RSS, but you build the index page yourself.
- 1
Run one command in your docs project.
Using Claude Code? Swap
--codexfor--claude. - 2
Review the agent's edits.
It follows Blume's migration playbook for MintlifyFumadocsDocusaurusStarlightNextraGitBookMkDocsReadMeVitePressFernRedoclyVuePressDocsifyDocusmdBookJekyllGitHub Wiki, rewriting your config and pages in place, so you review the whole move as one diff.
- 3
Preview the result.
Run
npx blume dev, then read the agent's summary of anything it dropped or approximated.
Questions, answered.About moving from VuePress to Blume.
Is VuePress still maintained?
VuePress 1 is in maintenance mode, and its last release, 1.9.10, shipped in August 2023. VuePress 2 is maintained by the community VuePress team and has been a release candidate since November 2023, with 2.0.0-rc.31 in July 2026.
Why move to Blume instead of VuePress 2 or VitePress?
Both keep Vue in your pages, which makes them the closer step if you rely on it. Blume trades the Vue app for a folder of Markdown, with search, llms.txt, an MCP server, API references, and versioning built in rather than added as plugins.
Can I keep my VuePress Markdown?
Yes. npx blume migrate vuepress --codex renames README indexes, converts containers, badges, and code groups, rebuilds sidebars as folders, and redirects every old .html URL. It's written for VuePress 1; VuePress 2 sites go through the same command, but that path hasn't been run end to end.
Can I keep my Vue components?
Yes, as islands, once they run on Vue 3. VuePress 1 components are Vue 2, so each needs a port, and a component that reads $page, $site, or the router has to be rewritten, since it can't run outside VuePress.
What doesn't the migration carry over?
The Vue app around your Markdown: themes and layout overrides, enhanceApp.js, Markdown slots, and Vue 2 components that weren't ported. The PWA, flowchart blocks that weren't redrawn, heading-only sidebars, and your DocSearch index don't carry over either, and the agent reports each one.
Upgrade your docs with Blume.
Install today and ship a production-grade docs site in minutes. Free and open source, forever.
npx blume init