George's dotfiles — the Linux environment, installed by symlink. Nothing else.
Two things used to live here and both moved out:
- Fleet automation (cross-repo audits, golden CI templates,
SHARED.md, the reusable auto-merge sweep) → bitbaum/fleet, 2026-08-28.SHARED.mdhere is a pointer;auto-merge-sweep.ymlhere is a forwarding shim for the 16 repos that still call it. Do not add fleet checkers, registries or templates here — they go tofleet. - The agent runtime (stop/notify/dispatch, PyQt beacon, prompt injection)
→ FleetCrown (Fleet Runner), 2026-06.
.claude/hooks/keeps only the thin per-session edge below.
.bashrc .ssh/config .editorconfig install.sh
.config/ kitty, starship, zellij, git hooks
.claude/hooks/ per-session edge only (see the table below)
.claude/skills/ fix-lint, fix-types, write-tests
SHARED.md POINTER to bitbaum/fleet — the registry is maintained there
.github/workflows/ this repo's own slim CI, auto-merge, and the sweep SHIM
settings.json is the SSOT for what runs. Verified 2026-08-27:
| Hook | Event | State |
|---|---|---|
pre-tool-use.sh |
PreToolUse | alive — auto-approves; audits destructive commands to dangerous-commands.log |
post-tool-use.sh |
PostToolUse | alive — typechecks after .ts/.tsx writes and feeds errors back |
keep-awake-acquire.sh / -release.sh |
UserPromptSubmit / Stop | alive — inhibits sleep while a session is working |
fleetcrown-capture.sh, fleetcrown-session-end.sh |
UserPromptSubmit / Stop | alive, but not ours — generated by FleetCrown's Fleet Runner, which rewrites them on startup. Gitignored deliberately. Do not edit here. |
stop.sh |
Stop | no-op since 2026-06-11. Dispatch moved to Fleet Runner. |
notification.sh |
Notification | no-op since 2026-08-27. Previously exec'd a bridge that no longer exists. |
If you are about to add agent-dispatch logic here, stop: that is FleetCrown's job. If you are about to add a fleet-wide checker here, stop: that is fleet's job.
Test changes:
bash -n .claude/hooks/*.sh install.sh # what this repo's CI runsAfter editing a hook: takes effect on the next session event. There is no daemon to restart.
Use cwd. The session registry at ~/.claude/sessions/<pid>.json is the SSOT
for what else is running.
Zellij tab names are not project identity. Tabs read Tab #9, one pane hosts
many concurrent sessions, and the claude-projects.conf mapping was removed on
2026-08-27 after it had been dead for months. Do not reintroduce it.
@~/.claude/CLAUDE.md