Preparar a máquina
Flutter, Node e CLIs de backend prontos. Pelo MCP ou pelo terminal, antes de criar o app.
Primeira vez publicando um app? Termos como webhook, deploy e sandbox estão no Glossário.
Ainda não instalou o Kasy? Faça isso antes (MCP ou CLI global).
Implementação
1. Caminho recomendado: MCP
Com o MCP do Kasy ligado no Cursor/Claude, peça:
Prepara minha máquina com o KasyO assistente roda prepare_machine (kasy doctor) e, se faltar algo (Flutter, CocoaPods, etc.), instala com run_setup_command. Não precisa digitar kasy no terminal.
2. Caminho alternativo: terminal
Com a CLI global instalada (kasy --version funciona), rode:
kasy doctorO comando verifica Flutter, Dart, Node, FVM e as CLIs de backend (firebase, flutterfire, supabase, gcloud) e instala o que estiver faltando para Flutter, Node e FVM (macOS via Homebrew; Windows baixa o SDK sozinho). As CLIs de backend ele só diagnostica: o kasy new instala na hora, conforme o backend. No Linux, mostra o comando exato. FVM trava a versão do Flutter por projeto, veja em criar seu primeiro app.
3. Simulador / emulador (os dois caminhos)
| Ferramenta | Como verificar | Quem instala |
|---|---|---|
| Xcode (simulador iOS, só Mac) | flutter doctor | Você, pela Mac App Store |
| Android Studio (emulador Android) | flutter doctor | Você, em developer.android.com |
Pra começar com web (kasy run --web ou pelo MCP), bastam Flutter e Node.
Simulador/emulador não é opcional se você vende assinatura. A chave test_ do RevenueCat só funciona em simulador iOS ou emulador Android: não roda na web nem em aparelho físico. Detalhes em RevenueCat.
4. JDK (Java), para assinatura Android
O keytool vem com o JDK e é usado em dois momentos: no SHA-1 de debug durante o kasy new e na criação do keystore de upload em Publicar Android. Confira com:
keytool -helpSe não achar, instale um JDK 17 ou superior:
| Sistema | Como instalar |
|---|---|
| macOS | brew install openjdk@17 |
| Windows | winget install Microsoft.OpenJDK.17 |
| Linux | sudo apt install openjdk-17-jdk (ou equivalente da distro) |
Quem tem Android Studio já tem um JDK embutido (jbr), e a CLI procura nele automaticamente. Se você optou por não instalar o Android Studio (usando Codemagic para os builds), o JDK precisa vir separado.
5. Aparelho físico ligado no cabo
Web e simulador não cobrem tudo: notificação, widget e anúncio só aparecem de verdade em aparelho. Para o computador enxergar o seu celular:
| Sistema do aparelho | O que ligar | Onde |
|---|---|---|
| iOS 16+ | Modo de Desenvolvedor | Ajustes → Privacidade e Segurança → Modo de Desenvolvedor |
| Android | Depuração USB | Ajustes → Opções do desenvolvedor → Depuração USB |
Depois, flutter devices deve listar o aparelho.
iPhone no cabo exige Xcode instalado. Compilar e assinar para um iPhone físico usa a toolchain da Apple, então sem Xcode o kasy run não instala pelo cabo. Sem Xcode, o caminho para o iPhone é o TestFlight (build gerado pelo Codemagic).
O Modo de Desenvolvedor só vale para instalação pelo cabo. App que chegou por TestFlight ou pela App Store não precisa dele.
6. Contas e login do backend
Pelo terminal (CLI global):
kasy prepareEle pergunta o backend (ou "Tudo"), instala só as CLIs daquele alvo e abre o login. kasy prepare --backend supabase não pede Firebase nem gcloud. Rodar de novo é seguro.
Pelo MCP: depois do doctor, peça algo como "roda o kasy prepare" ou configure as contas quando for criar o app. O kasy new / create_project também guia o login na hora.
Contas que você cria (o comando não cria conta):
| Backend | Conta que você precisa |
|---|---|
| Firebase | Conta Google com faturamento ativo no GCP (plano Blaze, exigido pelas Cloud Functions) |
| Supabase | Conta gratuita no supabase.com. Firebase/gcloud só se ligar push (companion FCM grátis) |
| API REST | Nenhuma conta de backend no prepare. Firebase/gcloud só se ligar push |
Google Cloud e Firebase precisam ser a mesma conta Google quando um projeto Firebase for criado (backend Firebase, ou Supabase/API com push). O gcloud auth login cria o projeto no GCP; o firebase login adiciona o Firebase nesse projeto. Se os e-mails forem diferentes, o kasy new (e o create_project do MCP) tende a falhar. Confira com kasy doctor ou alinhe com firebase login --reauth usando o mesmo e-mail do gcloud. Supabase/API sem push não precisa disso.
Blaze é só pra projeto Firebase. Supabase ou API REST: não precisa. O kasy new avisa na hora se faltar. A conta de faturamento você cria no Google Cloud Console.
Google Sign-In (Supabase sem companion): o login OAuth em Testing não cobra. Porém, ao criar um projeto GCP novo dentro de uma organização, o Console pode obrigar vincular faturamento (regra do Google Cloud, não do Supabase). Vincular ≠ pagar: sem APIs pagas ligadas, custo zero.
Blaze não é assinatura. É pague pelo uso: só cobra acima da camada gratuita do Firebase.
Próximo passo: criar seu primeiro app.
Informações
Licença da CLI
Não pedem licença: kasy doctor, kasy run, kasy features, kasy version, kasy help, kasy language, kasy status, kasy fix, kasy license, kasy uninstall.
Os outros pedem licença ativa. Lista em Comandos da CLI.
Atualizado em 03/11/2026

