feat(down): add --polecats flag and deprecate gt stop command

Issue #336: Consolidate down/shutdown/stop commands

Changes:
- Add `gt down --polecats` flag to stop all polecat sessions
- Deprecate `gt stop` command (prints warning, directs to `gt down --polecats`)
- Update help text to clarify down vs shutdown distinction:
  - down = pause (reversible, keeps worktrees)
  - shutdown = done (permanent cleanup)
- Integrate --polecats with new --dry-run mode from recent PR

Note: The issue proposed renaming --nuke to --tmux, but PR #330 just
landed with --nuke having better safety (GT_NUKE_ACKNOWLEDGED env var),
so keeping --nuke as-is. The new --polecats flag absorbs gt stop
functionality as proposed.

Closes #336

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
gastown/crew/max
2026-01-10 23:04:37 -08:00
committed by Steve Yegge
parent 3246c7c6b7
commit dab619b3d0
3 changed files with 120 additions and 25 deletions

View File

@@ -66,11 +66,15 @@ To stop Gas Town, use 'gt shutdown'.`,
var shutdownCmd = &cobra.Command{
Use: "shutdown",
GroupID: GroupServices,
Short: "Shutdown Gas Town",
Short: "Shutdown Gas Town with cleanup",
Long: `Shutdown Gas Town by stopping agents and cleaning up polecats.
By default, preserves crew sessions (your persistent workspaces).
Prompts for confirmation before stopping.
This is the "done for the day" command - it stops everything AND removes
polecat worktrees/branches. For a reversible pause, use 'gt down' instead.
Comparison:
gt down - Pause (stop processes, keep worktrees) - reversible
gt shutdown - Done (stop + cleanup worktrees) - permanent cleanup
After killing sessions, polecats are cleaned up:
- Worktrees are removed
@@ -78,9 +82,9 @@ After killing sessions, polecats are cleaned up:
- Polecats with uncommitted work are SKIPPED (protected)
Shutdown levels (progressively more aggressive):
(default) - Stop infrastructure (Mayor, Deacon, Witnesses, Refineries, Polecats)
(default) - Stop infrastructure + polecats + cleanup
--all - Also stop crew sessions
--polecats-only - Only stop polecats (leaves everything else running)
--polecats-only - Only stop polecats (leaves infrastructure running)
Use --force or --yes to skip confirmation prompt.
Use --graceful to allow agents time to save state before killing.