WTurboは、Git worktreeとDocker Composeを使用して開発環境を効率的に管理するCLIツールです。
WTurboを使用することで、以下のことが可能になります:
- Git worktreeを使用したブランチ単位の独立した開発環境の作成
- Docker Composeサービスの自動起動と管理
- 環境変数の自動調整(ポート番号の重複回避など)
- 開発環境のステータス確認と管理
npm install -g wturboプロジェクトルートに wturbo.yaml または wturbo.yml ファイルを作成してください:
# ベースブランチ(通常は main または master)
base_branch: main
# Docker Composeファイルのパス
docker_compose_file: ./docker-compose.yml
# 環境変数の設定
env:
# 環境変数ファイルのリスト
file:
- .env
- .env.local
# 環境変数の調整設定
adjust:
PORT: 3000
DATABASE_PORT: 5432
REDIS_PORT: 6379現在の開発環境のステータスを表示します:
wturbo status出力例:
📦 Docker Containers (2 running)
┌─────────────┬────────────────┬──────────────┬─────────────────┬─────────────┐
│ Name │ Image │ Status │ Ports │ Networks │
├─────────────┼────────────────┼──────────────┼─────────────────┼─────────────┤
│ myapp_web │ nginx:latest │ Up 2 hours │ 0.0.0.0:3000→80 │ myapp_net │
│ myapp_db │ postgres:13 │ Up 2 hours │ 5432/tcp │ myapp_net │
└─────────────┴────────────────┴──────────────┴─────────────────┴─────────────┘
🌿 Git Worktrees (3 total)
┌─────────────────────────────┬─────────────┬──────────────────┐
│ Path │ Branch │ HEAD │
├─────────────────────────────┼─────────────┼──────────────────┤
│ /project │ main │ a1b2c3d │
│ /project-feature-auth │ feature/auth│ e4f5g6h │
│ /project-bugfix-login │ bugfix/login│ i7j8k9l │
└─────────────────────────────┴─────────────┴──────────────────┘
src/
├── types/ # 型定義
│ └── index.ts
├── constants/ # 定数定義
│ └── index.ts
├── core/ # コアビジネスロジック
│ ├── config/ # 設定管理
│ ├── git/ # Git操作
│ ├── docker/ # Docker操作
│ └── environment/ # 環境変数処理
├── cli/ # CLIインターフェース
│ ├── commands/ # コマンド実装
│ └── index.ts # CLIエントリーポイント
├── utils/ # ユーティリティ
│ ├── system.ts
│ └── file.ts
└── index.ts # メインエントリーポイント
- Node.js 18.0.0以上
- Docker
- Git
# 依存関係のインストール
npm install
# ビルド
npm run build
# テスト実行
npm test
# テスト実行(ウォッチモード)
npm run test:watch
# 型チェック
npm run typecheck
# リント
npm run lintプロジェクトではVitestを使用してテストを実行しています:
# 全テスト実行
npm test
# 特定のテストファイル実行
npm test src/core/config/loader.test.ts
# カバレッジ付きテスト実行
npm run test:coverage詳細なアーキテクチャ情報については ARCHITECTURE.md を参照してください。
MIT License
- このリポジトリをフォーク
- フィーチャーブランチを作成 (
git checkout -b feature/amazing-feature) - 変更をコミット (
git commit -m 'Add some amazing feature') - ブランチにプッシュ (
git push origin feature/amazing-feature) - プルリクエストを作成
問題や質問がある場合は、GitHubのIssuesページで報告してください。