## Summary Implement `git_worktree_remove` tool with proper validation and error handling. ## Changes - Add `pi-worktree-remove.ts` — pure validation functions for remove operation - `validateRemoveWorktreeInput()` — validates path is non-empty - `isMainRepository()` — refuses removal of main repo root (suggests `git worktree prune`) - `hasUncommittedChanges()` — checks git status --porcelain output - `buildWorktreeRemoveCommand()` — builds `git worktree remove` args with optional `--force` - Add `pi-worktree-remove.test.ts` — 17 unit tests covering all validation paths - Wire up `createRemoveWorktreeTool()` in main extension with full validation pipeline ## Testing - [x] All 72 tests pass (55 existing + 17 new) - [x] No regressions in existing test suite - [ ] Manual verification — remove a worktree, try removing main repo, try removing worktree with changes ## Checklist - [x] Self-reviewed the diff - [x] Code follows project conventions (pure functions, fail-fast validation) - [x] Descriptive naming (no single-character variables) Co-authored-by: David Kong <davkon@gmail.com> Reviewed-on: #18 |
||
|---|---|---|
| .. | ||
| extensions | ||