mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-13 00:19:03 +02:00
Merge origin/main (v1.80.0.0) into consolidate-browser-skills-into-aside; queue-advance release to v1.81.0.0
Both sides claimed v1.80.0.0, so VERSION, package.json and the agents digest auto-merged without a conflict; the release is re-versioned to the next free MINOR slot (bin/gstack-next-version), the size-budget baseline renamed to match, and the CHANGELOG carries the Aside-first entry above main's. Two semantic conflicts hidden in the clean setup auto-merge are resolved here: - _prune_stale_generated deleted a REAL host directory on banner-only proof; main's #2119 gate makes that weak proof file-scoped, so real dirs now go through _cleanup_weak_dir (SKILL.md, marker and our links only). - _browser_hint and the Chromium bootstrap summary now consult _PW_FAIL_REASON and Aside presence, so they never promise a bundled browser that cannot launch and never tell an Aside user their browser skills are gone. README, TESTING_INTERNALS and TODOS wording reconciled with the merged tree. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -398,6 +398,11 @@ while IFS= read -r dir; do
|
||||
;;
|
||||
esac
|
||||
done
|
||||
# Directories gstack created carry a .gstack-owned marker (the only signal on
|
||||
# Windows, where installs are file copies with no symlink to read)
|
||||
for marker in ~/.claude/skills/*/.gstack-owned; do
|
||||
[ -f "$marker" ] && rm -rf "$(dirname "$marker")"
|
||||
done
|
||||
# Alias skills install as copies (no symlink to detect) — remove by name
|
||||
rm -rf ~/.claude/skills/_gstack-command ~/.claude/skills/connect-chrome 2>/dev/null
|
||||
|
||||
@@ -543,6 +548,32 @@ Data is stored in [Supabase](https://supabase.com) (open source Firebase alterna
|
||||
|
||||
On Windows without Developer Mode (MSYS2 / Git Bash), `setup` falls back to file copies instead of symlinks because `ln -snf` produces frozen copies that don't refresh on `git pull`. **Re-run `cd ~/.claude/skills/gstack && ./setup` after every `git pull`** so your skill files match the repo. `setup` prints a one-line note reminding you. Unix and WSL keep symlinks and don't need the re-run.
|
||||
|
||||
**Chromium install failed or hung during `./setup`?** The bundled browser is
|
||||
best-effort: setup records the reason, finishes registering every skill, and
|
||||
prints which skills are affected (`/qa`, `/qa-only`, `/design-review`,
|
||||
`/browse`, make-pdf, `/diagram`, `/pair-agent`). With Aside open, the browser
|
||||
skills keep running in Aside and only the fallback engine is missing;
|
||||
`/pair-agent` always needs the bundled browser. Fix the cause and re-run
|
||||
`./setup`. Knobs:
|
||||
`GSTACK_PLAYWRIGHT_INSTALL_TIMEOUT=<seconds>` raises the download bound
|
||||
(default 600) on slow links; `GSTACK_SKIP_PLAYWRIGHT=1` skips the Chromium
|
||||
install entirely (CI, no-browser boxes); `GSTACK_CHROMIUM_NO_SANDBOX=1` is the
|
||||
fix when Chromium installs but cannot launch because the host blocks
|
||||
unprivileged user namespaces (Ubuntu 24.04+ AppArmor default, #2157).
|
||||
|
||||
**Setup ended with "Not registered (a skill you own already uses the name; left untouched)"?**
|
||||
gstack only deletes or links over a skill entry it can prove it created: a
|
||||
symlink into gstack, a directory carrying the `.gstack-owned` marker `./setup`
|
||||
writes into every directory it creates, or a SKILL.md that is byte-identical to
|
||||
gstack's or carries the generated `<!-- AUTO-GENERATED from ... -->` banner. A
|
||||
`qa/` or `ship/` you wrote yourself is left untouched by `./setup`,
|
||||
`gstack-relink`, and both prefix-mode flips, and the linker names it in the
|
||||
final summary. Rename or move yours, or switch modes (`./setup --prefix` /
|
||||
`--no-prefix`) so the names stop colliding. If you started your own skill from
|
||||
a generated gstack SKILL.md and then edited it, that file is moved to
|
||||
`~/.gstack/backups/skills/<timestamp>/<skill>/SKILL.md` before gstack's is
|
||||
linked in, never deleted.
|
||||
|
||||
**Claude says it can't see the skills?** Make sure your project's `CLAUDE.md` has a gstack section. Add this:
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user