一键导入
delphi-dext-framework
Diretrizes de qualidade e desenvolvimento de APIs web, ORM, injeção de dependências e testes utilizando o Dext Framework em Delphi.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Diretrizes de qualidade e desenvolvimento de APIs web, ORM, injeção de dependências e testes utilizando o Dext Framework em Delphi.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Diretrizes de SOLID, Clean Code e padrões de nomenclatura para classes, interfaces, métodos e variáveis em projetos Delphi.
Desenvolvimento de microserviços e APIs REST com o framework minimalista Horse em Delphi. Rotas, controllers, middlewares, gerenciamento de memória e tratamento de parâmetros.
Diretrizes de qualidade e desenvolvimento de templates HTML e páginas dinâmicas com Web Stencils (Server-Side Rendering) no Delphi.
Diretrizes e mapeamentos de expressões regulares para migração de componentes Borland Database Engine (BDE) para FireDAC no Delphi.
Diretrizes e mapeamentos de expressões regulares para migração de componentes dbExpress (DBX) para FireDAC no Delphi.
Arquitetura e padrões de integração com o ecossistema ACBr (Automação Comercial Brasil) em Delphi. Desacoplamento de UI e controle fiscal.
| name | delphi-dext-framework |
| description | Diretrizes de qualidade e desenvolvimento de APIs web, ORM, injeção de dependências e testes utilizando o Dext Framework em Delphi. |
Estas regras definem o contrato de codificação para projetos que utilizam o Dext Framework, garantindo a adoção de padrões de desenvolvimento modernos (inspirados em ASP.NET Core), alto desempenho e ausência de vazamentos de memória.
Devido à limitação do compilador Delphi de permitir apenas um class helper ativo por tipo de dados, a ordem das units Dext na cláusula uses é altamente crítica e deve seguir exatamente esta sequência:
DextDext.Entity (opcional, se usar persistência)Dext.Web (sempre por último)uses
Dext,
Dext.Entity, // Opcional
Dext.Web; // Sempre por último para garantir prioridade de Helpers Web
{param} (estilo ASP.NET Core) e nunca :param (estilo Express/Node.js)./ (ex: [HttpGet('/{id}')]).MapGet, MapPost, etc.), o último parâmetro de tipo genérico é sempre IResult. Os parâmetros anteriores são resolvidos automaticamente a partir de injeção de dependência (DI), corpo da requisição (records) ou parâmetros de rota:
// Injeção de IUserService via DI + binding automático de Id da rota
Builder.MapGet<IUserService, Integer, IResult>('/api/users/{id}',
function(Svc: IUserService; Id: Integer): IResult
begin
Result := Results.Ok(Svc.GetById(Id));
end);
Ctx.RequestServices.GetService<T> ou parsing manual de JSON como Ctx.Request.BodyAsJson<T>. Confie nos parâmetros genéricos mapeados no endpoint.Create, pois isso cria conflito com os construtores padrões do Delphi (use CreateUser, CreateOrder, etc.).Dext.Core.SmartTypes) em vez do tipo genérico Prop<T>.Prop<Nullable<T>> (ex: Prop<Nullable<Integer>>) em vez de Nullable<Prop<T>> (obsoleta, gera alertas e quebra a ordenação em queries).TObjectList<T> a partir de métodos de acesso a dados ou repositórios ORM. Use sempre IList<T> (de Dext.Collections), o que favorece o desacoplamento..WithPooling(True) para DbContexts declarados em APIs Web..Update(Entity) antes de invocar SaveChanges ao manipular entidades que estejam desanexadas (detached) do contexto.Dext.Entity.Core na cláusula uses para garantir a compilação correta das propriedades genéricas de IDbSet<T>..AddTransient<TInterface, TImpl>: Para serviços sem estado..AddScoped<TInterface, TImpl>: Para serviços instanciados uma vez por requisição web (ex: controladores e regras de negócio)..AddSingleton<TInterface, TImpl>: Para estados e caches compartilhados globais.[Inject].Mock<T> (de Dext.Mocks) é implementado como um record no Delphi. Nunca chame .Free ou tente liberar a memória de um Mock, pois registros são liberados automaticamente pelo compilador.Value.Should.BeTrue;
List.Count.Should.Be(10);
SetConsoleCharSet em programas de teste (console test runners) para correta formatação dos logs.O framework Dext possui um conjunto completo de 22 skills modulares detalhadas para agentes de IA no diretório original do repositório $(DEXT)\Docs\skills\. Caso precise implementar recursos específicos e avançados, consulte as diretrizes correspondentes:
dext-app-structure.md, dext-server-adapters.mddext-web.md, dext-api-features.md, dext-database-as-api.mddext-orm.md, dext-orm-advanced.mddext-validation.md, dext-auth.mddext-di.md, dext-background.md, dext-resilience.md, dext-logging.mddext-realtime.md, dext-networking.md, dext-collections.md, dext-json.mddext-desktop-ui.md, dext-mcp.mddext-testing.md