Skip to content

fix(install): make --no-aforge actually skip the aforge download - #926

Merged
AbirAbbas merged 1 commit into
mainfrom
fix/installer-no-aforge-honoured
Aug 17, 2026
Merged

fix(install): make --no-aforge actually skip the aforge download#926
AbirAbbas merged 1 commit into
mainfrom
fix/installer-no-aforge-honoured

Conversation

@AbirAbbas

Copy link
Copy Markdown
Contributor

Summary

scripts/install.sh --no-aforge (and AFORGE_MODE=none) did not prevent the aforge download. The script only skipped its own explicit af aforge ensure step, but af skill install --all — which runs earlier in the same install — fires the same best-effort provisioning hook (control-plane/internal/skillkit/install.goaforge.EnsureBestEffort), so opted-out users still got the ~35 MB binary in ~/.agentfield/bin. Regressed with #924, which introduced both the hook and the flag.

Changes Made

  • scripts/install.sh: when AFORGE_MODE=none, export AGENTFIELD_SKIP_AFORGE=1 right after arg parsing so every af / af-tray call the script makes honours the opt-out (that env var is the one switch the Go side checks). Comment updated on the mode block. install.ps1 is unaffected (it does not run the skill install).

Verification (live, isolated HOME, VERSION=v0.1.130-rc.5)

  • Patched script --no-tray --no-aforge → exit 0, af 0.1.130-rc.5 + skill catalog + furrow installed, no ~/.agentfield/bin/aforge.
  • Unpatched origin/main script, same flags → ~/.agentfield/bin/aforge present despite the flag.
  • bash -n scripts/install.sh clean.

Test Plan

  • Patched vs unpatched side-by-side against the rc.5 release
  • CI

🤖 Generated with Claude Code

…forge download

The installer only skipped its own explicit `af aforge ensure` step, but
`af skill install --all` (which runs first) triggers the same best-effort
aforge provisioning hook (skillkit/install.go), so a user who opted out
still got the 35 MB binary downloaded into ~/.agentfield/bin. Regressed
with #924, which added both the hook and the flag.

Export AGENTFIELD_SKIP_AFORGE=1 for the whole run when AFORGE_MODE=none —
that env gate is the single switch the Go side honours — so every `af`
(and af-tray) invocation the script makes respects the opt-out.

Verified against v0.1.130-rc.5 into an isolated HOME: patched installer
with --no-aforge installs af + skills + furrow and no aforge; the
unpatched script installs aforge despite the flag.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@AbirAbbas
AbirAbbas requested a review from a team as a code owner August 17, 2026 20:11
@AbirAbbas
AbirAbbas merged commit 4930075 into main Aug 17, 2026
17 checks passed
@AbirAbbas
AbirAbbas deleted the fix/installer-no-aforge-honoured branch August 17, 2026 20:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant