kasy update
Trazer melhorias do kit para um projeto existente sem quebrar customizações.
Implementação
Pelo MCP (recomendado): peça ao assistente "atualiza meu projeto pro kit mais novo". Ele roda update_project e, se algum arquivo que você customizou for sobrescrito, reconcilia sua mudança com o código novo em vez de descartar. Veja MCP do Kasy.
-
Rode:
kasy update -
Confira o que há de novo, mostrado no output. A CLI aplica patches incrementais e tenta preservar suas alterações em arquivos que você customizou.
Informações
Alvos do comando
| Comando | O que atualiza |
|---|---|
kasy update | Mostra o que há de novo para o seu projeto, comparando a versão da CLI que gerou o projeto com a atual |
kasy update components | A biblioteca de componentes (lib/components/) |
kasy update core | Os arquivos de núcleo do kit (tema, navegação, helpers) |
kasy update <feature> | Uma feature específica, por exemplo kasy update revenuecat |
kasy update backend | Migrations, Edge Functions, Cloud Functions e rules que faltam |
kasy update web | Os blocos de script do kit dentro do web/index.html |
kasy update ios-release | Scripts e arquivos de exemplo do fluxo de publicação iOS |
Faça commit antes de atualizar: o comando sobrescreve arquivos e avisa antes, mas o git diff é o que te deixa recuperar customizações com calma. Use --yes para pular a confirmação em automação.
Depois de atualizar, a CLI roda flutter pub get, o build_runner quando faz sentido, e grava a nova cliVersion no kit_setup.json.
Quando rodar
- Banner no
kasy run: "Melhorias disponíveis" - Depois de atualizar a CLI (
curl ... | bashou npm) - Antes de publicar uma versão grande
O que há de novo
Tela pós-update no app (se ligada) mostra changelog resumido. Detalhes completos vêm do output do kasy update.
kasy update backend
kasy update (sem alvo, components, core ou uma feature) só toca código Dart. Correções do lado do servidor (uma migration SQL nova, uma Edge Function/Cloud Function corrigida, um firestore.rules atualizado) não chegam num projeto já criado por nenhum desses caminhos.
kasy update backendIsso adiciona ao projeto o que estiver faltando:
- Supabase: migrations SQL e Edge Functions
- Firebase: Cloud Functions e
firestore.rules
Só adiciona o que falta. Nunca sobrescreve uma migration ou function que já existe no projeto (podem ter sido customizadas, e uma migration já aplicada num banco real é imutável). Depois de rodar, ainda falta enviar pro backend de verdade:
supabase db push
# ou
firebase deploy --only functions,firestore:rulesQuando o kit corrige um arquivo que você já tem
Como o comando nunca sobrescreve, uma correção publicada no kit depois que seu projeto foi criado não chega sozinha. Antes isso acontecia em silêncio. Agora o kasy update backend avisa, separando os dois casos que pedem ações diferentes:
- O kit corrigiu e você não mexeu no arquivo. Dá para trazer a versão nova direto, sem risco de perder nada seu.
- O kit corrigiu e você também editou. Aqui não dá para copiar por cima: você precisa olhar os dois lados e juntar à mão.
Se você personalizou um arquivo e o kit não mexeu nele, nenhum aviso aparece. Essa é a diferença que faz o aviso continuar valendo alguma coisa: ele só fala quando existe trabalho real do seu lado.
Isso funciona porque o kit registra, em .kasy/backend-files.json, o estado de cada arquivo no momento em que ele foi entregue ao projeto. Esse arquivo é versionado junto com o repositório, então vale para o time inteiro. Projetos criados antes dessa versão não têm o registro: neles o comando lista o que está diferente, avisando que não dá para saber quem mudou o quê, e passa a registrar dali em diante.
Arquivos de feature (telas, notifiers) continuam sem sincronização automática para projeto existente. Isso é escopo do template no momento da criação (kasy new), não do kasy update.
kasy update web
Parte do suporte a web mora no web/index.html, fora do código Dart: os scripts que limpam o storage de desenvolvimento, resolvem o tema antes do app carregar e corrigem a altura da tela no Safari do iPhone.
kasy update webEsse comando não copia o arquivo inteiro. Ele troca só os blocos de script que são do kit e deixa o resto intacto, então seu título, seu favicon, seu splash e qualquer coisa que você tenha colocado no index.html continuam do jeito que estão.
Se o projeto foi gerado sem suporte a web, o comando avisa e não faz nada.
Atualizado em 03/11/2026

