Skip to content

origamium/wtcompose

Repository files navigation

WTurbo CLI

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

現在の開発環境のステータスを表示します:

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

貢献

  1. このリポジトリをフォーク
  2. フィーチャーブランチを作成 (git checkout -b feature/amazing-feature)
  3. 変更をコミット (git commit -m 'Add some amazing feature')
  4. ブランチにプッシュ (git push origin feature/amazing-feature)
  5. プルリクエストを作成

サポート

問題や質問がある場合は、GitHubのIssuesページで報告してください。

About

WORK IN PROGRESS, DO NOT USE THIS ESPECIALLY PRODUCTION

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published