dmis

Generate a modular .NET backend skeleton with Clean Architecture, DDD, CQRS, and Dapper-first persistence.

Updated Feb 20, 2026
One-click install
npx skills add https://github.com/yeeehaooo/WorkSpace --skill dmis
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dmis
Source: https://github.com/yeeehaooo/WorkSpace/tree/main/skills/dotnet/structures/dmis
Command: npx skills add https://github.com/yeeehaooo/WorkSpace --skill dmis

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Enterprise backend projects struggle with inconsistent architecture and layering leading to brittle code. This DMIS structure provides a standardized, four-layer blueprint (Api, Application, Domain, Infrastructure) with Dapper-first persistence to enforce separation of concerns and scalable, testable codebases.

Core Features & Use Cases

  • Four-layer architecture: Api, Application, Domain, Infrastructure, with vertical slice API organization.
  • Persistence via Dapper-first strategy, optional EF Core; CQRS separation; Unit of Work.
  • Module-oriented structure: Modules/{ModuleName}/{UseCase}/ to organize endpoints, commands, and queries.
  • Use cases include starting new enterprise backend projects, implementing Clean Architecture with DDD and CQRS, and building scalable API endpoints.

Quick Start

Create a new DMIS backend project scaffold following the Modules structure and four-layer separation.

Frequently Asked Questions about dmis

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure a .NET backend with Clean Architecture and CQRS?

Organize a .NET backend with Clean Architecture and CQRS by separating Api, Application, Domain, and Infrastructure layers. Group features under Modules/{ModuleName}/{UseCase} directories to enforce vertical slice API design and clear separation of concerns across enterprise projects.

What is vertical slice architecture in DDD and when should I use it?

Vertical slice architecture in DDD organizes endpoints, commands, and queries by use case rather than by technical type. Use it for enterprise backend projects requiring scalable, testable codebases with clear module boundaries and strict separation of Api, Application, Domain, and Infrastructure layers.

How do I scaffold a new .NET project using DDD and vertical slices?

Scaffold a new .NET backend project by creating a modular four-layer structure separating Api, Application, Domain, and Infrastructure. Organize features under Modules/{ModuleName}/{UseCase}/ directories to implement endpoints, commands, and queries following DDD and CQRS patterns.

Does this .NET backend structure support Dapper for persistence?

Yes, this .NET backend structure uses a Dapper-first persistence strategy. It supports read models via Query Services and includes a Unit of Work pattern, while also allowing optional EF Core for projects requiring clear infrastructure separation.

What's the best way to organize enterprise .NET modules for scalability?

The best way to organize enterprise .NET modules for scalability is using a module-oriented structure under Modules/{ModuleName}/{UseCase}/. This vertical slice approach groups endpoints, commands, and queries together, enforcing Clean Architecture and DDD boundaries across the codebase.

Why use Dapper-first persistence instead of EF Core in Clean Architecture?

Use Dapper-first persistence in Clean Architecture to gain direct control over read models via Query Services and optimize query performance. The architecture supports optional EF Core, allowing you to mix persistence strategies within the Infrastructure layer based on use case needs.