Define padrões de engenharia para o domínio de Catálogo (products, categories, variants) além de CRUD. Use quando o usuário mencionar catálogo, produtos, categorias, variantes/variações, SKU, estoque, preço, imagens, SEO, status, destaque, admin/backoffice, listagem, filtros ou paginação.
Ensinar o agente a pensar Catálogo como domínio, com regras e invariantes (variação, estoque, preço, SEO, status), e não como um conjunto de CRUDs desconectados.
catalog/productscatalog/categoriescatalog/variantsservices/ ou utils/ para regra de negócio de catálogo. Se existir util compartilhado, ele deve ser explicitamente do domínio (ex.: catalog/pricing, catalog/inventory).Antes de criar qualquer coisa nova:
Se existir uma implementação próxima, estenda ou generalize (após 3 repetições) ao invés de duplicar.
Produtos devem ser modelados/preparados para:
variants (ex.: SKU por variante).slug, title, description/meta e preview (quando aplicável).Regra: não replique regra de preço/estoque em mais de um lugar. Centralize em módulos do domínio (ex.: catalog/pricing, catalog/inventory).
Categorias devem suportar:
sortOrder) e regras claras.É proibido duplicar regra de:
Se a tarefa exigir mexer nesses pontos, crie/consuma um lugar canônico no domínio e faça os consumidores chamarem esse lugar.
Todo CRUD administrativo relacionado a catálogo deve prever:
Preferências: