| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
F9 did nothing in an agent buffer: ghostel's semi-char mode forwards every key not in ghostel-keymap-exceptions to the pty, and ghostel-semi-char-mode-map outranks the major-mode map, so the F9-family and F12 bindings I'd put in ghostel-mode-map never fired. The keys went to Claude/the shell, which ignored them.
I added the F9 family (in ai-term) and F12 plus C-; (in term-config) to ghostel-keymap-exceptions and rebuilt the semi-char map with ghostel--rebuild-semi-char-keymap. add-to-list updates the list but not the already-built map, so the rebuild is what actually lets the keys through. C-; had the same latent bug for the same reason.
Two regression tests assert the keys are in the exceptions and that the rebuilt semi-char map no longer forwards them. I also corrected the spec note that claimed binding in ghostel-mode-map was enough (true for vterm, wrong for ghostel) and codified the gotcha.
|
| |
|
|
|
|
|
|
|
|
| |
Captures five durable findings worth carrying forward:
- :config blocks need a full Emacs launch smoke test. nerd-icons (:defer change) and flycheck (eval in :command) both passed unit tests but broke at launch.
- gptel-model must be a symbol. The modeline render calls symbolp and OpenAI's renderer is strict where Anthropic's tolerated strings.
- flycheck-define-checker rejects (eval ...) in the :command executable slot. Wrap the whole macro in eval+backquote to splice a computed path.
- Emacs 30 batch mode: provide doesn't fire eval-after-load callbacks. Only load does, so tests should assert against after-load-alist directly.
- Warn at module load when an external tool path is configured but missing (cj/executable-find-or-warn) instead of letting the first call fail mid-edit.
|
| | |
|
| |
|
|
|
|
| |
.gitignore: rename the private-tooling entry from /docs/ to /.ai/.
CLAUDE.md: expand Layout to list /.ai/ (gitignored) and docs/
(reserved for real project documentation, if/when created).
|
| |
|
|
|
|
|
|
|
| |
Picks up upstream bundle changes:
- New .claude/rules/commits.md: no AI attribution, conventional prefixes.
- settings.json: attribution.commit and attribution.pr empty strings
(suppresses Claude Code default attribution).
- CLAUDE.md: Git Workflow references commits.md instead of the
(gitignored) docs/protocols.org.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Swap blanket /CLAUDE.md + /.claude/ gitignore rules for personal-only
overrides (.claude/settings.local.json, .claude/.cache/). Add the
tracked bundle content from ~/code/rulesets install-elisp:
- CLAUDE.md (project instructions)
- .claude/rules/elisp.md
- .claude/rules/elisp-testing.md
- .claude/rules/verification.md
- .claude/hooks/validate-el.sh (portable via $CLAUDE_PROJECT_DIR)
- .claude/settings.json (allowlist + hook wiring)
Hooks now use $CLAUDE_PROJECT_DIR with script-relative fallback, so a
fresh clone of this repo works on any machine without path edits.
Project-local skills under .claude/skills/ were stale DeepSat-flavored
copies; deleted and replaced with symlinks into ~/.claude/skills/ via
the rulesets repo's global install.
|
| | |
|
| |
|
|
|
| |
Execute cross-project announcements: delete old workflow files,
remove templates cache, rename NOTES.org to lowercase notes.org.
|
|
|
- Create CLAUDE.md at repo root with session-context update rule
- Key rules summary for commits, files, wrap-up
|