dev-environment-bootstrapper について
プロジェクトごとに一貫した再現可能な開発環境を整えるチーム向けのスキルです。技術スタックの検出からバージョン設定、環境変数テンプレート、セットアップスクリプト、導入ドキュメントまで扱います。
主な機能
- 01プロジェクトの技術スタック検出
- 02言語バージョン管理ツールの選定
- 03バージョン設定ファイルの生成
- 04環境変数テンプレートの作成
- 05セットアップスクリプトと導入資料の作成
- 06クロスプラットフォーム設定への配慮
活用シーン
- 01新規プロジェクトの環境設定を用意
- 02チーム内で言語やツールのバージョンを統一
- 03環境構築を自動化するスクリプトを作成
- 04開発環境のセットアップ手順を文書化
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ patricio0312rev/ skills --skill dev-environment-bootstrapperインストール後、Claude Code で/dev-environment-bootstrapperを入力して読み込まれたか確認します。
詳細
開発環境ブートストラップツール
すべてのマシンで一貫性があり、再現可能な開発環境を作成します。
基本的なワークフロー
- スタックを検出する:プロジェクトで使用されている言語とツールを特定します
- バージョンマネージャーを選択する:適切なツール(Volta、asdf、mise、nvm、pyenv)を選びます
- 設定ファイルを生成する:.tool-versions、.nvmrc、package.json の volta フィールドなどを作成します
- 環境変数を設定する:必要なすべての変数を含む .env.example を作成します
- セットアップスクリプトを作成する:セットアップを自動化するブートストラップスクリプトを生成します
- オンボーディング用ドキュメントを作成する:手順を追った説明を含む SETUP.md を作成します
バージョン管理の方法
Volta(Node.js に推奨)
// package.json
{
"volta": {
"node": "20.11.0",
"pnpm": "8.15.0"
}
}
asdf(複数言語に対応)
# .tool-versions
nodejs 20.11.0
python 3.11.7
ruby 3.2.2
mise(asdf の最新の代替ツール)
# .mise.toml
[tools]
node = "20.11.0"
python = "3.11"
nvm(Node.js のみ)
# .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
セットアップスクリプトの構成
Node.js プロジェクトの場合
#!/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"
Python プロジェクトの場合
#!/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>
```
-
ツールをインストールする(Volta を使用する場合)
curl https://get.volta.sh | bash # Volta will automatically use versions from package.json -
セットアップスクリプトを実行する
./scripts/setup.sh -
環境を設定する
.env.exampleを.envにコピーします- 必要な値を入力します
- 詳細については ENVIRONMENT_VARIABLES.md を参照してください
-
開発サーバーを起動する
pnpm dev
トラブルシューティング
ポートがすでに使用されています
- プロセスを終了する:
lsof -ti:3000 | xargs kill
データベースへの接続に失敗しました
- PostgreSQL が実行中か確認します:
pg_isready - .env の DATABASE_URL を確認します
Node のバージョンが一致しません
- Volta をインストールします:手順 2 を参照してください
- または nvm を使用します:
nvm use
よく使うコマンド
pnpm 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:
- text=auto *.sh text eol=lf
## 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
コメント
Markdown 対応