diff --git a/.agents/agents/tutor.md b/.agents/agents/tutor.md index 032e8aa..351b2d1 100644 --- a/.agents/agents/tutor.md +++ b/.agents/agents/tutor.md @@ -226,6 +226,12 @@ o que a pasta `apps/api`, reservada e vazia, está guardando lugar para> (só os que importam: o `package.json`, `angular.json`, `tsconfig.json`, a configuração do runner de teste, `.gitignore`, `.gitattributes`, `.github/`) +## O tema, do documento ao CSS + + ## Por que a suíte nasce verde e vazia setup não gera backend nenhum; ela só guarda o lugar (e o `db.json` do > json-server, se o documento assim declarar). +### 📦 3.1. A raiz do monorepo (npm workspaces) + +O `package.json` da raiz declara os subprojetos e concentra os comandos: + +```json +{ + "name": "[nome-do-projeto]", + "private": true, + "workspaces": ["apps/*"], + "scripts": { + "start": "npm run start -w apps/web", + "build": "npm run build -w apps/web", + "test": "npm run test -w apps/web", + "lint": "npm run lint -w apps/web", + "format": "prettier --write .", + "api": "json-server db.json" + } +} +``` + +> 📌 **O que os workspaces resolvem aqui.** Um `npm install` na raiz instala as +> dependências de todos os `apps/*` de uma vez, num `node_modules` só: quem clona o +> repositório roda **um** comando, não um por pasta. A flag `-w` executa um script +> dentro de um subprojeto sem `cd`. O curinga `apps/*` faz qualquer pasta nova ali +> dentro ser reconhecida sem editar este arquivo, e `"private": true` impede a +> publicação acidental no npm. **`apps/api/` não tem `package.json` e é ignorada pelo +> npm** — nada a fazer nela. + ### Organização interna do app (`apps/web/src/app/` — feature-driven) [decidido na entrevista: `core/` (singletons: guards, interceptors, services de