singularity-forge/bin/gsd-from-source
ace-pm 35dc87ef53 chore: sync workspace state after rebrand
- Rebrand commits already in history (gsd → forge)
- Sync pre-existing doc, docker, and CI config updates
- All rebrand artifacts verified in place:
  * Native crates: forge-engine, forge-ast, forge-grep
  * Log prefixes: [forge] across 22+ files
  * Binary: ~/bin/sf-run
  * Workspace scopes: @sf-run/*, @singularity-forge/*
  * Nix flake: Rust toolchain ready

System ready for: nix develop && bun run build:native

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 14:54:20 +02:00

24 lines
1,008 B
Bash
Executable file

#!/usr/bin/env bash
#
# gsd-from-source — run SF directly from this source checkout via bun.
#
# Purpose: every local commit in this repo (e.g. the #4251 fix) is live
# immediately without reinstalling the bun-packaged sf-run. Subagents can
# spawn gsd by pointing SF_BIN_PATH at this script instead of dist/loader.js.
#
# Contract:
# - Executable shim spawn() / exec() can launch directly.
# - Exports SF_BIN_PATH before handing off to loader.ts so loader.ts's
# `SF_BIN_PATH ||= process.argv[1]` branch preserves the shim path
# instead of clobbering it with the .ts loader path (which is not
# directly executable by child_process.spawn).
#
# Requirements: bun on PATH, node_modules populated (`bun install` once).
set -euo pipefail
SCRIPT_DIR=$(cd -- "$(dirname -- "$(readlink -f "${BASH_SOURCE[0]}")")" &>/dev/null && pwd)
SF_SOURCE_ROOT=$(cd -- "$SCRIPT_DIR/.." &>/dev/null && pwd)
export SF_BIN_PATH="$SCRIPT_DIR/gsd-from-source"
exec bun run "$SF_SOURCE_ROOT/src/loader.ts" "$@"