fix(dotagents): keep global agent rules fresh on switch and fleet

Merged
SH
3d ago
+23-3

Summary

  • dotagents-switch-sync (used by make switch) ran ruler-dotdirs-sync last and never ran ruler-apply-global, so stale gitignored repo-local Ruler outputs overwrote ~/.claude/CLAUDE.md and other agent rules on every switch. That is why sessions still saw "No co-authorship" weeks after shunkakinoki/dotagents#213. It now runs dotdirs first and ruler-apply-global last; the CI branch of dotagents-sync uses the same order.
  • dotfiles-updater only ran make install, which never syncs dotagents, so fleet hosts kept whatever agent rules they were provisioned with. It now runs make dotagents-switch-sync after install. A failure there is logged and does not block the installed-commit marker. bun, jq, and rsync are added to the service PATH on Linux and Darwin.
  • Bumps dotagents to shunkakinoki/dotagents#215 (sync ordering, non-aborting sync, removal of dead BetterWright skills).

Verification

  • shellspec spec/dotfiles_updater_spec.sh: 26 examples, 0 failures (new case covers the sync call and the non-blocking failure).
  • make dotagents-switch-sync exits 0 locally; ~/.claude/CLAUDE.md contains the co-author rule.

๐Ÿค– Generated with Claude Code


Summary by cubic

Fixes agent rule sync so make switch stops overwriting ~/.claude/CLAUDE.md and other global Ruler outputs with stale repo-local copies, and makes fleet hosts pick up current agent rules on update.

  • dotagents-switch-sync now runs ruler-dotdirs-sync first and ruler-apply-global last; the CI branch of dotagents-sync uses the same order.
  • dotfiles-updater now runs make dotagents-switch-sync after install so hosts get fresh agent rules, skills, and MCP configs; a sync failure is logged and does not block the installed-commit marker.
  • Adds bun, jq, and rsync to the service PATH on Linux and Darwin.
  • Bumps the dotagents submodule for sync ordering and dead-skill removals.