Usando o Claude Code
O Claude Code lê, escreve e valida mapas do Mapper Idea para você. Você descreve o que quer em linguagem
natural, e o Claude edita os arquivos .mi, roda o CLI mi e mostra o resultado no Freemapper. Este
capítulo traz o que instalar, os comandos do plugin do Mapper Idea e exemplos de prompts.
O que é preciso
O Claude Code, com uma conta do Claude: https://claude.com/claude-code
Os plugins do Mapper Idea para o Claude Code (
agent-kiteiadd): https://github.com/mapperidea/claude-pluginsO CLI do Mapper Idea (
mi) instalado e autenticado com um usuário autorizado. Sem ele, o Claude escreve mapas, mas não valida nem gera nada. Os links estão na página Dicas.O Freemapper (opcional), para ver os mapas mudando enquanto o Claude trabalha e para abrir o Claude Code dentro dele.
Instalando os plugins
Dentro do Claude Code:
/plugin marketplace add mapperidea/claude-plugins
/plugin install agent-kit@mapperidea-iadd
/plugin install iadd@mapperidea-iadd
Ou no terminal:
claude plugin marketplace add mapperidea/claude-plugins
claude plugin install agent-kit@mapperidea-iadd
claude plugin install iadd@mapperidea-iadd
Abra uma sessão nova depois de instalar: uma sessão que já estava aberta não enxerga os comandos novos
e responde Unknown skill. Para atualizar depois, use /plugin marketplace update mapperidea-iadd.
Comandos
Comando |
O que faz |
|---|---|
|
Prepara o projeto: converte os mapas FreeMind ( |
|
Instala ou reinstala um agente só: |
|
O especialista em |
|
Um assistente que entrevista você e escreve um agente novo do Claude Code para o seu projeto. |
Não é preciso digitar os comandos para usá-los: pedir em linguagem natural ("converte meus mapas .mm para .mi") já basta, e o Claude escolhe o certo.
Os três agentes
O /iadd:init instala três agentes em .claude/agents/. Cada um é dono de uma parte do trabalho, para
que quem modela não gere e quem gera não mude o modelo:
Agente |
É dono de |
Mexe em |
|---|---|---|
|
O mapa de negócio: entidades, atributos, relações, regras |
Só os arquivos |
|
Os geradores: como o mapa vira código na sua stack |
Só os arquivos |
|
A validação e a geração de verdade, pelo CLI |
Roda o |
Você conversa com o Claude normalmente e ele passa a tarefa ao agente certo. O que o plugin escreve no seu projeto (agentes, a memória deles, guias, hooks) é seu: continua funcionando sem o plugin e é feito para ser editado e commitado.
O Claude no Freemapper
O Freemapper pode deixar o Claude Code ver os mapas abertos: o nó selecionado, o texto de um mapa, uma imagem da tela. Ligue em Preferências > Ambiente > Integração com IA:
Permitir que um assistente de IA veja e navegue nos mapas abertos inicia um servidor local, que só este computador alcança, protegido por um token.
Permitir também que o assistente altere os mapas acrescenta as ferramentas que inserem, alteram e removem nós. Toda alteração aparece na tela e pode ser desfeita com Ctrl+Z; nada é salvo até você, ou o Claude, salvar o mapa.
Reinicie o Freemapper depois de mudar essas opções. Aí há dois jeitos de usar o Claude:
Dentro do Freemapper: Visualizar > Assistente de IA (Alt+9) abre um painel com o Claude Code rodando na pasta do projeto, já ligado aos mapas. O painel pode ir para uma janela própria, tem uma aba por projeto e pode usar outras contas do Claude pelos perfis.
No seu terminal: o item Integração com IA: copiar o comando do Claude Code copia um comando; cole num terminal uma vez e, daí em diante, o Claude Code enxerga os mapas abertos no Freemapper.
Quando o Claude altera um arquivo .mi no disco, o Freemapper recarrega o mapa e seleciona o nó que
mudou.
Exemplos de prompts
São pontos de partida: troque os nomes pelos do seu mapa. Quanto mais preciso o pedido (qual mapa, qual pacote, qual classe), menos o Claude precisa adivinhar.
Modelando o negócio
Acrescenta a entidade Fornecedor no pacote vendas, com CNPJ (chave), razão social e e-mail,
e uma relação com Cidade.
Lê a história em docs/historias/cancelar-pedido.md e atualiza o mapa de negócio com o que
estiver faltando. Mostra as mudanças antes de gravar.
Explica a classe Pedido do main.mi, atributo por atributo, e aponta o que parece
inconsistente.
Escrevendo geradores
Escreve um gerador que cria uma interface TypeScript para cada classe de um pacote, com os
tipos dos atributos convertidos para os tipos do TypeScript.
No gerador de entidade Java, faz os atributos marcados como chave virarem @Id.
Que função eu uso num gerador para transformar PedidoCliente em pedido_cliente?
Validando e gerando
Envia os mapas e valida a classe Pedido com o gerador struct.
Gera a entidade Quarkus de Pedido em src/main/java/vendas/ e confere se o arquivo tem
erro EMI.
O mi generate devolve um arquivo vazio para Cliente. Descobre por quê.
No Freemapper
Explica o nó selecionado.
Embaixo desta classe, acrescenta os atributos data de nascimento, telefone e ativo.
Mostra no mapa onde está a classe Cliente e abre o ramo dela.
Tira uma imagem do mapa e me diz quais classes não têm atributo chave.
Dicas
Diga o que o Claude não deve mudar ("só o pacote vendas", "não mexe nos geradores").
Peça a validação: um mapa só é conferido quando o
mi generate <projeto> struct xmlroda na classe. Os agentes sabem disso, mas pedir deixa explícito.O Claude pergunta antes de rodar o
mi push, porque ele envia os mapas para a nuvem do Mapper Idea. Para pular a pergunta, diga no próprio pedido, como em "envia os mapas e gera...".Depois de gerar, procure
EMIna saída: um erro do CLI impresso na saída vai parar dentro do arquivo gerado.Para uma dúvida sobre uma função XPath, o Claude pode abrir a página da função neste guia, como mi:lower-case-add-underline.
Os manuais do plugin, com o método inteiro (
docs/pipeline-iadd.md) e como escrever um gerador do zero, vêm com o plugin; peça ao Claude que os abra.