<feed xmlns='http://www.w3.org/2005/Atom'>
<title>chime, 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-04-20T17:35:12+00:00</updated>
<entry>
<title>docs: expand custom predicate examples in README</title>
<updated>2026-04-20T17:35:12+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-20T17:35:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/chime/commit/?id=0382c4334cc68bc768a78735b26b009632f2c976'/>
<id>urn:sha1:0382c4334cc68bc768a78735b26b009632f2c976</id>
<content type='text'>
Fill out the custom-predicate-filtering section with the two motivating
examples from the surrounding prose (specific-file whitelist, weekend
work silencer) plus a priority-A whitelist, and tighten the defensive
handling of buffer-file-name for indirect buffers.
</content>
</entry>
<entry>
<title>chore: ignore .stignore (syncthing)</title>
<updated>2026-04-20T17:35:06+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-20T17:35:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/chime/commit/?id=a7685264011ef7fb745873fb53e61bf56d76bead'/>
<id>urn:sha1:a7685264011ef7fb745873fb53e61bf56d76bead</id>
<content type='text'>
</content>
</entry>
<entry>
<title>restructure: move docs/ to .ai/ + sync latest template</title>
<updated>2026-04-20T13:36:28+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-20T13:36:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/chime/commit/?id=9e5d7094b8be6eb092901b16538e14373f3cad4f'/>
<id>urn:sha1:9e5d7094b8be6eb092901b16538e14373f3cad4f</id>
<content type='text'>
Per claude-templates c36fd14. Claude tooling moves to hidden .ai/;
project-level docs/ reserved for real documentation.
</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=c5b41a3fb69b61d8c43fa814b349d02672c0c66e'/>
<id>urn:sha1:c5b41a3fb69b61d8c43fa814b349d02672c0c66e</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=7eb56084cc543d3455d277ef766302b1ad922b74'/>
<id>urn:sha1:7eb56084cc543d3455d277ef766302b1ad922b74</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=9c61a64a539bdff55b149dc0eee86366a0f694c7'/>
<id>urn:sha1:9c61a64a539bdff55b149dc0eee86366a0f694c7</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=e138c4564985cc239967199dd63d3c804a2d1245'/>
<id>urn:sha1:e138c4564985cc239967199dd63d3c804a2d1245</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=129b13f85ede90b50ac9e2131bddf30659fa57a9'/>
<id>urn:sha1:129b13f85ede90b50ac9e2131bddf30659fa57a9</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>
<entry>
<title>Improve README quick start, manual install, and filtering docs</title>
<updated>2026-04-05T02:32:55+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-05T02:32:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/chime/commit/?id=72a52a14455335be97a7d2b4820ec86c259d9236'/>
<id>urn:sha1:72a52a14455335be97a7d2b4820ec86c259d9236</id>
<content type='text'>
Rewrote Quick Start to show minimal config (just chime-mode 1) with
defaults overview and modeline interaction guide. Expanded manual
install with git clone steps. Fixed TOC nav links, made tag filter
examples consistent, added custom predicate motivation, removed
redundant Basic Event subsection.
</content>
</entry>
<entry>
<title>Add personality and reorganize README</title>
<updated>2026-04-05T02:01:12+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-05T02:01:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/chime/commit/?id=fbb28bfcefc000bce92599cceb9c859e21064765'/>
<id>urn:sha1:fbb28bfcefc000bce92599cceb9c859e21064765</id>
<content type='text'>
Add Douglas Adams epigraph, funny event names throughout, voice in
installation and history sections. Consolidate org-contacts into new
Integrations section with org-gcal guide. Trim verbose all-day events
interaction examples. Add severity, sound format, and icon docs.
</content>
</entry>
</feed>
