Loading...
Loading...
Standardizes development environment setup across machines by generating tool version configs (Node, Python, Ruby), package manager configs (pnpm, Volta, asdf, mise), environment variable templates, and setup scripts with onboarding documentation. Use when users need to "setup dev environment", "standardize tooling", "configure version managers", or "create onboarding scripts".
npx skill4agent add patricio0312rev/skills dev-environment-bootstrapper// package.json
{
"volta": {
"node": "20.11.0",
"pnpm": "8.15.0"
}
}# .tool-versions
nodejs 20.11.0
python 3.11.7
ruby 3.2.2# .mise.toml
[tools]
node = "20.11.0"
python = "3.11"# .nvmrc
20.11.0# .env.example
# Application
NODE_ENV=development
PORT=3000
# Database
DATABASE_URL=postgresql://user:password@localhost:5432/dbname
# External APIs
OPENAI_API_KEY=sk-...
STRIPE_SECRET_KEY=sk_test_...
# Feature Flags
ENABLE_FEATURE_X=false#!/bin/bash
set -e
echo "🚀 Setting up development environment..."
# Check prerequisites
command -v pnpm >/dev/null 2>&1 || { echo "Installing pnpm..."; npm install -g pnpm; }
# Install dependencies
echo "📦 Installing dependencies..."
pnpm install
# Setup environment
echo "⚙️ Setting up environment variables..."
cp .env.example .env
echo "Edit .env file with your values"
# Setup database (if needed)
if [ -f "prisma/schema.prisma" ]; then
echo "🗄️ Setting up database..."
pnpm prisma generate
pnpm prisma migrate dev
fi
echo "✅ Setup complete! Run 'pnpm dev' to start"#!/bin/bash
set -e
echo "🚀 Setting up development environment..."
# Create virtual environment
python -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
pip install -r requirements-dev.txt
# Setup environment
cp .env.example .env
# Run migrations
python manage.py migrate
echo "✅ Setup complete! Run 'source venv/bin/activate && python manage.py runserver'"# Development Setup
## Prerequisites
- Node.js 20.11+ (managed via Volta)
- pnpm 8.15+
- PostgreSQL 15+
- Redis 7+ (optional)
## Quick Start
1. **Clone repository**
```bash
git clone <repo-url>
cd <repo-name>
```curl https://get.volta.sh | bash
# Volta will automatically use versions from package.json./scripts/setup.sh.env.example.envpnpm devlsof -ti:3000 | xargs killpg_isreadynvm usepnpm dev # Start dev server
pnpm build # Build for production
pnpm test # Run tests
pnpm lint # Check code quality
pnpm format # Format code
## Cross-Platform Considerations
### Shell Scripts
- Provide both .sh (Unix) and .ps1 (Windows) versions
- Or use Node.js scripts for true cross-platform
### Path Separators
- Use Node's `path.join()` in scripts
- Avoid hardcoded `/` or `\`
### Line Endings
- Configure .gitattributes:
## Version Manager Comparison
| Tool | Languages | Auto-switching | Config File |
|------|-----------|----------------|-------------|
| Volta | Node, Yarn, pnpm | Yes | package.json |
| asdf | Multi | Yes | .tool-versions |
| mise | Multi | Yes | .mise.toml |
| nvm | Node only | Manual | .nvmrc |
| pyenv | Python only | Yes | .python-version |
## Best Practices
1. **Pin exact versions** in configs to avoid surprises
2. **Document all requirements** in onboarding guide
3. **Test setup script** on clean machine
4. **Keep .env.example updated** with all variables
5. **Provide troubleshooting** for common issues
6. **Use tool version managers** over manual installs
7. **Make setup idempotent** (safe to run multiple times)
## Output Checklist
Every dev environment bootstrap should include:
- [ ] Version manager config (.tool-versions, package.json volta, etc.)
- [ ] Package manager choice documented
- [ ] .env.example with all variables
- [ ] Setup script (setup.sh or setup.js)
- [ ] SETUP.md or DEVELOPMENT.md onboarding guide
- [ ] Troubleshooting section
- [ ] Common commands reference
- [ ] Prerequisites listed