Conversation
dc5fa46 to
7094f21
Compare
7094f21 to
899320e
Compare
gaaschk
left a comment
There was a problem hiding this comment.
I just used this in my environment! works great!
899320e to
107af75
Compare
Closes garrytan#273. Adds bin/gstack-uninstall to cleanly remove gstack from a system: - Stops running browse daemons (SIGTERM with graceful fallback) - Removes Claude skills (~/.claude/skills/gstack + per-skill symlinks) - Removes Codex skills (~/.codex/skills/gstack*) - Removes per-project .agents/ sidecar and .gstack/ state - Removes global ~/.gstack/ state directory - Cleans up /tmp session files Supports --force (skip confirmation), --keep-state (preserve ~/.gstack/ data), and GSTACK_STATE_DIR env override for testing. Uses set -uo pipefail (no -e) so uninstall never aborts partway. Handles broken symlinks. Follows existing bin/ script conventions.
107af75 to
54c8883
Compare
|
Thanks for testing @gaaschk! I pushed a small update after your approval — wanted to be transparent about what changed:
All changes are additive/cosmetic — the core uninstall logic you tested is unchanged. Happy to have you re-verify if you'd like. |
|
Correction to my previous comment — I understated the scope of changes. Here's the full list of what changed after your approval: New functionality:
Safety:
Convention alignment:
Confirmation preview:
The core logic you tested (daemon stop, global Claude/Codex/Kiro cleanup, |
Summary
bin/gstack-uninstallto cleanly remove gstack from a system. Stops running browse daemons, removes all skill installs across Claude, Codex, and Kiro hosts, cleans per-project and global state. Closes No uninstall script. #273.Changes
bin/gstack-uninstall: single-file uninstall script following existingbin/conventions~/.claude/skills/gstack+ per-skill symlinks)--localinstalls in.claude/skills/)~/.codex/skills/gstack*)~/.kiro/skills/gstack*).agents/skills/gstack*sidecar,.gstack/state,.gstack-worktrees/~/.gstack/state (config, analytics, sessions, projects, repos, installation-id)/tmp/gstack-*session and sync files--force(skip confirmation),--keep-state(preserve~/.gstack/data)~/Library/Caches/ms-playwright/(shared),~/.gstack-dev/(contributor-only)Test Coverage
All existing tests pass (1/2 pre-existing failure on main). Skill docs fresh for both Claude and Codex hosts.
Pre-Landing Review
No issues found.
TODOS
Addresses #273 (uninstall script). No other TODOS affected.
Test plan
bash -n bin/gstack-uninstallpasses syntax checkbin/gstack-uninstall --helpprints usagebin/gstack-uninstall(interactive) lists targets and prompts before removingbin/gstack-uninstall --forceremoves all gstack artifactsbin/gstack-uninstall --keep-state --forceremoves skills but preserves~/.gstack/GSTACK_STATE_DIRenv override works for isolated testingbun testpasses (no regressions)bun run skill:checkreports 27/27 skills healthy