<feed xmlns='http://www.w3.org/2005/Atom'>
<title>chime/.claude/rules, branch main</title>
<subtitle>Emacs chimes, notifications, and modeline reminders so you don't miss events
</subtitle>
<id>https://git.cjennings.net/chime/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/chime/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/chime/'/>
<updated>2026-06-24T02:00:33+00:00</updated>
<entry>
<title>chore: stop tracking local dev tooling</title>
<updated>2026-06-24T02:00:33+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-24T02:00:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/chime/commit/?id=1587c119ceeba4698974f402eda17482e68202e8'/>
<id>urn:sha1:1587c119ceeba4698974f402eda17482e68202e8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: refresh .claude rules and hooks to rulesets canonical</title>
<updated>2026-06-12T23:14:19+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-12T23:14:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/chime/commit/?id=b39633d9d482b6510e5626e0c5441ad211508a6e'/>
<id>urn:sha1:b39633d9d482b6510e5626e0c5441ad211508a6e</id>
<content type='text'>
The startup language-bundle sync repaired drift in these rulesets-owned files. Committing them at canonical so future syncs stay no-ops.
</content>
</entry>
<entry>
<title>chore: symlink claude rules to rulesets canonical</title>
<updated>2026-05-07T23:26:23+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-07T23:26:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/chime/commit/?id=08cf28b2b752a9fdad10201484763f1fbb5733b3'/>
<id>urn:sha1:08cf28b2b752a9fdad10201484763f1fbb5733b3</id>
<content type='text'>
The .claude/rules/ files (commits.md, testing.md, verification.md) were local copies that drifted from the canonical at ~/code/rulesets. I replaced them with absolute symlinks pointing at the canonical files. This repo now picks up rule updates automatically.

The symlinks are absolute. Cloning this repo on a new machine needs ~/code/rulesets at the same path. Otherwise the symlinks dangle.
</content>
</entry>
<entry>
<title>chore(claude): sync validate-el.sh JSON channel + pairwise rule from rulesets</title>
<updated>2026-04-19T22:07:29+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-19T22:07:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/chime/commit/?id=592142e3788e55ae166103cc6b653b9531bba38a'/>
<id>urn:sha1:592142e3788e55ae166103cc6b653b9531bba38a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: sync testing rules — pyramid, overmocking, refactor-for-testability, interactive/internal split</title>
<updated>2026-04-19T18:16:20+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-19T18:16:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/chime/commit/?id=09012e83a5701b7fbeba67359a418a660ff9a1e7'/>
<id>urn:sha1:09012e83a5701b7fbeba67359a418a660ff9a1e7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: sync elisp-testing.md (testutil pattern generalized)</title>
<updated>2026-04-19T18:09:57+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-19T18:09:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/chime/commit/?id=b5674c5877a6b851301ed81a3742de704de4d20a'/>
<id>urn:sha1:b5674c5877a6b851301ed81a3742de704de4d20a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: sync bundle — add commits.md rule, attribution suppression</title>
<updated>2026-04-19T18:06:59+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-19T18:06:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/chime/commit/?id=ad9ea80ffc77cda3b5c0456925f7b53477815aad'/>
<id>urn:sha1:ad9ea80ffc77cda3b5c0456925f7b53477815aad</id>
<content type='text'>
- New .claude/rules/commits.md: no AI attribution, conventional prefixes.
- settings.json: attribution.commit and attribution.pr empty strings.
- CLAUDE.md template refreshed to reference commits.md.
</content>
</entry>
<entry>
<title>chore: add Claude Code ruleset via ~/code/rulesets install-elisp</title>
<updated>2026-04-19T17:46:59+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-19T17:46:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/chime/commit/?id=6d72c4eed04c7d28639ee31789e6201275e7d9b7'/>
<id>urn:sha1:6d72c4eed04c7d28639ee31789e6201275e7d9b7</id>
<content type='text'>
Installs the Elisp ruleset from the rulesets repo:

  - CLAUDE.md (project instructions template)
  - .claude/rules/ (testing, verification, elisp, elisp-testing)
  - .claude/hooks/validate-el.sh (check-parens + byte-compile + run
    matching tests on every .el edit via PostToolUse)
  - .claude/settings.json (permission allowlist + hook wiring)
  - githooks/pre-commit (secret scan + staged-file paren check)

core.hooksPath set to githooks/ so the pre-commit activates automatically.
Hooks use \$CLAUDE_PROJECT_DIR with a script-relative fallback, so a
fresh clone works without path edits.

.gitignore extended with personal-override entries (settings.local.json,
.cache/) and byte-compile artifacts (*.elc, *.eln).
</content>
</entry>
</feed>
