implement: sync main and cut task-<NNNN>-<slug> before work, with
stop-and-ask guards for a dirty tree, a diverged main, and an unmerged
blocker. Replaces the no-commit rule with one commit, a push, and a PR
carrying the review's Risk block plus any unaddressed findings.
test-driven-development: every test is written by a general-purpose
sub-agent that never reads the implementation; the main agent writes the
code and never edits a test.
Wire Stop and Notification hooks in ~/.claude/settings.json to a new
~/.claude/hooks/attention-bell.sh, which rings the terminal bell in the
session pane so tmux monitor-bell flags the background window.
The hook runs detached (no controlling tty), so it walks its process
ancestry to the claude process and writes the BEL to that pane tty.
Also replaces the dead settings.json symlink (pointed at a now-missing
~/wrk/claude path) with a real tracked file.
The skill wasn't firing reliably, so instead of polluting the global
config with a skill that only helped *sometimes*, convert it into
project-specific instructions in .config/dot
Future work on this project (dotfiles) should always start from this
directory, even if changes are made outside. This helps Claude keep
the scope narrow.
dotcli is my utility script for everything dotfiles.
A bootstrap command is included in the README.
A test suite and the necessary scaffolding for extending
dotcli is also included.