@aku11i/phantom 1.0.0 → 1.1.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.md +8 -172
- package/package.json +6 -27
- package/phantom.js +10210 -0
- package/README.ja.md +0 -185
- package/dist/garden.js +0 -458
- package/dist/garden.js.map +0 -7
- package/dist/phantom.js +0 -2544
- package/dist/phantom.js.map +0 -7
package/README.md
CHANGED
|
@@ -1,185 +1,21 @@
|
|
|
1
1
|
# 👻 Phantom
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A powerful CLI tool for seamless parallel development with Git worktrees.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Phantom makes Git worktrees simple and intuitive, enabling you to run multiple tasks in isolated environments simultaneously and achieve true multitask development.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
[](https://opensource.org/licenses/MIT)
|
|
9
|
-
[](https://nodejs.org)
|
|
10
|
-
[](https://deepwiki.com/aku11i/phantom)
|
|
11
|
-
|
|
12
|
-
[日本語](./README.ja.md) • [Installation](#-installation) • [Why Phantom?](#-why-phantom) • [Basic Usage](#-basic-usage) • [Documentation](#-documentation)
|
|
13
|
-
|
|
14
|
-
</div>
|
|
15
|
-
|
|
16
|
-
## ✨ What is Phantom?
|
|
17
|
-
|
|
18
|
-
Phantom is a powerful CLI tool that dramatically boosts your development productivity by making Git worktrees simple and intuitive. Run multiple tasks in isolated environments simultaneously and achieve true multitask development. Built for the next generation of parallel development workflows, including AI-powered coding with multiple agents.
|
|
19
|
-
|
|
20
|
-
### Key Features
|
|
21
|
-
|
|
22
|
-
- 🚀 **Simple worktree management** - Create and manage Git worktrees with intuitive commands
|
|
23
|
-
- 🔄 **True multitasking** - Create separate working directories per branch and run multiple tasks simultaneously
|
|
24
|
-
- 🎯 **Execute commands from anywhere** - Run commands in any worktree with `phantom exec <worktree> <command>`
|
|
25
|
-
- 🪟 **Built-in tmux integration** - Open worktrees in new panes or windows
|
|
26
|
-
- 🔍 **Interactive selection with fzf** - Use built-in fzf option for worktree selection
|
|
27
|
-
- 🎮 **Shell completion** - Full autocomplete support for Fish and Zsh
|
|
28
|
-
- ⚡ **Zero dependencies** - Fast and lightweight
|
|
29
|
-
|
|
30
|
-
## 🚀 Installation
|
|
31
|
-
|
|
32
|
-
### Using Homebrew (recommended)
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
brew install aku11i/tap/phantom
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
#### Using npm
|
|
7
|
+
## Installation
|
|
39
8
|
|
|
40
9
|
```bash
|
|
41
10
|
npm install -g @aku11i/phantom
|
|
42
11
|
```
|
|
43
12
|
|
|
44
|
-
##
|
|
45
|
-
|
|
46
|
-
Git worktrees are powerful but require manual management of paths and branches. Also, navigating between multiple worktrees is cumbersome. Phantom eliminates these problems:
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
# Without Phantom
|
|
50
|
-
git worktree add -b feature-awesome ../project-feature-awesome origin/main
|
|
51
|
-
cd ../project-feature-awesome
|
|
52
|
-
|
|
53
|
-
# With Phantom
|
|
54
|
-
phantom create feature-awesome --shell
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### How Phantom Works
|
|
58
|
-
|
|
59
|
-
When you run `phantom create feature-awesome`, a new Git worktree named `feature-awesome` is created in `.git/phantom/worktrees/`.
|
|
60
|
-
All worktrees created with phantom are centrally managed in this location.
|
|
61
|
-
|
|
62
|
-
```
|
|
63
|
-
your-project/ # Git repository
|
|
64
|
-
├── .git/
|
|
65
|
-
│ └── phantom/
|
|
66
|
-
│ └── worktrees/ # Phantom-managed directory
|
|
67
|
-
│ ├── feature-awesome/ # branch name = worktree name
|
|
68
|
-
│ ├── bugfix-login/ # another worktree
|
|
69
|
-
│ └── hotfix-critical/ # yet another worktree
|
|
70
|
-
└── ...
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
This convention means you never need to remember worktree paths - just use the branch name for easy worktree operations.
|
|
74
|
-
|
|
75
|
-
### ✈️ Features for a Comfortable Development Experience
|
|
76
|
-
|
|
77
|
-
Phantom provides perfect functionality as a command-line tool. Developers feel the trust and comfort of flying first class.
|
|
78
|
-
|
|
79
|
-
#### Shell Completion
|
|
80
|
-
|
|
81
|
-
Phantom supports full shell completion for fish and zsh. Use tab key to complete commands and worktree names.
|
|
82
|
-
|
|
83
|
-
#### tmux Integration
|
|
84
|
-
|
|
85
|
-
When creating worktrees, you can use tmux to open them in new windows or panes. This allows you to manage multiple work environments simultaneously.
|
|
86
|
-
|
|
87
|
-
```bash
|
|
88
|
-
# Create and open worktree in new window
|
|
89
|
-
phantom create feature-x --tmux
|
|
90
|
-
# Create with split panes
|
|
91
|
-
phantom create feature-y --tmux-vertical
|
|
92
|
-
phantom create feature-z --tmux-horizontal
|
|
93
|
-
|
|
94
|
-
# Open existing worktrees in tmux
|
|
95
|
-
phantom shell feature-x --tmux
|
|
96
|
-
phantom shell feature-y --tmux-v
|
|
97
|
-
|
|
98
|
-
# Result: Multiple worktrees displayed simultaneously, each allowing independent work
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
#### Editor Integration
|
|
102
|
-
|
|
103
|
-
Phantom works seamlessly with editors like VS Code and Cursor. You can specify an editor to open worktrees.
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
# Open with VS Code
|
|
107
|
-
phantom create feature --exec "code ."
|
|
108
|
-
|
|
109
|
-
# Or open existing worktree
|
|
110
|
-
phantom exec feature code .
|
|
111
|
-
|
|
112
|
-
# Open with Cursor
|
|
113
|
-
phantom create feature --exec "cursor ."
|
|
114
|
-
phantom exec feature cursor .
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
#### fzf Integration
|
|
118
|
-
|
|
119
|
-
Interactive search with fzf allows quick worktree selection.
|
|
120
|
-
|
|
121
|
-
```bash
|
|
122
|
-
# Open shell with fzf selection
|
|
123
|
-
phantom shell --fzf
|
|
124
|
-
|
|
125
|
-
# Delete with fzf selection
|
|
126
|
-
phantom delete --fzf
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
## 🔍 Basic Usage
|
|
130
|
-
|
|
131
|
-
### Create a new worktree
|
|
132
|
-
|
|
133
|
-
```bash
|
|
134
|
-
phantom create feature-awesome
|
|
135
|
-
|
|
136
|
-
phantom list
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
### Start a new shell in the worktree
|
|
140
|
-
|
|
141
|
-
```bash
|
|
142
|
-
phantom shell feature-awesome
|
|
143
|
-
|
|
144
|
-
# Start development work
|
|
145
|
-
|
|
146
|
-
# Exit the shell when done
|
|
147
|
-
exit
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
### Run commands in any worktree
|
|
151
|
-
|
|
152
|
-
```bash
|
|
153
|
-
phantom exec feature-awesome {command to run}
|
|
154
|
-
# Example: phantom exec feature-awesome npm run build
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
### Clean up when done
|
|
158
|
-
|
|
159
|
-
```bash
|
|
160
|
-
phantom delete feature-awesome
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
## 📚 Documentation
|
|
165
|
-
|
|
166
|
-
- **[Getting Started](./docs/getting-started.md)** - Common workflows and tips
|
|
167
|
-
- **[Commands Reference](./docs/commands.md)** - All commands and options
|
|
168
|
-
- **[Configuration](./docs/configuration.md)** - Set up automatic file copying and post-create commands
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
## 🤝 Contributing
|
|
172
|
-
|
|
173
|
-
Contributions are welcome! See our [Contributing Guide](./CONTRIBUTING.md) for:
|
|
174
|
-
- Development setup
|
|
175
|
-
- Code style guidelines
|
|
176
|
-
- Testing requirements
|
|
177
|
-
- Pull request process
|
|
13
|
+
## Documentation
|
|
178
14
|
|
|
179
|
-
|
|
15
|
+
For detailed documentation, examples, and advanced usage, please visit:
|
|
180
16
|
|
|
181
|
-
|
|
17
|
+
https://github.com/aku11i/phantom
|
|
182
18
|
|
|
183
|
-
##
|
|
19
|
+
## License
|
|
184
20
|
|
|
185
|
-
|
|
21
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aku11i/phantom",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "A powerful CLI tool for managing Git worktrees for parallel development",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"git",
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
"phantom",
|
|
10
10
|
"workspace",
|
|
11
11
|
"development",
|
|
12
|
-
"parallel"
|
|
12
|
+
"parallel",
|
|
13
|
+
"mcp"
|
|
13
14
|
],
|
|
14
15
|
"homepage": "https://github.com/aku11i/phantom#readme",
|
|
15
16
|
"bugs": {
|
|
@@ -23,34 +24,12 @@
|
|
|
23
24
|
"author": "aku11i",
|
|
24
25
|
"type": "module",
|
|
25
26
|
"bin": {
|
|
26
|
-
"phantom": "./
|
|
27
|
-
},
|
|
28
|
-
"engines": {
|
|
29
|
-
"node": ">=22.0.0"
|
|
27
|
+
"phantom": "./phantom.js"
|
|
30
28
|
},
|
|
31
29
|
"files": [
|
|
32
|
-
"
|
|
30
|
+
"phantom.js",
|
|
33
31
|
"README.md",
|
|
34
32
|
"LICENSE"
|
|
35
33
|
],
|
|
36
|
-
"
|
|
37
|
-
"@biomejs/biome": "^1.9.4",
|
|
38
|
-
"@types/node": "^22.15.29",
|
|
39
|
-
"@typescript/native-preview": "7.0.0-dev.20250602.1",
|
|
40
|
-
"esbuild": "^0.25.5",
|
|
41
|
-
"typescript": "^5.8.3"
|
|
42
|
-
},
|
|
43
|
-
"scripts": {
|
|
44
|
-
"start": "node ./src/bin/phantom.ts",
|
|
45
|
-
"phantom": "node ./src/bin/phantom.ts",
|
|
46
|
-
"build": "node build.ts",
|
|
47
|
-
"typecheck": "tsgo --noEmit",
|
|
48
|
-
"test": "node --test --experimental-strip-types --experimental-test-module-mocks \"src/**/*.test.js\"",
|
|
49
|
-
"test:coverage": "node --experimental-test-coverage --test --experimental-strip-types --experimental-test-module-mocks \"src/**/*.test.js\"",
|
|
50
|
-
"test:file": "node --test --experimental-strip-types --experimental-test-module-mocks",
|
|
51
|
-
"lint": "biome check .",
|
|
52
|
-
"fix": "biome check --write .",
|
|
53
|
-
"ready": "pnpm fix && pnpm typecheck && pnpm test",
|
|
54
|
-
"ready:check": "pnpm lint && pnpm typecheck && pnpm test"
|
|
55
|
-
}
|
|
34
|
+
"dependencies": {}
|
|
56
35
|
}
|