@aku11i/phantom 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.ja.md ADDED
@@ -0,0 +1,254 @@
1
+ # 👻 Phantom
2
+
3
+ <div align="center">
4
+
5
+ **Git worktreeを使った並行開発のためのパワフルなCLIツール**
6
+
7
+ [![npm version](https://img.shields.io/npm/v/@aku11i/phantom.svg)](https://www.npmjs.com/package/@aku11i/phantom)
8
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
+ [![Node.js Version](https://img.shields.io/node/v/@aku11i/phantom.svg)](https://nodejs.org)
10
+
11
+ [インストール](#-インストール) • [クイックスタート](#-クイックスタート) • [なぜPhantom?](#-なぜphantom) • [ドキュメント](#-ドキュメント)
12
+
13
+ </div>
14
+
15
+ ## ✨ 主な機能
16
+
17
+ - 🚀 **シンプルなWorktree管理** - 直感的なコマンドでGit worktreeを作成・管理
18
+ - 🔄 **シームレスなコンテキスト切り替え** - stashやcommitせずに異なる機能間をジャンプ
19
+ - 🤖 **AI対応** - 複数のAIコーディングエージェントを並行実行するのに最適
20
+ - 🎯 **ブランチとWorktreeの同期** - 各worktreeに対応するブランチを自動作成
21
+ - 🐚 **インタラクティブシェル** - SSH風のworktreeナビゲーション体験
22
+ - ⚡ **ゼロ設定** - 賢明なデフォルト設定ですぐに使用可能
23
+
24
+ ## 🤔 なぜPhantom?
25
+
26
+ 現代の開発ワークフローでは、複数の機能を同時に作業することがよくあります。AIコーディングエージェントを並行実行したり、開発しながらPRをレビューしたり、単純に複数の機能をマルチタスクで作業したりする場合、複数のGit worktreeの管理は面倒になりがちです。
27
+
28
+ **問題点:**
29
+ - Git worktreeコマンドは冗長で複雑
30
+ - ブランチとworktreeを別々に管理するのはエラーが起きやすい
31
+ - コンテキストの切り替えには複数のコマンドが必要
32
+ - 同じコードベースで並行してAIエージェントを実行するのは困難
33
+
34
+ **Phantomの解決策:**
35
+ - 1つのコマンドでworktreeとブランチの両方を作成: `phantom create feature-x`
36
+ - 即座にコンテキストを切り替え: `phantom shell feature-x`
37
+ - ディレクトリを変更せずにコマンドを実行: `phantom exec feature-x npm test`
38
+ - 複数のAIエージェントとの「並行バイブコーディング」に最適
39
+
40
+ ## 🚀 クイックスタート
41
+
42
+ ```bash
43
+ # Phantomをインストール
44
+ npm install -g @aku11i/phantom
45
+
46
+ # 新しいworktreeを作成
47
+ phantom create feature-awesome
48
+
49
+ # worktreeにジャンプ
50
+ phantom shell feature-awesome
51
+
52
+ # または直接コマンドを実行
53
+ phantom exec feature-awesome npm install
54
+ phantom exec feature-awesome npm test
55
+
56
+ # すべてのworktreeをリスト表示
57
+ phantom list
58
+
59
+ # 完了したらクリーンアップ
60
+ phantom delete feature-awesome
61
+ ```
62
+
63
+ ## 📦 インストール
64
+
65
+ ### npmを使用(推奨)
66
+ ```bash
67
+ npm install -g @aku11i/phantom
68
+ ```
69
+
70
+ ### pnpmを使用
71
+ ```bash
72
+ pnpm add -g @aku11i/phantom
73
+ ```
74
+
75
+ ### yarnを使用
76
+ ```bash
77
+ yarn global add @aku11i/phantom
78
+ ```
79
+
80
+ ### ソースからビルド
81
+ ```bash
82
+ git clone https://github.com/aku11i/phantom.git
83
+ cd phantom
84
+ pnpm install
85
+ pnpm build
86
+ npm link
87
+ ```
88
+
89
+ ## 📖 ドキュメント
90
+
91
+ ### コアコンセプト
92
+
93
+ **Worktree** 🌳 - Phantomによって管理されるGit worktree。各worktreeは特定のブランチや機能のための独立したワークスペースで、競合なしに並行開発が可能です。
94
+
95
+ ### コマンド概要
96
+
97
+ #### Worktree管理
98
+
99
+ ```bash
100
+ # 対応するブランチを持つ新しいworktreeを作成
101
+ phantom create <name>
102
+
103
+ # すべてのworktreeとその現在のステータスをリスト表示
104
+ phantom list
105
+
106
+ # worktreeへの絶対パスを取得
107
+ phantom where <name>
108
+
109
+ # worktreeとそのブランチを削除
110
+ phantom delete <name>
111
+ phantom delete <name> --force # コミットされていない変更がある場合の強制削除
112
+ ```
113
+
114
+ #### Worktreeでの作業
115
+
116
+ ```bash
117
+ # worktreeのコンテキストで任意のコマンドを実行
118
+ phantom exec <name> <command> [args...]
119
+
120
+ # 例:
121
+ phantom exec feature-auth npm install
122
+ phantom exec feature-auth npm run test
123
+ phantom exec feature-auth git status
124
+
125
+ # worktreeでインタラクティブシェルセッションを開く
126
+ phantom shell <name>
127
+ ```
128
+
129
+ ### 環境変数
130
+
131
+ Phantomで管理されたworktree内で作業する際、以下の環境変数が利用可能です:
132
+
133
+ - `PHANTOM_NAME` - 現在のworktreeの名前
134
+ - `PHANTOM_PATH` - worktreeディレクトリへの絶対パス
135
+
136
+ ## 🔄 Phantom vs Git Worktree
137
+
138
+ | 機能 | Git Worktree | Phantom |
139
+ |---------|--------------|---------|
140
+ | worktree + ブランチの作成 | `git worktree add -b feature ../project-feature` | `phantom create feature` |
141
+ | worktreeのリスト表示 | `git worktree list` | `phantom list` |
142
+ | worktreeへの移動 | `cd ../project-feature` | `phantom shell feature` |
143
+ | worktreeでコマンド実行 | `cd ../project-feature && npm test` | `phantom exec feature npm test` |
144
+ | worktreeの削除 | `git worktree remove ../project-feature` | `phantom delete feature` |
145
+
146
+ ## 🛠️ 開発
147
+
148
+ ```bash
149
+ # クローンとセットアップ
150
+ git clone https://github.com/aku11i/phantom.git
151
+ cd phantom
152
+ pnpm install
153
+
154
+ # テストの実行
155
+ pnpm test
156
+
157
+ # 型チェック
158
+ pnpm type-check
159
+
160
+ # リンティング
161
+ pnpm lint
162
+
163
+ # すべてのチェックを実行
164
+ pnpm ready
165
+ ```
166
+
167
+ ## 🚀 リリースプロセス
168
+
169
+ Phantomの新しいバージョンをリリースするには:
170
+
171
+ 1. **mainブランチにいて最新の状態であることを確認**
172
+ ```bash
173
+ git checkout main
174
+ git pull
175
+ ```
176
+
177
+ 2. **すべてのチェックを実行**
178
+ ```bash
179
+ pnpm ready
180
+ ```
181
+
182
+ 3. **バージョンを上げる**
183
+ ```bash
184
+ # パッチリリース(バグ修正)の場合
185
+ npm version patch
186
+
187
+ # マイナーリリース(新機能)の場合
188
+ npm version minor
189
+
190
+ # メジャーリリース(破壊的変更)の場合
191
+ npm version major
192
+ ```
193
+
194
+ 4. **バージョンコミットとタグをプッシュ**
195
+ ```bash
196
+ git push && git push --tags
197
+ ```
198
+
199
+ 5. **npmに公開**
200
+ ```bash
201
+ pnpm publish
202
+ ```
203
+
204
+ 6. **GitHubリリースを作成**
205
+ ```bash
206
+ # 自動生成されたノートでリリースを作成
207
+ gh release create v<version> \
208
+ --title "Phantom v<version>" \
209
+ --generate-notes \
210
+ --target main
211
+
212
+ # v0.1.3の例:
213
+ gh release create v0.1.3 \
214
+ --title "Phantom v0.1.3" \
215
+ --generate-notes \
216
+ --target main
217
+ ```
218
+
219
+ ビルドプロセスは`prepublishOnly`スクリプトによって自動的に処理され、以下を行います:
220
+ - すべてのテストとチェックを実行
221
+ - esbuildを使用してTypeScriptソースをJavaScriptにビルド
222
+ - `dist/`ディレクトリにバンドルされた実行可能ファイルを作成
223
+
224
+ **注意**: `dist/`ディレクトリはgit-ignoreされており、公開プロセス中にのみ作成されます。
225
+
226
+ ## 🤝 コントリビューション
227
+
228
+ コントリビューションは歓迎します!プルリクエストを自由に送信してください。大きな変更については、まず変更したい内容について議論するためにissueを開いてください。
229
+
230
+ 以下を必ず行ってください:
231
+ - 適切にテストを更新する
232
+ - 既存のコードスタイルに従う
233
+ - 提出前に`pnpm ready`を実行する
234
+
235
+ ## 📄 ライセンス
236
+
237
+ このプロジェクトはMITライセンスの下でライセンスされています - 詳細は[LICENSE](LICENSE)ファイルをご覧ください。
238
+
239
+ ## 🙏 謝辞
240
+
241
+ - より良い並行開発ワークフローの必要性に触発されて
242
+ - AI支援開発時代のために構築
243
+ - すべてのコントリビューターに特別な感謝を
244
+
245
+ ## 🤝 コントリビューター
246
+
247
+ - [@aku11i](https://github.com/aku11i) - プロジェクトの作成者およびメンテナー
248
+ - [Claude (Anthropic)](https://claude.ai) - コードベースの大部分を実装したAIペアプログラマー
249
+
250
+ ---
251
+
252
+ <div align="center">
253
+ <a href="https://github.com/aku11i">aku11i</a>と<a href="https://claude.ai">Claude</a>により👻で作成
254
+ </div>
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
9
  [![Node.js Version](https://img.shields.io/node/v/@aku11i/phantom.svg)](https://nodejs.org)
10
10
 
11
- [Installation](#-installation) • [Quick Start](#-quick-start) • [Why Phantom?](#-why-phantom) • [Documentation](#-documentation)
11
+ [Installation](#-installation) • [Quick Start](#-quick-start) • [Why Phantom?](#-why-phantom) • [Documentation](#-documentation) • [日本語](./README.ja.md)
12
12
 
13
13
  </div>
14
14
 
@@ -32,7 +32,7 @@ Modern development workflows often require working on multiple features simultan
32
32
  - Running parallel AI agents on the same codebase is challenging
33
33
 
34
34
  **The Phantom Solution:**
35
- - One command to create both worktree and branch: `phantom garden create feature-x`
35
+ - One command to create both worktree and branch: `phantom create feature-x`
36
36
  - Instant context switching: `phantom shell feature-x`
37
37
  - Execute commands without changing directories: `phantom exec feature-x npm test`
38
38
  - Perfect for "parallel vibe coding" with multiple AI agents
@@ -43,21 +43,21 @@ Modern development workflows often require working on multiple features simultan
43
43
  # Install Phantom
44
44
  npm install -g @aku11i/phantom
45
45
 
46
- # Create a new development space (garden)
47
- phantom garden create feature-awesome
46
+ # Create a new worktree
47
+ phantom create feature-awesome
48
48
 
49
- # Jump into the new space
49
+ # Jump into the worktree
50
50
  phantom shell feature-awesome
51
51
 
52
52
  # Or execute commands directly
53
53
  phantom exec feature-awesome npm install
54
54
  phantom exec feature-awesome npm test
55
55
 
56
- # List all your gardens
57
- phantom garden list
56
+ # List all your worktrees
57
+ phantom list
58
58
 
59
59
  # Clean up when done
60
- phantom garden delete feature-awesome
60
+ phantom delete feature-awesome
61
61
  ```
62
62
 
63
63
  ## 📦 Installation
@@ -90,60 +90,58 @@ npm link
90
90
 
91
91
  ### Core Concepts
92
92
 
93
- **Gardens** 🌳 - Git worktrees managed by Phantom. Each garden is an isolated workspace for a specific branch or feature.
94
-
95
- **Phantoms** 👻 - Processes or agents that work within gardens.
93
+ **Worktrees** 🌳 - Git worktrees managed by Phantom. Each worktree is an isolated workspace for a specific branch or feature, allowing parallel development without conflicts.
96
94
 
97
95
  ### Commands Overview
98
96
 
99
- #### Gardens Management
97
+ #### Worktree Management
100
98
 
101
99
  ```bash
102
- # Create a new garden with a matching branch
103
- phantom garden create <name>
100
+ # Create a new worktree with a matching branch
101
+ phantom create <name>
104
102
 
105
- # List all gardens with their current status
106
- phantom garden list
103
+ # List all worktrees with their current status
104
+ phantom list
107
105
 
108
- # Get the absolute path to a garden
109
- phantom garden where <name>
106
+ # Get the absolute path to a worktree
107
+ phantom where <name>
110
108
 
111
- # Delete a garden and its branch
112
- phantom garden delete <name>
113
- phantom garden delete <name> --force # Force delete with uncommitted changes
109
+ # Delete a worktree and its branch
110
+ phantom delete <name>
111
+ phantom delete <name> --force # Force delete with uncommitted changes
114
112
  ```
115
113
 
116
- #### Working with Gardens
114
+ #### Working with Worktrees
117
115
 
118
116
  ```bash
119
- # Execute any command in a garden's context
120
- phantom exec <garden> <command> [args...]
117
+ # Execute any command in a worktree's context
118
+ phantom exec <name> <command> [args...]
121
119
 
122
120
  # Examples:
123
121
  phantom exec feature-auth npm install
124
122
  phantom exec feature-auth npm run test
125
123
  phantom exec feature-auth git status
126
124
 
127
- # Open an interactive shell session in a garden
128
- phantom shell <garden>
125
+ # Open an interactive shell session in a worktree
126
+ phantom shell <name>
129
127
  ```
130
128
 
131
129
  ### Environment Variables
132
130
 
133
- When working within a Phantom context, these environment variables are available:
131
+ When working within a worktree managed by Phantom, these environment variables are available:
134
132
 
135
- - `PHANTOM_GARDEN` - Name of the current garden
136
- - `PHANTOM_GARDEN_PATH` - Absolute path to the garden directory
133
+ - `PHANTOM_NAME` - Name of the current worktree
134
+ - `PHANTOM_PATH` - Absolute path to the worktree directory
137
135
 
138
136
  ## 🔄 Phantom vs Git Worktree
139
137
 
140
138
  | Feature | Git Worktree | Phantom |
141
139
  |---------|--------------|---------|
142
- | Create worktree + branch | `git worktree add -b feature ../project-feature` | `phantom garden create feature` |
143
- | List worktrees | `git worktree list` | `phantom garden list` |
140
+ | Create worktree + branch | `git worktree add -b feature ../project-feature` | `phantom create feature` |
141
+ | List worktrees | `git worktree list` | `phantom list` |
144
142
  | Navigate to worktree | `cd ../project-feature` | `phantom shell feature` |
145
143
  | Run command in worktree | `cd ../project-feature && npm test` | `phantom exec feature npm test` |
146
- | Remove worktree | `git worktree remove ../project-feature` | `phantom garden delete feature` |
144
+ | Remove worktree | `git worktree remove ../project-feature` | `phantom delete feature` |
147
145
 
148
146
  ## 🛠️ Development
149
147