mirror of https://github.com/garrytan/gstack.git
Non-Claude hosts (codex, factory, cursor, opencode, slate, kiro, hermes,
gbrain) resolve the browse/design/make-pdf binaries through absolute
$GSTACK_* env vars. The setup blocks built the global-install fallback as
`$HOME${dir.replace(/^~/, '')}/bin`, which assumes a ~-rooted dir. For
env-var hosts `dir` is already `$GSTACK_BROWSE` (absolute, contains $HOME),
so $HOME got prepended twice — e.g. `$HOME$GSTACK_BROWSE/browse` expands to
/home/me/home/me/.codex/.../browse and never resolves, leaving the skill
stuck on BROWSE_NOT_AVAILABLE / NEEDS_SETUP even when the binary is built.
Add toShellPath() in resolvers/types.ts: ~-rooted dirs expand via $HOME,
absolute env-var dirs pass through untouched. Applied at all six call
sites in browse.ts, design.ts, make-pdf.ts.
Claude output is byte-identical; env-var hosts now emit $GSTACK_BROWSE/browse.
tsc clean; resolver + make-pdf + golden host-config suites pass (270).
|
||
|---|---|---|
| .. | ||
| preamble | ||
| browse.ts | ||
| codex-helpers.ts | ||
| composition.ts | ||
| confidence.ts | ||
| constants.ts | ||
| design.ts | ||
| dx.ts | ||
| gbrain.ts | ||
| index.ts | ||
| learnings.ts | ||
| make-pdf.ts | ||
| model-overlay.ts | ||
| preamble.ts | ||
| question-tuning.ts | ||
| redact-doc.ts | ||
| review-army.ts | ||
| review.ts | ||
| sections.ts | ||
| tasks-section.ts | ||
| testing.ts | ||
| types.ts | ||
| utility.ts | ||