Migre para o Blume
Mova um site em Mintlify, Fumadocs, Docusaurus, Starlight ou Nextra para o Blume com um único comando que entrega a migração ao Claude Code ou ao Codex.
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 --claudepnpm dlx blume migrate fumadocs --claudeyarn dlx blume migrate fumadocs --claudebunx blume migrate fumadocs --claudenubx blume migrate fumadocs --claudeaube dlx blume migrate fumadocs --claudeTroque fumadocs pelo seu framework, e --claude por --codex para usar o Codex. 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 |
|---|---|
mintlify |
docs.json ou mint.json |
fumadocs |
source.config.ts, ou fumadocs-core, fumadocs-ui ou fumadocs-mdx no package.json |
docusaurus |
docusaurus.config.* |
starlight |
@astrojs/starlight no package.json |
nextra |
nextra no package.json |
Cada origem tem sua própria referência de mapeamento no playbook. 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:
- Escreve o
blume.config.ts, mapeando só o que a sua origem declara e deixando os padrões do Blume cobrirem o resto. - Reestrutura o conteúdo em navegação baseada no sistema de arquivos, convertendo os arquivos de ordenação por pasta (
meta.jsondo Fumadocs,_metado Nextra) parameta.ts. - 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.
- Adiciona um redirect para cada URL que muda de lugar, para que nenhum link quebre.
- Aponta os scripts do seu
package.jsonparablume deveblume build, e troca as dependências do framework antigo porblume. - Roda
blume buildeblume validateaté que os dois passem.
Ele termina com um resumo do que foi migrado, descartado ou aproximado, como links de rodapé ou redirects dinâmicos sem equivalente no Blume, para que você decida o que fazer com cada um.
Outros agentes
Sem --claude ou --codex, 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.