Engineering dev guidelines
Esta skill está dividida em ficheiros .md ao lado deste SKILL.md. O Cursor entra por aqui; o agente deve ler os segmentos certos (progressive disclosure — um nível de links).
Ordem prática de escolha (decisão rápida)
- Só “embelezar” ecrã / tipografia / motion / anti-template → ui-visual.md (e front-tecnico.md se também mexer em
fetch, rotas ou estrutura de pastas). - SPA: hooks, cliente HTTP, pastas, TanStack Query, cookies → front-tecnico.md.
- Java: controller, service, JPA,
application.yml, exceções API → backend-java.md. - Postgres/Mongo, migrações, SQS/Rabbit, JWT,
/internal, CORS → dados-seguranca.md. - Logs, tracing, Docker/CI, ADR, desenho gateway + worker → ops.md.
- “MVC ou DDD?”, MVP, validação
@Valid, paginação API → arquitetura.md. - Qualquer código ou refactor → incluir parceria.md (regras de parceria, §1.13, PowerShell, segurança em YAML). Se tiver dúvida, começar por aqui.
Contexto por projeto
Cruzar sempre com README, docs/ e ADRs do repositório em curso.
Checklist §1.0 (memória imediata)
- Contexto: app/serviço do repo (API, worker,
web, BFF) + módulo + objetivo; se ambíguo → uma pergunta. - grep antes de duplicar padrões.
- Padrão do repo + erros API (detalhe em backend-java.md §10.2–10.3).
- Um eixo por entrega; diff revisável.
- Validação: PowerShell + Maven/Gradle no módulo certo (parceria.md §1.9).
- Leitura em paralelo em tarefas médias/grandes.
Pormenor completo da §1: parceria.md.
Tabela de ficheiros (§ e gatilhos)
| Ficheiro | § | Incluir quando a tarefa envolve | Palavras-chave |
|---|---|---|---|
| parceria.md | §1 | Comportamento do agente, escopo, Git, overengineering, DRY/SOLID, argumentos em variáveis, PowerShell, SecurityConfig / YAML |
sempre código, refactor, Windows, commits |
| arquitetura.md | §2–§7 | Escolha de stack, MVP, modular, MVC vs DDD, gateway, @Valid, webhooks, paginação |
MVC, DDD, MVP, OpenAPI, gateway |
| front-tecnico.md | §8–§9 | Tokens de DS, a11y base, cliente HTTP único, pastas, Query/SWR, estados loading/erro | React, Vue, fetch, axios, i18n, CSRF |
| backend-java.md | §10 | Spring Boot, code/type erros, JPA/Flyway, records, perfis yml, RestClient, @Transactional |
Spring, JPA, Flyway, DTO, handler |
| dados-seguranca.md | §11–§14 | Escolha de BD, convenções SQL/Mongo, fila, OAuth/RBAC, TLS, /internal |
Postgres, Mongo, SQS, JWT, RBAC |
| ops.md | §15–§18 | Logs, tracing opcional, Compose, tópicos ADR, padrão monorepo (edge + APIs + worker) | Docker, CI, ADR, Micrometer, monorepo |
| ui-visual.md | extensão | Tokens (cores/raios/spacing), grid 8 pt, dark mode, microinterações, tipo, sombra, anti-UI de IA, checklist visual | bonito, layout, CSS, tokens, dark mode, shadcn, Lovable, Replit |
Full-stack típico: parceria.md + arquitetura.md ou backend-java.md + front-tecnico.md; se a UI for protagonista, ui-visual.md.
Mapa § → ficheiro: §1 → parceria · §2–7 → arquitetura · §8–9 → front-tecnico · §10 → backend-java · §11–14 → dados-seguranca · §15–18 → ops.
Quando em dúvida sobre produto
Não inventar regra de negócio: perguntar ao humano ou apontar para documentação de produto do repositório (docs/, README, ADRs).
Após planejamento
Quando a tarefa vier de um plano (feature, ADR), ao implementar manter consistência com o que foi decidido; se o plano e o código divergirem, sinalizar antes de silenciosamente seguir só uma das partes.
Planejamento de produto
Para planear antes de codar, usar a skill product-technical-planning.