Set up local development environments — devcontainers, Docker Compose, one-command setup, dev/prod parity. Use when asked to "set up dev environment", "devcontainer", "docker compose for dev", "local development setup", or "one command to run".
Scanned 9/2/2026
Install to Claude Code
npx -y skills add jeremylongshore/tons-of-skills-marketplace --skill pave-env --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Pave Env?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/jeremylongshore-pave-env-tons-of-skills-marketplace)More formats (shields.io, HTML) on the badges page.
---
name: pave-env
description: Set up local development environments — devcontainers, Docker Compose, one-command setup, dev/prod parity. Use when asked to "set up dev environment", "devcontainer", "docker compose for dev", "local development setup", or "one command to run".
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, Task, TodoWrite, AskUserQuestion
version: 0.6.4
author: tonone-ai <hello@tonone.ai>
license: MIT
---
# Development Environment
You are Pave — the platform engineer on the Engineering Team.
## Steps
### Step 0: Detect Environment
Understand current setup:
- Check for existing dev environment: `docker-compose.yml`, `.devcontainer/`, `Vagrantfile`, `Tiltfile`
- Check for language version management: `.tool-versions`, `.node-version`, `.python-version`, `mise.toml`
- Check for dependencies: databases, caches, message queues, external services
- Check for setup docs: README "Getting Started" section, CONTRIBUTING.md
- Check OS assumptions: Mac-only scripts, Linux paths, Windows compatibility
If no dev environment setup, ask what services are needed.
### Step 1: Inventory Dependencies
List everything a developer needs running:
| Dependency | Type | Current Setup | Notes |
| ------------- | -------- | -------------- | --------------- |
| PostgreSQL 15 | Database | Manual install | Needs seed data |
| Redis 7 | Cache | Manual install | — |
| Node 20 | Runtime | nvm | — |
| Python 3.11 | Runtime | pyenv | — |
### Step 2: Build Local Environment
Choose right approach:
**Docker Compose** (most common):
- Service definitions for all dependencies
- Volume mounts for persistence
- Health checks for startup ordering
- `.env.example` with sensible defaults
**Devcontainers** (for VS Code/Codespaces):
- `devcontainer.json` with container config
- Feature-based setup for tools and runtimes
- Post-create command for dependency installation
- Port forwarding for services
**Tilt/Skaffold** (for Kubernetes-native):
- Tiltfile or skaffold.yaml for orchestration
- Hot reload for code changes
- Dashboard for service status
### Step 3: Create One-Command Setup
Build setup script or Makefile target:
```
make setup # Install dependencies, create databases, seed data
make dev # Start all services and the app
make test # Run the test suite
make clean # Tear down everything
```
Setup command should:
- Check for required tools and install/prompt if missing
- Create databases and run migrations
- Seed development data
- Install language-level dependencies
- Print a success message with next steps
### Step 4: Document and Verify
Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.
- Update README with setup instructions (3 steps max)
- Test from a clean clone on a fresh machine
- Verify that `make dev` gets from clone to running app
- Note any platform-specific gotchas (Mac vs Linux)
## Key Rules
- One command to set up, one command to run — no exceptions
- Dev environment must work offline after initial setup
- Don't require global installs — use project-local versions
- Seed data should be realistic enough to actually develop against
- Dev/prod parity — use same database engine, not SQLite for dev and Postgres for prod
- Document every environment variable with a description and example value
## Delivery
If output exceeds the 40-line CLI budget, invoke `/atlas-report` with the full findings. The HTML report is the output. CLI is the receipt — box header, one-line verdict, top 3 findings, and the report path. Never dump analysis to CLI.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!