dev-environment-wizard
Interactive setup wizard for development environments. ALWAYS trigger first when users want to set up, create, or initialize a new development environment. Asks discovery questions about tech stack, services, and preferences, then coordinates other skills (zero-to-running, database-seeding, git-hooks, local-ssl, env-manager) to generate a customized environment.
When & Why to Use This Skill
The Development Environment Wizard is an advanced interactive Claude skill designed to automate the complex process of initializing customized development environments. By acting as an orchestrator, it conducts a discovery process to understand a project's tech stack and requirements, then coordinates specialized sub-skills to generate production-ready Docker configurations, local SSL certificates, database seeds, and Git hooks, significantly reducing the time from project conception to a running local setup.
Use Cases
- Case 1: Rapidly bootstrapping a new full-stack application (e.g., Next.js + FastAPI + PostgreSQL) with a single interactive session that generates all necessary Docker and environment configurations.
- Case 2: Setting up a secure local development environment with trusted HTTPS/SSL certificates to test OAuth integrations, payment gateways, or service workers.
- Case 3: Standardizing development workflows across a team by automatically generating consistent Git hooks for linting, pre-commit testing, and standardized commit messages.
- Case 4: Initializing complex local environments that require realistic test data across multiple services using automated database seeding factories.
- Case 5: Adapting existing projects to a containerized workflow by detecting current technologies and generating a tailored 'zero-to-running' orchestration layer.
| name | dev-environment-wizard |
|---|---|
| description | Interactive setup wizard for development environments. ALWAYS trigger first when users want to set up, create, or initialize a new development environment. Asks discovery questions about tech stack, services, and preferences, then coordinates other skills (zero-to-running, database-seeding, git-hooks, local-ssl, env-manager) to generate a customized environment. |
Development Environment Wizard
Interactive wizard that discovers requirements and orchestrates other skills to create a perfectly tailored development environment.
When to Trigger
This skill should ALWAYS be the first one triggered when users request:
- "Set up a development environment"
- "Create dev environment for my project"
- "I need a local development setup"
- "Help me initialize my development workflow"
- Any variation of setting up/creating/initializing a dev environment
Discovery Process
Step 1: Project Understanding
Ask these questions to understand the project:
Required Questions:
What's your tech stack?
- Frontend framework? (React, Vue, Angular, Svelte, Next.js, None)
- Backend framework? (Node/Express, FastAPI, Django, Rails, Go, Java Spring, .NET, None)
- Database? (PostgreSQL, MySQL, MongoDB, SQLite, None)
- Cache/Queue? (Redis, Memcached, RabbitMQ, None)
What services do you need running?
- List all services (API, Frontend, Database, Cache, etc.)
- Any additional services? (Elasticsearch, S3-compatible storage, etc.)
Do you already have a project, or are we starting fresh?
- Existing project → Adapt to existing structure
- New project → Generate full structure
Optional Questions (ask based on needs): 4. Do you need HTTPS for local development?
- OAuth/payment testing?
- Service worker testing?
- Subdomain testing?
Do you want realistic test data?
- User profiles, posts, comments, etc.?
- How much data? (dozens, hundreds, thousands)
Code quality automation?
- Pre-commit linting?
- Pre-push testing?
- Commit message standards?
Multiple environments?
- Dev/test/staging profiles?
- Different configurations per environment?
Step 2: Technology Detection
Based on answers, determine:
- Container orchestration: Docker Compose (default) or Kubernetes
- Language-specific needs: Node.js versions, Python versions, etc.
- Port defaults: Standard ports or custom
- Volume mounts: What needs hot reload
Step 3: Skill Coordination
Based on discovery, coordinate these skills:
interface EnvironmentPlan {
core: {
useSkill: 'zero-to-running',
config: {
services: string[],
ports: Record<string, number>,
orchestration: 'docker-compose' | 'kubernetes',
healthChecks: boolean,
}
},
optional: {
ssl?: {
useSkill: 'local-ssl',
domains: string[],
},
seeding?: {
useSkill: 'database-seeding',
models: string[],
recordCounts: Record<string, number>,
},
hooks?: {
useSkill: 'git-hooks',
preCommit: string[],
prePush: string[],
},
environments?: {
useSkill: 'env-manager',
profiles: string[],
}
}
}
Orchestration Logic
1. Generate Core Environment (Always)
Use zero-to-running skill to generate:
- docker-compose.yml with specified services
- Makefile with all commands
- .env.example with discovered variables
- Health check scripts
- Startup/teardown scripts
- DEVELOPER_SETUP.md
Customize based on:
- Detected languages (adjust Dockerfiles)
- Specified services (only include what's needed)
- Port preferences (use custom ports if specified)
2. Add Optional Features (If Requested)
If SSL needed:
- Use local-ssl skill
- Generate certificates for specified domains
- Update docker-compose.yml with cert mounts
- Update nginx config with HTTPS
If test data needed:
- Use database-seeding skill
- Generate seed factories for specified models
- Customize record counts
- Add seed scripts to package.json
If code quality needed:
- Use git-hooks skill
- Set up Husky + lint-staged
- Configure ESLint/Prettier for language
- Add pre-commit/pre-push hooks
If multiple environments needed:
- Use env-manager skill
- Generate .env.{dev,test,staging} files
- Create environment switcher script
- Add validation scripts
3. Integration & Testing
After generating all files:
- Validate configuration consistency
- Check for port conflicts
- Ensure all scripts are executable
- Generate integration documentation
- Provide testing instructions
Example Workflows
Example 1: Simple React + Node App
User: "Set up a dev environment for my React and Node.js app"
Wizard Questions:
Q: What database do you need?
A: PostgreSQL
Q: Do you need a cache like Redis?
A: Yes
Q: Do you need HTTPS for local dev?
A: No
Q: Want realistic test data?
A: Yes, a few hundred users and posts
Q: Set up Git hooks for code quality?
A: Yes
Generated Files (using 4 skills):
- ✅ zero-to-running: docker-compose.yml, Makefile, scripts/
- ✅ database-seeding: seed-factory.ts, seed.ts
- ✅ git-hooks: .husky/, configs
- ❌ local-ssl: Not needed
- ❌ env-manager: Single environment sufficient
Example 2: Full-Stack with Everything
User: "Create a production-like dev environment with all features"
Wizard: (Asks all questions)
Generated Files (using all 5 skills):
- ✅ zero-to-running: Full setup
- ✅ database-seeding: Complex seeds
- ✅ git-hooks: Strict quality checks
- ✅ local-ssl: HTTPS with trusted certs
- ✅ env-manager: Dev/test/staging profiles
Example 3: Minimal Python API
User: "Simple FastAPI dev setup"
Wizard Questions (minimal):
Q: Database?
A: SQLite
Q: Any other services?
A: No
Generated Files (minimal zero-to-running):
- docker-compose.yml (just API service)
- Makefile (simplified)
- Basic scripts
Decision Tree
User requests dev environment
↓
Wizard skill triggers FIRST
↓
Ask discovery questions
↓
Determine tech stack
↓
Plan skill usage
↓
Generate with zero-to-running (ALWAYS)
↓
Add optional features (IF REQUESTED):
- database-seeding
- git-hooks
- local-ssl
- env-manager
↓
Validate & integrate
↓
Provide files + instructions
Communication Style
Good Approach:
I'll help you set up your development environment! Let me ask a few
questions to customize it for you:
1️⃣ Tech Stack:
• Frontend framework? (React/Vue/Angular/other)
• Backend framework? (Node/Python/Go/other)
• Database? (PostgreSQL/MySQL/MongoDB/other)
2️⃣ Optional Features:
• Need HTTPS locally? (y/n)
• Want test data generation? (y/n)
• Set up Git hooks? (y/n)
• Multiple environments? (y/n)
I'll generate a customized setup based on your answers!
Bad Approach:
Here's a generic docker-compose file. You'll need to modify it for your stack...
Output Format
After discovery, provide:
- Summary of what will be generated:
📋 Environment Plan:
✅ Core: React + Node.js + PostgreSQL + Redis
✅ Optional: HTTPS, Test Data, Git Hooks
📦 Using skills: zero-to-running, database-seeding, git-hooks, local-ssl
Generating your custom environment...
Generated files with explanations
Setup instructions:
🚀 Quick Start:
1. Copy these files to your project
2. Run: make dev
3. Access: http://localhost:3000
📚 Full documentation in DEVELOPER_SETUP.md
- Next steps:
✨ You can now:
• make dev - Start everything
• make db-seed - Generate test data
• make ssl-setup - Enable HTTPS
• make test - Run tests
Need help? Check the troubleshooting section!
Integration with Other Skills
This skill should:
- Never work alone - Always use zero-to-running at minimum
- Coordinate, don't duplicate - Reference other skills, don't reimplement
- Customize, don't boilerplate - Adapt templates to actual needs
- Validate combinations - Ensure skills work together
- Document integration - Explain how pieces fit
Best Practices
- Ask before assuming - Don't guess the tech stack
- Start minimal - Only add complexity if needed
- Explain choices - Tell users why you're suggesting features
- Provide examples - Show what each feature does
- Test mentally - Ensure generated config will work
- Document everything - No mystery files
Error Prevention
Before generating:
- ✅ Validate port availability
- ✅ Check service compatibility
- ✅ Ensure scripts are platform-compatible
- ✅ Verify all referenced skills are available
- ✅ Test configuration consistency
Special Cases
Existing Project
If user has existing files:
- Ask to see current structure
- Adapt rather than replace
- Highlight what will change
- Offer backup suggestions
Monorepo
If multiple services in one repo:
- Ask about service structure
- Generate per-service configs
- Create root orchestration
- Document monorepo patterns
Non-Standard Stack
If technologies aren't in standard list:
- Ask for details
- Research best practices
- Generate custom Dockerfiles
- Document special setup
Success Criteria
A successful wizard session should:
- ✅ Understand exact requirements
- ✅ Generate working configuration
- ✅ Include only requested features
- ✅ Provide clear setup instructions
- ✅ Enable
make devto work immediately - ✅ Result in <10 minute setup time
Anti-Patterns to Avoid
❌ Generating everything by default (bloat) ❌ Assuming tech stack (ask!) ❌ Copy-pasting without customizing ❌ Missing integration points ❌ No validation of generated config ❌ Unclear documentation
Example Session
User: "Set up a dev environment for my app"
Wizard: "I'll create a customized development environment for you!
Let me ask a few quick questions:
1. What's your tech stack?
• Frontend: ?
• Backend: ?
• Database: ?
2. Which optional features do you want?
• HTTPS for local development? (y/n)
• Realistic test data generation? (y/n)
• Automated code quality checks? (y/n)
• Multiple environment profiles? (y/n)
Answer these and I'll generate everything!"
User: "Frontend is React, backend is Node/Express, database is
PostgreSQL. Yes to all optional features."
Wizard: "Perfect! Generating your environment...
📋 Plan:
• Core: React + Node.js/Express + PostgreSQL + Redis
• HTTPS: mkcert with trusted certificates
• Test Data: Faker-based seed generation
• Code Quality: Git hooks with ESLint/Prettier
• Environments: Dev, Test, Staging profiles
Using 5 skills: zero-to-running, database-seeding, git-hooks,
local-ssl, env-manager
[Generates all files...]
✅ Done! Your environment is ready.
🚀 Quick Start:
1. Copy generated files to your project root
2. Run: make dev
3. Access: https://localhost:3000
📚 See DEVELOPER_SETUP.md for full documentation
Need any adjustments?"