<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rulesets/hooks/settings.json, branch main</title>
<subtitle>Claude Code skills, rules, and language bundles
</subtitle>
<id>https://git.cjennings.net/rulesets/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/rulesets/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/'/>
<updated>2026-04-14T05:17:58+00:00</updated>
<entry>
<title>chore: remove non-functional hooks template</title>
<updated>2026-04-14T05:17:58+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-14T05:17:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=f8c593791ae051b07dba2606c18f1deb7589825e'/>
<id>urn:sha1:f8c593791ae051b07dba2606c18f1deb7589825e</id>
<content type='text'>
The hooks/settings.json template was broken since day one:
- PostEditTool is not a valid Claude hook event
- PreCommit is not a Claude concept at all
- matcher was used as a glob, not a tool-name regex
- $FILE was never substituted from stdin JSON

Hooks never fired. Formatting and secret-scanning belong in CI and
pre-commit frameworks, not per-developer Claude config. Remove the
template and its install-hooks Makefile target.
</content>
</entry>
<entry>
<title>Add hooks settings.json with install-hooks target</title>
<updated>2026-03-29T21:27:59+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-03-29T21:27:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=f894e07ea3c39620e37245f1e1bf829e853bbe5b'/>
<id>urn:sha1:f894e07ea3c39620e37245f1e1bf829e853bbe5b</id>
<content type='text'>
Hooks provide:
- PostEditTool: ruff format/check on Python, terraform fmt on .tf
- PreCommit: block commits containing hardcoded secrets (AWS keys, API tokens, passwords)

Install per-project with: make install-hooks TARGET=/path/to/project
Won't overwrite existing settings.json — shows diff command instead.

Co-Authored-By: Claude Opus 4.6 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
