Context
The kit standardizes permissions and marketplace wiring but ships zero hooks — the
strongest determinism lever in Claude Code. Formatting is left to the agent remembering
to run it, and pipeline:onboard does not audit hooks at all. The consuming projects
already lean on hooks elsewhere (CI notifications, relays), so the pattern is familiar;
it just isn't part of the scaffold.
Proposal (opt-in, not default)
- Add per-stack hooks fragments (e.g. a
hooks/ dir or hooks-go.json /
hooks-flutter.json alongside the permission fragments) with a PostToolUse hook that
runs the formatter on the edited file: gofmt/goimports for Go, dart format for
Flutter.
- Document them as opt-in in the README — do NOT force them into
install.sh's
default settings.json (auto-format-on-edit is opinionated and some will not want it).
pipeline:onboard: add a check that reports whether hooks are wired and points to the
fragment.
Acceptance criteria
Context
The kit standardizes permissions and marketplace wiring but ships zero hooks — the
strongest determinism lever in Claude Code. Formatting is left to the agent remembering
to run it, and
pipeline:onboarddoes not audit hooks at all. The consuming projectsalready lean on hooks elsewhere (CI notifications, relays), so the pattern is familiar;
it just isn't part of the scaffold.
Proposal (opt-in, not default)
hooks/dir orhooks-go.json/hooks-flutter.jsonalongside the permission fragments) with aPostToolUsehook thatruns the formatter on the edited file:
gofmt/goimportsfor Go,dart formatforFlutter.
install.sh'sdefault
settings.json(auto-format-on-edit is opinionated and some will not want it).pipeline:onboard: add a check that reports whether hooks are wired and points to thefragment.
Acceptance criteria
onboardmentions/audits hooks.install.shoutput is unchanged.