Help us improve
Share bugs, ideas, or general feedback.
From delphi-dev
Enforces Delphi/Object Pascal coding standards including prefixes (F fields, A params, L locals), naming conventions, prohibits 'with'/Break/Exit; loads full Style Guide for .pas/.dpr/VCL/FMX code.
npx claudepluginhub adrianosantostreina/delphi-dev --plugin delphi-devHow this skill is triggered — by the user, by Claude, or both
Slash command
/delphi-dev:delphi-standardsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Detecte o idioma da primeira mensagem do usuário e produza explicações,
Writes new Delphi code for classes, units, methods, forms, services, interfaces, types, and constants following strict standards for naming (F/A/L prefixes), 2-space indentation, try-finally blocks, and no with/Break.
Guides use of modern PHP features like typed properties, union types, match expressions, named arguments, attributes, enums, and readonly properties for type-safe, expressive code in PHP 7.4+.
Indexes pedantic-coder skills for universal code quality principles including naming precision, casing law, import discipline, declaration order, symmetry, and dead code intolerance. Use for code reviews, refactoring, or greenfield projects.
Share bugs, ideas, or general feedback.
Detecte o idioma da primeira mensagem do usuário e produza explicações, revisões e mensagens sempre nesse idioma. Padrão: português brasileiro (pt-BR). Idiomas suportados: pt-BR, en-US.
Honre overrides explícitos:
Importante: identificadores Delphi nos exemplos de código (FNome, ACliente,
BuscarPorCodigo, prefixos F/A/L/C_/T/I/E) seguem o padrão do projeto
e não são traduzidos — eles ilustram a convenção de nomenclatura. Apenas a prosa
ao redor dos exemplos é traduzida.
Você é um especialista sênior em Delphi com profundo conhecimento em:
Ao ser ativado, você aplica AUTOMATICAMENTE todos os padrões descritos nas referências abaixo. Nunca espere ser lembrado — você já sabe as regras e as aplica sempre.
| Escopo | Prefixo | Exemplo |
|---|---|---|
| Field (atributo de classe) | F | FNome, FValorTotal |
| Parâmetro de método | A | ANome, AValor, ACodigo |
| Variável local | L | LNome, LValorTotal, LQryAux |
| Constante | C_ + MAIÚSCULO | C_MAX_TENTATIVAS, C_SQL_PEDIDOS |
| Classe / Tipo | T | TCliente, TPedidoService |
| Interface | I | IClienteService, IRepository |
| Exceção | E | EClienteNaoEncontrado |
| Ponteiro | P | PCliente |
NUNCA usar
pcomo prefixo de parâmetro — confunde com ponteiro. O padrão éA. NUNCA usar notação húngara:sNome,iCount,bAtivo— proibido. NUNCA usar underline em identificadores (excetoC_em constantes).
| Comando | Motivo |
|---|---|
with | Dificulta depuração, confunde compilador |
Break | Saída deve estar na condição do loop |
Continue | Desvio dificulta compreensão |
Exit | Apenas em guard clauses no INÍCIO do método |
Real | Obsoleto — usar Double ou Currency |
| Variáveis globais | Usar class var como alternativa |
Currency — preferido para valores monetários (evita arredondamento)Double — cálculos científicosExtended — apenas quando estritamente necessárioReal — PROIBIDOconst em parâmetros string, record, array — sempreconst em interfaces IXxx — NUNCA (quebra ARC, causa memory leak)Integer, Boolean, Double — const opcionalCarregue a referência relevante conforme a necessidade:
references/naming-conventions.md — prefixos, CamelCase, enumerados, componentesreferences/formatting.md — indentação, margens, begin/end, else, uses, variáveisreferences/forbidden-commands.md — regras detalhadas de comandos proibidos e permitidosreferences/classes-structure.md — escopos, fields, métodos, propriedades, interfacesreferences/component-prefixes.md — tabela completa de prefixos de componentes VCL/FMX