chore(agent): remover permissoes de commit da IA no projeto e wiki (apenas sugerir texto) e manter push automatico exclusivo no .agent
This commit is contained in:
parent
212d2578f4
commit
26a4f98dab
116 changed files with 1162 additions and 1315 deletions
|
|
@ -1,3 +1,12 @@
|
|||
---
|
||||
type: rule
|
||||
name: uso-estrito-enums-tabelas
|
||||
description: Uso estrito de constantes canônicas de Tabelas e Enums exportados por *-comuns (proibição de magic strings)
|
||||
scope: global
|
||||
trigger: always_on
|
||||
updatedAt: "2026-10-14"
|
||||
---
|
||||
|
||||
# Regra: Uso Estrito de Enums e Constantes de Tabelas (Eliminação de Strings Literais)
|
||||
|
||||
## Contexto
|
||||
|
|
@ -11,8 +20,9 @@ A utilização de strings mágicas (magic strings) e literais soltos para repres
|
|||
**É terminantemente proibido utilizar strings literais para referenciar tabelas do banco de dados ou valores que pertençam a enums canônicos.**
|
||||
|
||||
Todo desenvolvedor e agente de IA deve obrigatoriamente:
|
||||
1. Utilizar a constante canônica `Tabelas` para toda e qualquer referência a tabelas no banco de dados (Knex, migrations, queries);
|
||||
2. Utilizar os objetos de Enum canônicos correspondentes para toda comparação, atribuição e checagem condicional de estado, papel, tipo ou severidade.
|
||||
1. Consultar `memorias-ia/modulo.yml` para identificar o módulo e importar as definições a partir do pacote compartilhado `<modulo>-comuns`;
|
||||
2. Utilizar a constante canônica `Tabelas` (ou `tabelas`) para toda e qualquer referência a tabelas no banco de dados (Knex, migrations, queries);
|
||||
3. Utilizar os objetos de Enum canônicos correspondentes para toda comparação, atribuição e checagem condicional de estado, papel, tipo ou severidade.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -27,7 +37,8 @@ db("tarefas_manutencao")
|
|||
|
||||
### ✅ Correto
|
||||
```typescript
|
||||
import { Tabelas } from "atende-comuns";
|
||||
// Importar do pacote <modulo>-comuns do projeto atual
|
||||
import { Tabelas } from "<modulo>-comuns";
|
||||
|
||||
db(Tabelas.tickets)
|
||||
db(`${Tabelas.usuarios} as u`)
|
||||
|
|
@ -48,12 +59,13 @@ if (msg.tipo_mensagem === "nota_interna_equipe") { ... }
|
|||
|
||||
### ✅ Correto
|
||||
```typescript
|
||||
// Importar os enums canônicos do pacote <modulo>-comuns
|
||||
import {
|
||||
StatusTicket,
|
||||
TipoUsuarioInterno,
|
||||
TipoManutencaoSoftware,
|
||||
TipoMensagem,
|
||||
} from "atende-comuns";
|
||||
} from "<modulo>-comuns";
|
||||
|
||||
if (ticket.status === StatusTicket.resolvido) { ... }
|
||||
if (usuario.papel === TipoUsuarioInterno.administrador) { ... }
|
||||
|
|
@ -67,4 +79,4 @@ if (msg.tipo_mensagem === TipoMensagem.nota_interna_equipe) { ... }
|
|||
|
||||
- Refatorações seguras assistidas pelo compilador TypeScript (`tsc --noEmit`);
|
||||
- Zero regressões causadas por erros tipográficos em nomes de tabelas ou enums;
|
||||
- Código fortemente tipado em todas as camadas (comuns, back, front e migração).
|
||||
- Código fortemente tipado em todas as camadas (`*-comuns`, `*-back`, `*-front` e `*-migracao`).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue