SPELL / Documentação
← Site principal

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.

BlocoO que defineSub-blocos
TecnologiaStack tecnológico completoBackend, 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 ambienteConfiguracoes
SkillsCapacidades esperadas do agente executor
TemaIdentidade visual e tokens de designCores, Cores.claro, Cores.escuro, Tipografia, Formas, Componentes, Comportamento
SiteSite institucional separado da aplicação

Domínio do Sistema

BlocoO que contémSub-blocos / Keywords
DadosModelagem de dados do sistematable, Indices, Configuracao
RegrasRegras de negócio explícitasrule
EndpointsOperações da API RESTendpoint, Entrada, Params, Respostas
TelasInterfaces do usuárioscreen, Layout, Wireframes
SegurancaPolíticas de segurança e acessoMiddleware
ServicosJobs em background e tarefas agendadasservice
ComandosComandos CLI — apenas em projetos com tipo: clicommand, Args, Flags, Saida

Tipos de campo em tabelas

TipoDescriçãoSQL típico
inteiroNúmero inteiroINTEGER / BIGINT
decimalNúmero com decimaisDECIMAL / NUMERIC
texto(N)String com máximo N caracteresVARCHAR(N)
booleanoVerdadeiro ou falsoBOOLEAN
dataData sem horaDATE
data-horaData e hora com fusoTIMESTAMP WITH TIME ZONE
horaHora do diaTIME
arquivoReferência a blob/arquivo externoVARCHAR (URL ou chave)
jsonObjeto JSON sem esquema fixoJSONB / JSON

Modificadores de campo

ModificadorEfeito
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

CampoObrigatórioDescrição
tipoNãovalidacao, autorizacao, rate-limit, negocio, auditoria
contextoRecomendadoEm que situação a regra se aplica
condicaoRecomendadoQuando a regra é acionada
acaoRecomendadoO que acontece quando a condição é verdadeira
excecaoNãoCasos em que a regra não se aplica
motivoNãoJustificativa de negócio

Campos de endpoint

Campo / Sub-blocoDescriçã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-blocoObrigatórioDescrição
usoNãoString de uso do comando — ex: mycli build [arquivo]
descricaoNãoO que o comando faz em uma linha
Args { }NãoArgumentos posicionais — mesma sintaxe de campos de tabela
Flags { }NãoFlags nomeadas: --nome: descrição do flag
Saida { }RecomendadoContrato de saída: sucesso: descrição e erro: descrição

Regras do auditor para Comandos { }:

Campos de service

CampoDescriçã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