Consolidação: auth, forms, enums e documentação em 14 workspaces
Centralização de auth, react-hook-form + Zod nos formulários, remoção de react-aria em favor do shadcn/ui, refactor de enums de domínio, migração de build para Railpack, e sprint de documentação.
Segundo dia consecutivo de trabalho intenso no projeto cliente (NDA). 14 workspaces em paralelo, 36 sessões de agentes, 26 commits únicos. O foco mudou de fundação (dia anterior) para consolidação: autenticação, validação de formulários, qualidade de código e documentação de onboarding.
Projeto cliente (NDA)
Autenticação centralizada
Criei um AuthProvider (React Context) para organizar sessão e login num único lugar.
A rota DELETE de usuários retornava 500 quando o perfil no banco era inválido. Agora valida e responde com erro legível.
Renomeei variáveis genéricas (atualizado para usuarioAtualizado) para deixar o código mais claro.
Formulários com react-hook-form + Zod
Migrei os formulários menores para react-hook-form com schemas Zod.
Os dois maiores (NovoRelatorio, ~3k linhas, e GestaoRelacional, ~5k linhas) ficaram de fora: têm auto-save, debounce, arrays repetíveis (useFieldArray), autocompletes com estado paralelo e integração offline.
Migrá-los em massa seria arriscado, então a infraestrutura (schemas, ErrorField, padrão RHF) ficou pronta para adoção incremental.
Consolidação de component library
Avaliei se fazia sentido manter react-aria-components junto com shadcn/ui.
A conclusão foi que não: shadcn/ui (baseado em Radix) já cobre todos os componentes necessários.
Removi a dependência e simplifiquei a árvore.
Refactor de enums de domínio
Apliquei a skill domain-enums no frontend e backend: enums tipados no lugar de strings mágicas.
Padronizei nomenclatura (rotulo virou label, sufixoRelatorio se manteve por ser específico do domínio).
Deploy e infra (Railway)
Migrei o build do backend de Nixpacks para Railpack.
Corrigi falha de build e configurei o service domain em produção.
Cadastrei o admin inicial no banco de produção e documentei o fluxo de ALLOW_BOOTSTRAP_ADMIN.
Um workspace levantou custos e possibilidades de hospedar frontend no Railway (decidi manter na Vercel).
Sync e PWA offline
Corrigi bugs de integridade e confiabilidade da sincronização. Estudei padrões offline-first (web.dev) e documentei como testar o PWA localmente. Melhorei a interface do "Novo Relatório" e reorganizei a documentação relacionada.
Documentação e onboarding
O volume de docs foi alto:
CONTRIBUTING.mdcom setup passo a passo para macOS, Linux e Windows.- Reorganização da pasta
docs/(separação frontend/backend dentro dearquitetura/). - Guia de uso para o usuário final, escopado por perfil (admin, gestor, piloto).
- Diagrama de arquitetura, plano de QA, documentação de partes críticas.
- Regra para devs: não pedir para o agente de IA rodar o app mais de uma vez (evitar re-executar migrations).
UI e revisões
Adicionei pulso translúcido ao botão do WhatsApp.
Abri issues no GitHub e marquei progresso nas tarefas em andamento.
Criei tarefas pendentes para máscaras de input (área total aceitando letras, falta de type="number" e validação Zod).
tgmarinho-ai-website
Fechei o PR com as entradas de journal da semana (dias 27 e 28).
Um dia de consolidação onde cada workspace resolveu uma dívida técnica específica, e no final a base de código ficou mais legível, mais documentada e mais fácil de entrar para quem é novo no projeto.