@akiojin/claude-worktree
Version:
Interactive Git worktree manager for Claude Code with graphical branch selection
239 lines (171 loc) • 8.41 kB
Markdown
# @akiojin/claude-worktree
[English](README.md)
Claude Code用の対話型Gitワークツリーマネージャー(グラフィカルなブランチ選択と高度なワークフロー管理機能付き)
## 概要
`@akiojin/claude-worktree`は、直感的なインターフェースを通じてGitワークツリー管理を革新する強力なCLIツールです。Claude Code開発ワークフローとシームレスに統合し、インテリジェントなブランチ選択、自動ワークツリー作成、包括的なプロジェクト管理機能を提供します。
## ✨ 主要機能
- 🎯 **対話型ブランチ選択**: エレガントなテーブルベースインターフェースでローカル・リモートブランチをナビゲート
- 🌟 **スマートブランチ作成**: ガイド付きプロンプトと自動ベースブランチ選択でfeature、hotfix、releaseブランチを作成
- 🔄 **高度なワークツリー管理**: 作成、クリーンアップ、パス最適化を含む完全なライフサイクル管理
- 🚀 **Claude Code統合**: 権限設定と開発後の変更処理を含むシームレスな起動
- 📊 **GitHub PR統合**: マージされたプルリクエストのブランチとワークツリーの自動クリーンアップ
- 🛠️ **変更管理**: 開発セッション後のコミット、stash、破棄の内蔵サポート
- 📦 **ユニバーサルパッケージ**: 一度インストールすれば全プロジェクトで一貫した動作
- 🔍 **リポジトリ統計**: プロジェクト概要の向上のためのブランチとワークツリー数のリアルタイム表示
## インストール
### グローバルインストール(推奨)
永続的なアクセスのためにグローバルインストール:
#### npm
```bash
npm install -g @akiojin/claude-worktree
```
#### pnpm
```bash
pnpm add -g @akiojin/claude-worktree
```
#### bun
```bash
bun add -g @akiojin/claude-worktree
```
### 一回限りの使用
インストールせずに実行:
#### npx (npm)
```bash
npx @akiojin/claude-worktree
```
#### pnpx (pnpm)
```bash
pnpx @akiojin/claude-worktree
```
#### bunx (bun)
```bash
bunx @akiojin/claude-worktree
```
## クイックスタート
任意のGitリポジトリで実行:
```bash
# グローバルインストール済みの場合
claude-worktree
# または一回限りの実行にnpxを使用
npx @akiojin/claude-worktree
```
ツールは以下のオプションを持つ対話型インターフェースを提供します:
1. **既存ブランチを選択**: ワークツリー自動作成機能付きでローカル・リモートブランチから選択
2. **新規ブランチ作成**: タイプ選択(feature/hotfix/release)によるガイド付きブランチ作成
3. **ワークツリー管理**: 既存ワークツリーの表示、オープン、削除
4. **マージ済みPRクリーンアップ**: マージされたGitHubプルリクエストのブランチとワークツリーを自動削除
## 高度なワークフロー
### ブランチ作成ワークフロー
1. メインメニューから「新規ブランチ作成」を選択
2. ブランチタイプ(feature、hotfix、release)を選択
3. 自動プレフィックス適用でブランチ名を入力
4. 利用可能なオプションからベースブランチを選択
5. ワークツリー作成パスを確認
6. 自動ワークツリーセットアップとClaude Code起動
### ワークツリー管理
- **既存を開く**: 既存ワークツリーでClaude Codeを起動
- **ワークツリー削除**: オプションのブランチ削除付きクリーン削除
- **バッチ操作**: 複数ワークツリーの効率的な処理
### GitHub統合
- **マージ済みPRクリーンアップ**: マージされたプルリクエストブランチの自動検出と削除
- **認証確認**: 操作前にGitHub CLIセットアップを検証
- **リモート同期**: クリーンアップ操作前に最新変更を取得
## システム要件
- **Node.js**: >= 18.0.0
- **Git**: ワークツリーサポート付き最新版
- **Claude Code**: 最適な開発体験のため
- **GitHub CLI**: PR クリーンアップ機能に必要(オプション)
## プロジェクト構造
```
@akiojin/claude-worktree/
├── src/
│ ├── index.ts # メインアプリケーションエントリーポイント
│ ├── git.ts # Git操作とブランチ管理
│ ├── worktree.ts # ワークツリー作成と管理
│ ├── claude.ts # Claude Code統合
│ ├── github.ts # GitHub CLI統合
│ ├── utils.ts # ユーティリティ関数とエラーハンドリング
│ └── ui/ # ユーザーインターフェースコンポーネント
│ ├── display.ts # コンソール出力フォーマット
│ ├── prompts.ts # 対話型プロンプト
│ ├── table.ts # ブランチテーブル生成
│ └── types.ts # TypeScript型定義
├── bin/
│ └── claude-worktree.js # 実行可能ラッパー
└── dist/ # コンパイル済みJavaScript出力
```
## 開発
### セットアップ
```bash
# リポジトリをクローン
git clone https://github.com/akiojin/claude-worktree.git
cd claude-worktree
# 依存関係をインストール
pnpm install
# プロジェクトをビルド
pnpm run build
```
### 利用可能なスクリプト
```bash
# 自動リビルド付き開発モード
pnpm run dev
# プロダクションビルド
pnpm run build
# 型チェック
pnpm run type-check
# コードリンティング
pnpm run lint
# ビルド成果物をクリーン
pnpm run clean
# CLIをローカルテスト
pnpm run start
```
### 開発ワークフロー
1. **フォークとクローン**: リポジトリをフォークし、あなたのフォークをクローン
2. **ブランチ作成**: ツール自体を使用してfeatureブランチを作成
3. **開発**: TypeScriptサポート付きで変更を実施
4. **テスト**: `pnpm run start`でCLI機能をテスト
5. **品質チェック**: `pnpm run type-check`と`pnpm run lint`を実行
6. **プルリクエスト**: 明確な説明付きでPRを提出
### コード構造
- **エントリーポイント**: `src/index.ts` - メインアプリケーションロジック
- **コアモジュール**: Git操作、ワークツリー管理、Claude統合
- **UIコンポーネント**: `src/ui/`のモジュラーインターフェースコンポーネント
- **型安全性**: 包括的なTypeScript定義
- **エラーハンドリング**: 全モジュールにわたる堅牢なエラー管理
## 統合例
### カスタムスクリプト
```bash
# Package.jsonスクリプト例
{
"scripts": {
"worktree": "claude-worktree"
}
}
```
## トラブルシューティング
### よくある問題
**権限エラー**: Claude Codeが適切なディレクトリ権限を持っていることを確認
**Git ワークツリー競合**: クリーンアップ機能を使用して古いワークツリーを削除
**GitHub認証**: PRクリーンアップ機能使用前に`gh auth login`を実行
**Nodeバージョン**: `node --version`でNode.js >= 18.0.0を確認
### デバッグモード
詳細出力には環境変数を設定:
```bash
DEBUG=claude-worktree claude-worktree
```
## ライセンス
MIT - 詳細はLICENSEファイルを参照
## 貢献
貢献を歓迎します!以下の貢献ガイドラインをお読みください:
1. **Issues**: GitHub IssuesでバグレポートやFeatureリクエストを報告
2. **プルリクエスト**: 上記の開発ワークフローに従う
3. **コードスタイル**: TypeScriptベストプラクティスと既存パターンを維持
4. **ドキュメント**: 重要な変更についてはREADMEとコードコメントを更新
### 貢献者
- AI Novel Project Team
- コミュニティ貢献者歓迎
## サポート
- **ドキュメント**: このREADMEとインラインコードドキュメント
- **Issues**: バグレポートとFeatureリクエスト用のGitHub Issues
- **ディスカッション**: 質問とコミュニティサポート用のGitHub Discussions