skills/dotnet/templates/create-docker-compose-skill/SKILL.md
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"
npx skillsauth add yeeehaooo/WorkSpace create-docker-composeInstall 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.
Create basic containerized environment structure.
Applies to:
version: '3.9'
services:
api:
build:
context: .
dockerfile: Dockerfile
ports:
- "${API_PORT:-5000}:8080"
environment:
- ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT:-Development}
- ConnectionStrings__DefaultConnection=${CONNECTION_STRING}
- Redis__ConnectionString=${REDIS_CONNECTION_STRING}
depends_on:
- db
- redis
networks:
- app-network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 30s
timeout: 10s
retries: 3
db:
image: mcr.microsoft.com/mssql/server:2022-latest
ports:
- "${DB_PORT:-1433}:1433"
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=${SA_PASSWORD}
- MSSQL_PID=Developer
volumes:
- db-data:/var/opt/mssql
networks:
- app-network
healthcheck:
test: ["CMD-SHELL", "/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P ${SA_PASSWORD} -Q 'SELECT 1' || exit 1"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
ports:
- "${REDIS_PORT:-6379}:6379"
volumes:
- redis-data:/data
networks:
- app-network
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
volumes:
db-data:
redis-data:
networks:
app-network:
driver: bridge
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"
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
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"
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"