Saltar para o conteúdo
Blume
Esc
↑↓navegar↵abrir⌘Jpré-visualizar
Nesta página

Migre para o Blume

Mova um site de documentação em Mintlify, Docusaurus, GitBook, MkDocs, ReadMe ou outra ferramenta para o Blume com um único comando que entrega a migração ao Codex ou ao Claude Code.

Migrar um site de documentação para um Blume idiomático exige decisões que um codemod não consegue tomar: qual navegação declarada vira pastas, quais componentes viram diretivas e o que não tem equivalente no Blume. Por isso, o blume migrate entrega o trabalho a um agente de código, que segue o playbook de migração do Blume enquanto você revisa cada edição.

Migre com um único comando

Rode o comando a partir da raiz do projeto de documentação que você está migrando:

npx blume migrate fumadocs --codex
pnpm dlx blume migrate fumadocs --codex
yarn dlx blume migrate fumadocs --codex
bunx blume migrate fumadocs --codex
nubx blume migrate fumadocs --codex
aube dlx blume migrate fumadocs --codex

Troque fumadocs pelo seu framework, e --codex por --claude para usar o Claude Code. Com o pnpm 12, adicione --allow-build=esbuild depois de pnpm dlx, já que o pnpm 12 não executa o script de instalação do esbuild sem aprovação. O agente abre de forma interativa no seu terminal, então cada edição passa pelo fluxo de permissões dele. Ele trabalha direto nos arquivos, então comece com uma working tree limpa e revise a migração inteira como um único diff.

Origens

Informe o framework do qual você está migrando, ou deixe de fora e o Blume o detecta pelos próprios arquivos do projeto. Se você informar um e o projeto parecer ser de outro, o Blume mostra um aviso e continua com o que você informou:

Origem Detectado por Guia
mintlify docs.json ou mint.json Migre do Mintlify
fumadocs source.config.ts, ou fumadocs-core, fumadocs-ui ou fumadocs-mdx no package.json Migre do Fumadocs
docusaurus docusaurus.config.* Migre do Docusaurus
starlight @astrojs/starlight no package.json Migre do Starlight
nextra nextra no package.json Migre do Nextra
vitepress .vitepress/config.ts (ou .mts, .js, .mjs) na raiz ou em docs/, ou vitepress no package.json Migre do VitePress
vuepress .vuepress/config.ts (ou .js, .mjs, .yml, .toml) na raiz ou em docs/, vuepress.config.*, ou vuepress (ou vuepress-vite, vuepress-webpack) no package.json Migre do VuePress
docus docus (Docus 3 em diante) ou @nuxt-themes/docus (Docus 1) no package.json; em um workspace, rode o comando a partir do pacote de documentação Migre do Docus
mkdocs mkdocs.yml, mkdocs.yaml, zensical.toml, properdocs.yml ou properdocs.yaml Migre do MkDocs Material
mdbook book.toml na raiz ou em docs/ ou book/ Migre do mdBook
fern fern/docs.yml Migre do Fern
gitbook .gitbook.yaml, .gitbook.yml ou gitbook-docs.yaml, ou honkit ou gitbook-cli no package.json; nunca só o SUMMARY.md Migre do GitBook
redocly sidebars.yaml, ou @redocly/realm ou outro pacote da família Realm no package.json; nunca só o redocly.yaml Migre do Redocly
readme _order.yaml em docs/, reference/, recipes/ ou custom_pages/; um repositório que faz upload com rdme precisa que a origem seja informada Migre do ReadMe
docsify docsify-cli ou docsify no package.json; um site sem package.json precisa que a origem seja informada Migre do Docsify
jekyll _config.yml na raiz ou em docs/, verificado depois de todas as outras origens que o Blume detecta Migre do Just the Docs
github-wiki Nunca detectado: uma wiki não tem arquivo de config, então informe a origem Migre de uma wiki do GitHub

A detecção verifica a pasta em que você roda o comando. Cada origem tem sua própria referência de mapeamento no playbook, e várias também têm um codemod que o agente roda primeiro para fazer as reescritas mecânicas, assim o esforço dele fica para as decisões que exigem julgamento. Um site feito com qualquer outra ferramenta também pode ser migrado: rode o comando sem informar uma origem, e o agente primeiro faz um inventário do repositório e depois trabalha a partir das regras gerais do playbook.

O que o agente faz

O agente segue o fluxo de trabalho do playbook, da config da origem até um build que passa:

  1. Escreve o blume.config.ts, mapeando só o que a sua origem declara e deixando os padrões do Blume cobrirem o resto.
  2. Reestrutura o conteúdo em navegação baseada no sistema de arquivos, convertendo os arquivos de ordenação por pasta (meta.json do Fumadocs, _meta do Nextra) para meta.ts.
  3. Reescreve as páginas: frontmatter para o schema do Blume, componentes de callout para diretivas, ícones para Lucide e snippets incorporados diretamente no conteúdo.
  4. Adiciona um redirect para cada URL que muda de lugar, para que nenhum link quebre. As URLs com #/ do Docsify nunca chegam ao servidor, então, nesses casos, ele adiciona um pequeno script que leva cada uma para a nova página. As URLs de uma wiki do GitHub continuam no github.com, que não permite redirects, então o agente mapeia cada página para a nova rota dela e prepara páginas stub com links que você pode enviar para a wiki antiga.
  5. Aponta os scripts do seu package.json para blume dev e blume build, e troca as dependências do framework antigo por blume.
  6. Roda blume build e blume validate até que os dois passem.

Ele termina com um resumo do que foi migrado, descartado ou aproximado, como links de rodapé ou botões da barra de navegação sem equivalente no Blume, para que você decida o que fazer com cada um.

Outros agentes

Sem --codex ou --claude, o comando informa a origem que detectou, mostra o caminho para o playbook — a skill blume-migrate que vem incluída no pacote — e encerra sem alterar nada. Aponte qualquer outro agente para esse SKILL.md, ou instale a skill onde o seu agente procura skills, com o comando que ele mostra:

npx skills add haydenbleasel/blume --skill blume-migrate

Compare antes

As páginas de comparação colocam o Blume lado a lado com cada framework e listam o que a migração aproveita e o que ela reescreve em cada caso.

Última atualização a

Esta página foi útil?