skills/dotnet/structures/dmis/SKILL.md
Enterprise backend structure built on Clean Architecture, DDD, CQRS, and Vertical Slice API Design with Dapper-first persistence. Use when: - Creating new enterprise backend projects - Implementing Clean Architecture with DDD and CQRS - Building vertical slice API endpoints - Using Dapper as primary persistence mechanism - Organizing modules by UseCase-driven and Model-driven separation Triggers: "dmis structure", "clean architecture", "enterprise backend", "DDD CQRS", "vertical slice", "dapper"
npx skillsauth add yeeehaooo/WorkSpace dmisInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Enterprise backend structure built on Clean Architecture, DDD, CQRS, and Vertical Slice API Design with Dapper-first persistence.
Applies to:
Four-layer architecture:
Dependency direction:
Api Layer:
Modules/{ModuleName}/{UseCase}/Application Layer:
Modules/{ModuleName}/Commands/ and Queries/Domain Layer:
Infrastructure Layer:
Api: Modules/{ModuleName}/{UseCase}/ (Endpoint, Request, Response, Mapping)
Application: Modules/{ModuleName}/Commands/ and Queries/
Domain: Modules/{ModuleName}/ and Kernel/ (AggregateRoot, IRepository, Guards, SmartEnums, ErrorCodes)
Infrastructure: Persistence/ (Dappers, Repositories, QueryServices, ReadModels, DataModels), Security/, Caching/, Logging/
DMIS_Backend/
├── DMIS_Backend.Api/
│ └── Modules/
│ └── Orders/
│ └── CreateOrder/
│ ├── CreateOrderEndpoint.cs
│ ├── CreateOrderRequest.cs
│ ├── CreateOrderResponse.cs
│ └── CreateOrderMapper.cs
├── DMIS_Backend.Application/
│ └── Modules/
│ └── Orders/
│ ├── Commands/
│ │ └── CreateOrder/
│ │ ├── CreateOrderCommand.cs
│ │ └── CreateOrderHandler.cs
│ └── Queries/
│ └── GetOrder/
│ ├── GetOrderQuery.cs
│ └── GetOrderHandler.cs
├── DMIS_Backend.Domain/
│ ├── Kernel/
│ │ ├── AggregateRoot.cs
│ │ ├── IRepository.cs
│ │ └── Guards.cs
│ └── Modules/
│ └── Orders/
│ ├── Order.cs
│ ├── IOrderRepository.cs
│ └── ValueObjects/
│ └── OrderStatus.cs
└── DMIS_Backend.Infrastructure/
└── Persistence/
├── Dappers/
│ └── OrderDapper.cs
├── Repositories/
│ └── OrderRepository.cs
└── QueryServices/
└── OrderQueryService.cs
This structure works well with:
development
Create reusable .NET atomic capability code snippets that can be directly copied and pasted. Use when: - Creating single-purpose code snippets - Building reusable code templates - Implementing atomic technical capabilities - Creating copy-pasteable code blocks - Building snippet library for common patterns Triggers: "create snippet", "code snippet", "reusable snippet", "atomic snippet", "copy-paste code"
development
Create Docker Compose configuration for containerized .NET application development and deployment. Use when: - Containerizing .NET applications - Setting up local development environment with dependencies - Creating multi-container setups (API + DB + Redis) - Defining service dependencies and networking - Building docker-compose.yml for development or production Triggers: "docker compose", "containerize", "multi-container", "docker-compose.yml", "docker setup"
tools
Create adapter structure for integrating third-party APIs in Clean Architecture applications. Use when: - Integrating external APIs or services - Creating HTTP client adapters for third-party services - Implementing API integration with error handling - Setting up adapter pattern for external dependencies - Building resilient external service integrations Triggers: "api adapter", "third-party api", "external service", "http client adapter", "api integration"
development
Layered architecture with vertical slice organization following Clean Architecture principles. Use when: - Creating new .NET backend projects requiring strict layer separation - Building applications with Clean Architecture principles - Implementing vertical slice API organization - Projects requiring framework-agnostic domain layer - Applications that need CQRS support Triggers: "clean architecture", "layered architecture", "vertical slice", "clean structure", "layer separation"