By baoduy
Slash commands, subagents, and skills for shipping vertical-slice features end-to-end on the DKNet.Minimal.Template (.NET 10, DDD/CQRS, EF Core, .NET Aspire, SlimMessageBus, FluentValidation, Reqnroll BDD).
You are DKNet BDD Test Engineer.
Scaffold AppServices CRUD actions (Create/Update/Delete + DTO + spec + domain event) for an existing DKNet aggregate.
You are Spec Developer, a workflow orchestrator for Spec-Kit in this workspace.
Generate or refresh feature documentation (README + architecture diagrams + API reference) under src/docs or docs/features for an implemented DKNet feature.
Add a Minimal API IEndpointConfig that exposes CRUD actions for a DKNet feature with idempotency on POST.
Use when planning a new feature in a DKNet.Minimal.Template solution before any code is written — produces a vertical-slice plan covering Domains/Infra/AppServices/Api layers, identifies aggregates, events, validators, specs, and endpoints, and surfaces architectural risks. Read-only research; does not modify code.
Use to add or update Reqnroll + NUnit BDD scenarios for a DKNet feature. Builds .feature files and step bindings using specs/<feature>/contracts as the assertion source of truth, validates HTTP status + response shape + key fields, and runs the BDD test project.
Use to implement an approved DKNet feature plan end-to-end across Domains, Infra, AppServices, and Api layers, including EF migration, FluentValidation, Mapster DTOs, domain events, and endpoint wiring. Expects an architect plan or a clear feature spec; runs build between steps.
Write integration/unit tests for a DKNet.Templates feature using the ApiFixture + IMessageBus pattern, covering DI wiring, command/query handling, FluentValidation, EF Core persistence, and domain events. Use after AppServices actions and endpoint config are ready.
Create EF Core entity type configurations (mappers), static data seeders, and infra services following this project's auto-discovery conventions. Use after creating a domain entity.
Create Minimal API endpoint configurations using this project's IEndpointConfig pattern with fluent helpers (MapGetList, MapGetById, MapPost, MapPut, MapDelete). Use after AppServices actions are ready.
Generate structured technical documentation and Mermaid architecture diagrams for completed features. Use this when documenting implemented features with README, architecture diagrams, and API references.
Create CRUD actions (Create/Update/Delete), DTOs, validators, specs, and domain events at the AppServices layer using this project's SlimMessageBus + FluentResults + Mapster pattern. Use after domain entity and EF Core config are ready.
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A production-ready ASP.NET Core solution template built on vertical slice architecture combining:
UseAutoConfigModel, UseAutoDataSeeding)Install from GitHub Packages:
dotnet nuget add source \
--username <YOUR_GITHUB_USERNAME> \
--password <YOUR_GITHUB_PAT_WITH_READ_PACKAGES> \
--store-password-in-clear-text \
--name github \
"https://nuget.pkg.github.com/baoduy/index.json"
Install the latest template version directly from the GitHub feed:
dotnet new install DKNet.Minimal.Template --nuget-source "https://nuget.pkg.github.com/baoduy/index.json"
Or install a specific version:
dotnet new install DKNet.Minimal.Template::latest --nuget-source "https://nuget.pkg.github.com/baoduy/index.json"
dotnet new dknet-minimal -n MyCompany.MyService
This generates a fully-wired solution under a MyCompany.MyService/ folder:
MyCompany.MyService/
├── MyCompany.MyService.sln
├── global.json
├── Directory.Packages.props
├── coverage.runsettings
└── MyCompany.MyService.ApiEndpoints/
├── MyCompany.MyService.Api/ # Minimal API entry point
├── MyCompany.MyService.AppHost/ # .NET Aspire orchestration host
├── MyCompany.MyService.AppServices/ # Application/use-case layer (CQRS)
├── MyCompany.MyService.Domains/ # Domain entities, repos, events
├── MyCompany.MyService.Infra/ # EF Core, repos, event publisher
├── MyCompany.MyService.Share/ # Constants, options, shared types
└── MyCompany.MyService.App.Tests/ # xUnit + Shouldly test project
| Parameter | Default | Description |
|---|---|---|
-n, --name | MyApp | Root namespace and folder name |
--AuthorName | Steven Hoang | Embedded in project metadata |
--CompanyUrl | https://drunkcoding.net | <Company> in project metadata |
--RepositoryUrl | https://github.com/baoduy/DKNet | <RepositoryUrl> in metadata |
Example with all parameters:
dotnet new dknet-minimal -n Acme.OrderService \
--AuthorName "Jane Smith" \
--CompanyUrl "https://acme.com" \
--RepositoryUrl "https://github.com/acme/order-service"
# Restore
dotnet restore <Name>.sln
# Build
dotnet build <Name>.sln -c Release
# Run API only
dotnet run --project <Name>.ApiEndpoints/<Name>.Api
# Run with Aspire (Redis + SQL Server auto-provisioned via Docker)
dotnet run --project <Name>.ApiEndpoints/<Name>.AppHost
# Test
dotnet test <Name>.sln --settings coverage.runsettings --collect:"XPlat Code Coverage"
From inside <Name>.ApiEndpoints/:
# Add a new migration
./add-migration.sh <MigrationName>
# Remove the last migration
./remove-migration.sh <MigrationName>
Follow the Profiles/V1 pattern already in the template:
<Name>.Domains/Features/<Feature>/Entities/<Name>.Infra/Features/<Feature>/Mappers/<Name>.AppServices/<Feature>/V1/<Name>.Api/ApiEndpoints/<Feature>V1Endpoint.cs (implement IEndpointConfig)See AGENTS.md for the full architecture reference.
The repo ships a Claude Code plugin and a GitHub Copilot plugin that drive vertical-slice features end-to-end. Generated solutions include both folders (.claude/, .claude-plugin/, .github/), so your team gets the same agents, skills, and slash commands the template authors use.
/plugin marketplace add baoduy/dknet.templates
/plugin install dknet-minimal
Once installed, the following slash commands are available:
npx claudepluginhub baoduy/dknet.templates --plugin dknet-minimalAI assistant for configuring drunk-app Helm chart deployments — answers questions, generates values.yaml, validates configurations
Step-by-step wizard for generating technical diagrams as SVG+PNG.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.
Write feature specs, plan roadmaps, and synthesize user research faster. Keep stakeholders updated and stay ahead of the competitive landscape.
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.