claude-issue-solver 1.10.0 โ†’ 1.10.1

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.
Files changed (2) hide show
  1. package/README.md +91 -25
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -26,6 +26,7 @@ This CLI tool fetches an issue from your repo, creates a worktree, opens Claude
26
26
  $ claude-issue
27
27
 
28
28
  Open issues for my-project:
29
+ (2 issues with open PRs hidden)
29
30
 
30
31
  ? Select an issue to solve:
31
32
  โฏ #42 Add dark mode support
@@ -45,12 +46,13 @@ Open issues for my-project:
45
46
 
46
47
  ## Features
47
48
 
48
- - ๐ŸŽฏ **Interactive issue selection** - Lists open issues with arrow-key navigation
49
+ - ๐ŸŽฏ **Interactive issue selection** - Lists open issues with arrow-key navigation (hides issues with open PRs)
49
50
  - โœจ **Create and solve** - Create new issues and start solving them immediately
50
51
  - ๐ŸŒฟ **Worktree isolation** - Each issue gets its own worktree, work on multiple issues in parallel
51
- - ๐Ÿค– **Automatic PR creation** - Creates a PR that closes the issue when merged
52
- - ๐Ÿ“ **Works with any repo** - Auto-detects project name from git remote
53
- - ๐Ÿ’ป **Opens in new terminal** - Keeps your current terminal free (supports iTerm2 and Terminal.app on macOS)
52
+ - ๐Ÿค– **Real-time PR creation** - Automatically creates/updates PR as Claude commits changes
53
+ - ๐Ÿงน **Smart cleanup** - Auto-clean merged PRs, close VS Code/terminal windows on macOS
54
+ - ๐Ÿ“ **Monorepo support** - Recursively copies all `.env*` files, symlinks `node_modules`
55
+ - ๐Ÿ’ป **Cross-platform terminals** - iTerm2, Terminal.app (macOS), gnome-terminal, xterm, konsole (Linux)
54
56
 
55
57
  ## Requirements
56
58
 
@@ -88,37 +90,60 @@ claude-issue 42
88
90
 
89
91
  # List open issues
90
92
  claude-issue list
93
+ claude-issue ls
94
+
95
+ # Create a new issue and solve it immediately
96
+ claude-issue new "Add dark mode support"
97
+ claude-issue new "Fix login bug" -b "Users can't login on mobile"
98
+ claude-issue new "Fix crash" -l bug -l priority
91
99
 
92
100
  # Create PR for a solved issue (if you skipped it earlier)
93
101
  claude-issue pr 42
94
102
 
95
- # Clean up worktree and branch after PR is merged
96
- claude-issue clean 42
97
-
98
- # Clean all worktrees (shows PR/issue status)
99
- claude-issue clean
103
+ # Clean up worktree and branch
104
+ claude-issue clean 42 # Clean specific issue
105
+ claude-issue clean # Interactive selection
106
+ claude-issue clean --all # Clean all worktrees (with confirmation)
107
+ claude-issue clean --merged # Auto-clean only merged PRs (no confirmation)
100
108
 
101
109
  # Navigate to a worktree or open its PR
102
- claude-issue go
103
-
104
- # Create a new issue and solve it immediately
105
- claude-issue new "Add dark mode support"
106
-
107
- # With description and labels
108
- claude-issue new "Fix login bug" -b "Users can't login on mobile" -l bug
110
+ claude-issue go # Interactive selection
111
+ claude-issue go 42 # Go to specific issue
109
112
 
110
113
  # Show help
111
114
  claude-issue --help
112
115
  ```
113
116
 
117
+ ## Commands Reference
118
+
119
+ | Command | Alias | Description |
120
+ |---------|-------|-------------|
121
+ | `claude-issue` | - | Interactive issue selection |
122
+ | `claude-issue <number>` | - | Solve specific issue |
123
+ | `claude-issue new <title>` | - | Create issue and solve it |
124
+ | `claude-issue list` | `ls` | List open issues |
125
+ | `claude-issue pr <number>` | - | Create PR for solved issue |
126
+ | `claude-issue clean [number]` | `rm` | Remove worktree and branch |
127
+ | `claude-issue go [number]` | - | Navigate to worktree |
128
+
129
+ ### Command Options
130
+
131
+ **`new` command:**
132
+ - `-b, --body <text>` - Issue description
133
+ - `-l, --label <name>` - Add label (can be used multiple times)
134
+
135
+ **`clean` command:**
136
+ - `-a, --all` - Clean all issue worktrees (with confirmation)
137
+ - `-m, --merged` - Clean only worktrees with merged PRs (no confirmation)
138
+
114
139
  ## How it works
115
140
 
116
141
  1. **Fetches issue** - Gets title and description from GitHub
117
142
  2. **Creates worktree** - Makes a new git worktree with branch `issue-{number}-{slug}`
118
- 3. **Sets up environment** - Copies `.env` files, symlinks `node_modules`
143
+ 3. **Sets up environment** - Recursively copies all `.env*` files, symlinks `node_modules`
119
144
  4. **Opens Claude** - Launches Claude Code in a new terminal with the issue as context
120
- 5. **Interactive session** - Claude stays open so you can ask for changes
121
- 6. **Creates PR** - When you exit, prompts to create a PR that closes the issue
145
+ 5. **Real-time PR creation** - Background watcher creates PR on first commit, pushes updates on subsequent commits
146
+ 6. **Interactive session** - Claude stays open so you can ask for changes
122
147
 
123
148
  ## Workflow
124
149
 
@@ -149,24 +174,65 @@ claude-issue --help
149
174
  โ”‚
150
175
  โ–ผ
151
176
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
152
- โ”‚ Create PR โ”‚
177
+ โ”‚ Auto-create PR โ”‚
153
178
  โ”‚ "Closes #42" โ”‚
154
179
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
155
180
  โ”‚
156
181
  โ–ผ
157
182
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
158
183
  โ”‚ claude-issue โ”‚
159
- โ”‚ clean 42 โ”‚
184
+ โ”‚ clean --merged โ”‚
160
185
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
161
186
  ```
162
187
 
188
+ ## Smart Features
189
+
190
+ ### Issue Filtering
191
+ When selecting issues, the tool automatically hides issues that already have open PRs from `issue-{number}-*` branches. A message shows how many were hidden.
192
+
193
+ ### PR Status Display
194
+ When cleaning, the tool shows the status of each worktree:
195
+ - `โœ“ PR merged` - Safe to clean
196
+ - `โ— PR open` - PR still under review
197
+ - `โœ— PR closed` - PR was closed without merging
198
+ - `โ— Issue closed` - Issue was closed
199
+ - `โ—‹ Issue open` - Issue still open
200
+
201
+ ### Orphaned Folder Cleanup
202
+ If a worktree folder exists but isn't registered in git (e.g., after a failed cleanup), the tool detects it and offers to remove it.
203
+
204
+ ### Auto-Close Windows (macOS)
205
+ When cleaning a worktree, the tool automatically closes related terminal windows (iTerm2/Terminal.app) and VS Code windows that have the worktree open.
206
+
207
+ ### Monorepo Support
208
+ The tool recursively finds and copies all `.env*` files from your project, preserving directory structure. This works great with turborepo and other monorepo setups where env files exist in subdirectories like `apps/myapp/.env.local`.
209
+
210
+ Skipped directories: `node_modules`, `.git`, `dist`, `build`, `.next`, `.turbo`
211
+
212
+ ### Branch Naming
213
+ Branches are named `issue-{number}-{slug}` where the slug is:
214
+ - Lowercase with hyphens
215
+ - Max 30 characters
216
+ - Bracket prefixes removed (e.g., `[Bug]` is stripped)
217
+ - Duplicate consecutive words removed (e.g., `fix-fix-bug` โ†’ `fix-bug`)
218
+
163
219
  ## Tips
164
220
 
165
- - Use `/exit` in Claude to end the session and trigger PR creation
166
- - Worktrees share the same `.git` so commits are visible in main repo
167
- - Run `claude-issue clean` after merging to clean up - it shows PR status (merged/open/closed)
168
- - You can work on multiple issues in parallel - each gets its own worktree
221
+ - PRs are created automatically when Claude makes commits - no need to wait until the end
222
+ - Use `claude-issue clean --merged` after merging PRs for quick cleanup
223
+ - Worktrees share the same `.git` so commits are visible in the main repo
224
+ - You can work on multiple issues in parallel - each gets its own worktree and terminal
169
225
  - Use `claude-issue go` to quickly navigate to worktrees or open PRs in browser
226
+ - The `go` command also offers options to open in Finder (macOS) or copy the cd command
227
+
228
+ ## Platform Support
229
+
230
+ | Feature | macOS | Linux |
231
+ |---------|-------|-------|
232
+ | New terminal window | iTerm2, Terminal.app | gnome-terminal, xterm, konsole |
233
+ | Auto-close terminals on clean | โœ“ | - |
234
+ | Auto-close VS Code on clean | โœ“ | - |
235
+ | Open in Finder | โœ“ | - |
170
236
 
171
237
  ## License
172
238
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-issue-solver",
3
- "version": "1.10.0",
3
+ "version": "1.10.1",
4
4
  "description": "Automatically solve GitHub issues using Claude Code",
5
5
  "main": "dist/index.js",
6
6
  "bin": {