From ee49f0cdb14a0b0a14fccb2b3f49e8dfd505236d Mon Sep 17 00:00:00 2001 From: Roni Fabio Banaszewski Date: Mon, 28 Sep 2026 15:57:01 -0300 Subject: [PATCH] =?UTF-8?q?docs:=20testes=20e=20lint=20v=C3=AAm=20declarad?= =?UTF-8?q?os=20no=20esqueleto=20da=20arquitetura?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit O template é só Angular: a ferramenta de teste é o Vitest do ng new e os comandos são os scripts da raiz (npm test, npm run lint), já declarados no §3.1. O /utf-architecture deixa de entrevistar sobre comando e passa a apresentar isso para o aluno ratificar, explicando por que é Vitest e não Karma. Co-Authored-By: Claude Opus 5.5 (1M context) --- .agents/workflows/utf-architecture.md | 2 +- docs/architecture.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.agents/workflows/utf-architecture.md b/.agents/workflows/utf-architecture.md index 6bd86b0..ba84458 100644 --- a/.agents/workflows/utf-architecture.md +++ b/.agents/workflows/utf-architecture.md @@ -33,7 +33,7 @@ Você é o entrevistador técnico. O aluno é o Arquiteto: **ele decide; você a Independente da escolha, registre também a **regra da camada de dados**, que vale para as três: componente não fala com o servidor — todo acesso à API passa por uma camada de repositório/serviço; mudança de contrato mexe só nessa camada, nunca nas telas. 2. **Fonte de dados, por fase** — o que a ficha fixa, registre como está; o que ela deixa livre, decida aqui: onde vive o `db.json` do json-server no MVP, qual BaaS entra na E3 e como a troca é absorvida pelos Services. -3. **Testes** — a ferramenta em cada app e os **comandos exatos** para rodar suíte e lint. +3. **Testes** — já vêm declarados no esqueleto (§2 e §3.1): **Vitest**, o padrão do gerador, e os scripts da raiz `npm test` e `npm run lint`. **Não entreviste sobre comando:** apresente como padrão a ratificar, explicando em uma frase por que é Vitest e não Karma (o Karma é o que a maioria dos tutoriais mostra, e virou opção no gerador). Só mude se o aluno pedir outra ferramenta — aí registre o comando dela no lugar. 4. **Estrutura do projeto** — a casca de monorepo `apps/web` (o app Angular) e `apps/api` (**vazia**, reservada para uma API real futura; o setup não gera nada nela), e a organização interna de `apps/web/src/app/`: `core/` (Services de dados, guards, interceptors), `shared/` (componentes burros, pipes) e `features/` (uma pasta por domínio), com a regra de dependência entre elas. 5. **Glossário técnico** — termos do PRD (PT) → entidades (EN) com atributos principais. Dados e código em inglês, interface em português — meio a meio é o que produz `listaPedidos`. 6. **Diagrama ER (Mermaid)** — as entidades e relações, incluindo as que o **escopo mínimo da ficha** exige. diff --git a/docs/architecture.md b/docs/architecture.md index 29473f7..72d7fb4 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -47,7 +47,7 @@ - **Framework CSS:** [Tailwind, PrimeNG, …] (ID5) - **Dados (em duas fases):** **json-server** no MVP (E2) → **[Supabase, PocketBase, …]** na E3, com autenticação (JWT) e CRUD reais (IDs 21–22). A troca atinge só os Services (§2.1). - **PWA:** `manifest.webmanifest` — ícones, cores de tema, splash, standalone, offline (ID3) -- **Testes e lint:** [ferramenta do gerador] + comandos exatos de suíte e lint (ID33). O linter não vem no `ng new`: o setup instala o oficial (`ng add angular-eslint`), mais Prettier e `eslint-config-prettier` na raiz. +- **Testes e lint:** **Vitest**, o padrão do `ng new` desde o Angular 21 — o Karma, que aparece na maioria dos tutoriais, virou opção. Da raiz, `npm test` roda a suíte e `npm run lint` roda o linter: são os scripts do §3.1 (ID33). O linter não vem no `ng new`: o setup instala o oficial (`ng add angular-eslint`), mais Prettier e `eslint-config-prettier` na raiz. ### 🌐 2.1. Camada de dados — regras estruturais