diff --git a/README.md b/README.md index 3e32fa89..27548066 100644 --- a/README.md +++ b/README.md @@ -598,18 +598,16 @@ Run `cd ~/.claude/skills/gstack && ./setup` (or `cd .claude/skills/gstack && ./s Run `cd ~/.claude/skills/gstack && bun install && bun run build`. This compiles the browser binary. Requires Bun v1.0+. **Project copy is stale?** -Re-copy from global: `for s in browse plan-ceo-review plan-eng-review review ship retro qa setup-browser-cookies; do rm -f .claude/skills/$s; done && rm -rf .claude/skills/gstack && cp -Rf ~/.claude/skills/gstack .claude/skills/gstack && rm -rf .claude/skills/gstack/.git && cd .claude/skills/gstack && ./setup` +Run `/gstack-upgrade` — it updates both the global install and any vendored project copy automatically. **`bun` not installed?** Install it: `curl -fsSL https://bun.sh/install | bash` ## Upgrading -Paste this into Claude Code: +Run `/gstack-upgrade` in Claude Code. It detects your install type (global or vendored), upgrades, syncs any project copies, and shows what's new. -> Update gstack: run `cd ~/.claude/skills/gstack && git fetch origin && git reset --hard origin/main && ./setup`. If this project also has gstack at .claude/skills/gstack, update it too: run `for s in browse plan-ceo-review plan-eng-review review ship retro qa setup-browser-cookies; do rm -f .claude/skills/$s; done && rm -rf .claude/skills/gstack && cp -Rf ~/.claude/skills/gstack .claude/skills/gstack && rm -rf .claude/skills/gstack/.git && cd .claude/skills/gstack && ./setup` - -The `setup` script rebuilds the browser binary and re-symlinks skills. It takes a few seconds. +Or set `auto_upgrade: true` in `~/.gstack/config.yaml` to upgrade automatically whenever a new version is available. ## Uninstalling diff --git a/TODOS.md b/TODOS.md index e98fcc1c..4916c236 100644 --- a/TODOS.md +++ b/TODOS.md @@ -338,17 +338,6 @@ **Effort:** XS **Priority:** P2 -### Auto-upgrade mode (zero-prompt) - -**What:** `GSTACK_AUTO_UPGRADE=1` env var or `~/.gstack/config` option that skips the AskUserQuestion prompt and upgrades automatically. - -**Why:** Power users and CI environments want zero-friction upgrades. - -**Context:** Current upgrade system (v0.3.4) always prompts. This adds opt-in bypass. ~10 lines in preamble instructions. - -**Effort:** S -**Priority:** P3 - ### Eval web dashboard **What:** `bun run eval:dashboard` serves local HTML with charts: cost trending, detection rate, pass/fail history. @@ -395,3 +384,7 @@ ### E2E test cost tracking - Track cumulative API spend, warn if over threshold **Completed:** v0.3.6 + +### Auto-upgrade mode + smart update check +- Config CLI (`bin/gstack-config`), auto-upgrade via `~/.gstack/config.yaml`, 12h cache TTL, exponential snooze backoff (24h→48h→1wk), "never ask again" option, vendored copy sync on upgrade +**Completed:** v0.3.8