Adds a direct project lifecycle helper for installing, updating, and uninstalling the /goal command, helper, and managed Stop hook in target projects from a local checkout.
What is new
npm run goal:install -- --project <dir>npm run goal:update -- --project <dir>npm run goal:uninstall -- --project <dir>(add--forceto remove customized files)
Powered by scripts/goal-lifecycle.mjs.
Behavior guarantees
- Manages only
.claude/commands/goal.md,.claude/scripts/goal-helper.mjs, and the managed Stop hook entry inside.claude/settings.json. - Never reads, writes, or deletes
.claude/settings.local.json. - Preserves unrelated keys and unrelated hooks in
.claude/settings.json. uninstallskips customized command/helper files unless--forceis given, and removes only the managed Stop hook entry.
Tests
- 69 behavioral tests pass on Ubuntu/Windows/macOS x Node 18/22 (was 66).
- New "Direct Lifecycle Helper Check" section in
SMOKE_TEST.mdwith PowerShell and Bash flows that verifysettings.local.jsonis never modified.
Full Changelog: v0.1.1...v0.2.0