From architecture-dotnet
Gera endpoints ASP.NET Core seguindo Clean Architecture e padrões estabelecidos. Use quando o usuário mencionar "criar endpoint", "novo endpoint", "adicionar endpoint", "API endpoint", "controller", "minimal API", "rota", "HTTP GET/POST/PUT/DELETE", "CRUD endpoint", "endpoint para", "expor via API", "criar rota". Também dispara quando o usuário pedir para criar funcionalidades que precisam ser expostas via HTTP. NÃO use para lógica de domínio pura sem exposição HTTP.
How this skill is triggered — by the user, by Claude, or both
Slash command
/architecture-dotnet:architecture-controllerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Gera endpoints ASP.NET Core completos seguindo Clean Architecture, Result Pattern e boas práticas.
Gera endpoints ASP.NET Core completos seguindo Clean Architecture, Result Pattern e boas práticas.
references/patterns.md para entender os padrões de códigoreferences/structure.md para a estrutura de arquivosreferences/examples.md para exemplos completosPergunte ao usuário se não estiver claro:
Determine:
Para cada endpoint, gere na ordem:
Models/Requests/{Action}{Entity}Request.cs)Validators/{Action}{Entity}RequestValidator.cs)Antes de finalizar, verifique:
Result<T> como retorno dos handlersCancellationToken em todos os métodos asyncProducesResponseTypeTodos os handlers retornam Result<T> ou Result:
public async Task<Result<EntityDto>> Handle(Command request, CancellationToken ct)
{
// Validação de negócio
if (conditionFails)
return Result.Invalid(new ValidationError("Field", "Message"));
// Not found
if (entity is null)
return Result.NotFound("Entity not found");
// Sucesso
return Result.Success(dto);
}
Controllers usam ISender (não IMediator):
private ISender? _mediator;
protected ISender Mediator => _mediator ??=
HttpContext.RequestServices.GetRequiredService<ISender>();
| Artefato | Padrão | Exemplo |
|---|---|---|
| Controller | {Entity}Controller | ProductsController |
| Endpoint Group | {Entity}Endpoints | ProductEndpoints |
| Command | {Action}{Entity}Command | CreateProductCommand |
| Query | Get{Entity}Query | GetProductByIdQuery |
| Request | {Action}{Entity}Request | CreateProductRequest |
| Validator | {Request}Validator | CreateProductRequestValidator |
Causa: MediatR não registrou o handler
Solução: Verificar se AddApplication() está no Program.cs
Causa: Validator não registrado ou behavior ausente
Solução: Verificar AddValidatorsFromAssembly() e ValidationBehavior
Causa: Filter não configurado ou método ToActionResult ausente
Solução: Usar ApiControllerBase ou adicionar ResultTransformFilter
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub brunocesharp/claude --plugin architecture-dotnet