Como usar o Claude Code com a Fabapp AI
O que você precisa
Node 20 ou mais novo, uma conta da Fabapp no plano Builder ou superior, e um projeto (ou nem isso: dá para criar pelo terminal). Nada mais: a linha de comando da Fabapp não tem dependência nenhuma, de propósito, porque ela guarda uma credencial e conversa com a sua conta.
npx @fabappai/cli login
O login abre o navegador uma vez, mostra um código e espera você aprovar. A credencial vai para o chaveiro do sistema, não para um arquivo de configuração e não para o histórico do shell.
Ligando o Claude Code na sua conta
Um comando:
claude mcp add fabapp -- npx -y @fabappai/cli mcp
Pronto. Na próxima conversa, o Claude Code enxerga as ferramentas da Fabapp e passa a ler e escrever no seu projeto sem que você cole nada no chat.
Vale entender o que ele ganha com isso, porque não é "mais um comando". Ele ganha o schema do seu projeto: as entidades, os campos e as regras de acesso. Sem isso, um id de modelo errado responde 404 e um campo inventado responde 422, e o assistente fica adivinhando. Com isso, ele lê antes de escrever.
O ciclo
A vantagem do Claude Code aqui é que ele já mora no terminal onde o app roda. O ciclo inteiro acontece num lugar só:
npx @fabappai/cli create "Minha loja"
npx @fabappai/cli dev
O dev monta o app na sua máquina com o mesmo template que a plataforma usa para publicar, instala as dependências
e sobe o servidor local. Com ele rodando, você conversa: "leia a definição do projeto e crie o modelo de pedido com
status, cliente e total". O Claude Code chama as ferramentas, escreve o schema, e você vê o resultado no navegador
sem sair do lugar.
Quando estiver bom:
npx @fabappai/cli deploy
Sobe o que você mudou e publica, nessa ordem. Os componentes da plataforma, o SDK e o esqueleto do app ficam onde estão.
O que pedir a ele
Três pedidos que funcionam melhor que os óbvios:
"Leia a documentação da plataforma antes." Existe uma ferramenta que devolve o contrato inteiro: os tipos de campo, que são uma lista fechada, e a gramática das regras de acesso. Um schema escrito sem isso inventa tipo de campo, e regra de acesso errada falha fechada e em silêncio.
"Schema primeiro, telas depois." O SDK do app é gerado em cima do modelo de dados. Escrever as páginas antes significa reescrevê-las.
"Não tente de novo se der 422." Um build que falha por código que não compila devolve arquivo, linha e coluna, e a resposta não muda na segunda tentativa. Já um 409 significa que a conta está com dois builds rodando, e esse sim é para esperar e repetir.
Onde costuma travar
O Claude Code roda o servidor via npx, então ele precisa de Node no PATH do ambiente onde o Claude Code foi
aberto. Se você usa um gerenciador de versão de Node, abrir o Claude Code de um lugar onde o Node não está
carregado é o motivo mais comum de o servidor não subir.
A outra: uma credencial autorizada só para leitura não mostra as ferramentas de escrita. Isso é de propósito, e
não é um erro. Se o assistente diz que não consegue escrever, confira com npx @fabappai/cli status qual permissão
aquela máquina recebeu.