Todos os blocos e campos
Padrões de Engenharia
Todos os blocos de Padrões de Engenharia pertencem exclusivamente ao arquivo de padrões (por convenção padroes.spell). O compilador emite ❌ ERRO se encontrá-los em qualquer outro arquivo.
Bloco O que define Sub-blocos
TecnologiaStack tecnológico completo Backend, Frontend, Autenticacao, Comunicacao, Integracao, Bibliotecas
ArquiteturaPadrão arquitetural, pastas, erros, logging —
ConvencoesDNomenclatura e comportamento do banco —
ConvencoesCNomenclatura do código-fonte —
APIEstilo, URLs, versionamento, envelope, CORS —
InterfaceDesign system, temas, formulários, feedback —
QualidadeTipos de teste, cobertura mínima —
EngenhariaBranching, commits, variáveis de ambiente Configuracoes
SkillsCapacidades esperadas do agente executor —
TemaIdentidade visual e tokens de design Cores, Cores.claro, Cores.escuro, Tipografia, Formas, Componentes, Comportamento
SiteSite institucional separado da aplicação —
Domínio do Sistema
Bloco O que contém Sub-blocos / Keywords
DadosModelagem de dados do sistema table, Indices, Configuracao
RegrasRegras de negócio explícitas rule
EndpointsOperações da API REST endpoint, Entrada, Params, Respostas
TelasInterfaces do usuário screen, Layout, Wireframes
SegurancaPolíticas de segurança e acesso Middleware
ServicosJobs em background e tarefas agendadas service
ComandosComandos CLI — apenas em projetos com tipo: cli command, Args, Flags, Saida
Tipos de campo em tabelas
Tipo Descrição SQL típico
inteiroNúmero inteiro INTEGER / BIGINT
decimalNúmero com decimais DECIMAL / NUMERIC
texto(N)String com máximo N caracteres VARCHAR(N)
booleanoVerdadeiro ou falso BOOLEAN
dataData sem hora DATE
data-horaData e hora com fuso TIMESTAMP WITH TIME ZONE
horaHora do dia TIME
arquivoReferência a blob/arquivo externo VARCHAR (URL ou chave)
jsonObjeto JSON sem esquema fixo JSONB / JSON
Modificadores de campo
Modificador Efeito
chave-primariaPRIMARY KEY
auto-incrementoSERIAL / IDENTITY — gerado automaticamente
unicoUNIQUE constraint
obrigatorioNOT NULL
opcionalPermite NULL (padrão quando omitido)
privadoNão retornado em respostas de API por padrão
indexadoCria índice simples na coluna
padrao: valorValor padrão quando não informado
Campos de rule
Campo Obrigatório Descrição
tipoNão validacao, autorizacao, rate-limit, negocio, auditoria
contextoRecomendado Em que situação a regra se aplica
condicaoRecomendado Quando a regra é acionada
acaoRecomendado O que acontece quando a condição é verdadeira
excecaoNão Casos em que a regra não se aplica
motivoNão Justificativa de negócio
Campos de endpoint
Campo / Sub-bloco Descrição
rotaMÉTODO /caminho — ex: POST /usuarios
autenticacaoobrigatoria ou nao-requerida
regrasLista de nomes de regras separados por vírgula
Entrada { }Campos do body da requisição
Params { }Parâmetros de query string
Respostas { }Códigos HTTP e descrições
Campos de command (projetos CLI)
Usado dentro de Comandos { } em projetos com tipo: cli no Backend { }. Substitui endpoint / Endpoints { } para aplicações de linha de comando.
Campo / Sub-bloco Obrigatório Descrição
usoNão String de uso do comando — ex: mycli build [arquivo]
descricaoNão O que o comando faz em uma linha
Args { }Não Argumentos posicionais — mesma sintaxe de campos de tabela
Flags { }Não Flags nomeadas: --nome: descrição do flag
Saida { }Recomendado Contrato de saída: sucesso: descrição e erro: descrição
Regras do auditor para Comandos { }:
tipo: cli + Endpoints { } presente → ⚠️ AVISO: tipo cli não usa Endpoints — use Comandos { }
tipo: cli + Telas { } presente → ⚠️ AVISO: tipo cli não usa Telas
command sem Saida { } → ⚠️ AVISO: comando sem contrato de saída declarado
Campos de service
Campo Descrição
periodicidadeFrequência de execução. Texto livre.
horarioHorário de execução para jobs diários (HH:MM)
ciclo-de-vidasingleton, scoped, transient, hosted-service