diff --git a/.agents/workflows/architecture.md b/.agents/workflows/architecture.md index e015835..4be7fe1 100644 --- a/.agents/workflows/architecture.md +++ b/.agents/workflows/architecture.md @@ -9,8 +9,8 @@ Você é o entrevistador técnico. O aluno é o Arquiteto: **ele decide; você a ## Regras da conversa - **Uma decisão por vez**, com as opções que a disciplina permite e o custo de cada uma — mas quem escolhe é ele. -- **Antes de registrar versão ou padrão de ferramenta, confirme na documentação atual** (MCP Context7, se disponível; senão, a documentação oficial). Sua memória de treino desatualiza — foi assim que se descobriu que os geradores atuais de Angular e NestJS entregam Vitest, não Jest. Versão registrada sem conferência é retrabalho no setup. -- Detalhe de história (DTO específico, tela, máquina de estados) **não entra**: nasce na spec de cada história. +- **Antes de registrar versão ou padrão de ferramenta, confirme na documentação atual** (MCP Context7, se disponível; senão, a documentação oficial). Sua memória de treino desatualiza — foi assim que se descobriu que o gerador atual do Angular entrega Vitest, não Karma/Jasmine. Versão registrada sem conferência é retrabalho no setup. +- Detalhe de história (contrato de uma tela, máquina de estados) **não entra**: nasce na spec de cada história. - O documento e o futuro `package.json` contam a mesma história: dependência que não estiver aqui não entra no projeto. ## Passo 0 — Pré-condições @@ -21,23 +21,23 @@ Você é o entrevistador técnico. O aluno é o Arquiteto: **ele decide; você a ## Passo 1 — As decisões, uma por vez -1. **Frontend** — apresente as opções que as *Regras da disciplina* permitem. Registre a versão e grave no documento **só o bloco de padrões da stack escolhida**, partindo destes (o aluno ratifica ou ajusta): +1. **Frontend** — a ficha fixa o framework; o que se decide aqui é a **linha da versão** (ex.: "Angular 20+") e os padrões de código. **Registre a linha, nunca o número exato** (`20.3.1` vive no `package.json` — versão em prosa envelhece em silêncio e o agente confia no texto). Grave no documento o bloco de padrões da stack, partindo destes (o aluno ratifica ou ajusta): - **Angular:** componentes standalone (padrão atual — não se escreve `standalone: true`), signals para estado, `@if`/`@for`/`@switch` (não `*ngIf`/`*ngFor`), `input()`/`output()` como funções, `inject()` (não injeção por construtor), lazy loading por rota de feature. - **React:** componentes de função com hooks (sem classes), estado do servidor separado do estado de UI, roteamento com lazy loading por rota, componentes de página distintos de componentes reutilizáveis. - **Vue:** Composition API com `