Generate docker-compose.yml for local development. Detects services from project dependencies and configures health checks. Use for setting up Docker-based local development with databases, caches, and other services.
Generates docker-compose.yml files for local development by detecting required services from your project's dependencies.
npx claudepluginhub jugrajsingh/skillgardenThis skill is limited to using the following tools:
references/elasticsearch.mdreferences/kafka.mdreferences/localstack.mdreferences/minio.mdreferences/mongodb.mdreferences/mysql.mdreferences/postgres.mdreferences/rabbitmq.mdreferences/redis.mdGenerate docker-compose.yml for local development by detecting required services from project dependencies.
Glob: Dockerfile, Dockerfile.*
If no Dockerfile found, suggest running dockercraft:dockerfile first.
Glob: pyproject.toml, package.json, go.mod, Cargo.toml, pom.xml
Scan dependency files for service hints:
| Dependency Pattern | Suggested Service | Reference File |
|---|---|---|
| postgres, asyncpg, psycopg, pg, prisma (postgres) | postgres | references/postgres.md |
| redis, ioredis, bull, aioredis | redis | references/redis.md |
| elasticsearch, @elastic/elasticsearch | elasticsearch | references/elasticsearch.md |
| mongo, mongoose, pymongo, motor | mongodb | references/mongodb.md |
| rabbitmq, amqp, amqplib, pika, celery, kombu | rabbitmq | references/rabbitmq.md |
| kafka, kafkajs, confluent-kafka, aiokafka | kafka | references/kafka.md |
| mysql, mysql2, mysqlclient | mysql | references/mysql.md |
| aws, boto, boto3, aiobotocore, s3, sqs, @aws-sdk | localstack | references/localstack.md |
| minio | minio | references/minio.md |
Present multi-select via AskUserQuestion with detected services pre-selected:
Detected services from dependencies:
☑ postgres (asyncpg found)
☑ redis (redis found)
☐ elasticsearch
☐ mongodb
☐ localstack (AWS)
☐ rabbitmq
☐ kafka
☐ minio
Select services for docker-compose.yml:
Read ONLY the reference files for user-confirmed services. Each reference file contains:
Via AskUserQuestion:
App configuration:
Port: [8000]
Environment: [local]
Mount source code? [Yes/No]
Compose the file using the app skeleton below plus service definitions from loaded references:
# =============================================================================
# docker-compose.yml - Local Development
# =============================================================================
# Usage:
# docker compose up -d # Start all services
# docker compose logs -f app # Follow app logs
# docker compose down # Stop all services
# =============================================================================
services:
app:
build:
context: .
dockerfile: Dockerfile
environment:
- ENVIRONMENT=local
- DEBUG=true
{service_env_vars}
volumes:
- .:/app:ro
ports:
- "{app_port}:{app_port}"
depends_on:
{service_dependencies}
{service_definitions}
volumes:
{volume_definitions}
For proper startup ordering, use health-check-based conditions:
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
Created docker-compose.yml:
App configuration:
- Port: {port}
- Source mounted: {yes/no}
Services ({count}):
{service_list_with_ports}
Environment variables added:
{env_vars}
Commands:
docker compose up -d # Start all services
docker compose logs -f app # View app logs
docker compose ps # List containers
docker compose down # Stop all services
docker compose down -v # Stop and remove volumes
Each service is defined in its own reference file under references/:
references/postgres.md - PostgreSQL 16 with health checkreferences/redis.md - Redis 7 with persistencereferences/elasticsearch.md - Elasticsearch 8 single-nodereferences/mongodb.md - MongoDB 7references/rabbitmq.md - RabbitMQ 3 with management UIreferences/kafka.md - Confluent Kafka + Zookeeperreferences/localstack.md - LocalStack for AWS servicesreferences/minio.md - MinIO S3-compatible storagereferences/mysql.md - MySQL 8