github dyoshikawa/rulesync v43.6.3

2 hours ago

What's Changed

Bug Fixes

  • permissions (Hermes Agent), security: the round-trip blob that rulesync stores under permissions.rulesync in ~/.hermes/config.yaml no longer carries other tools' override blocks. It used to copy every override, so secrets such as the Claude Code env block ended up in plaintext in the Hermes config. The blob is now limited to $schema, permission and hermes, on both generate and import. by @0genlab in #3762
    • If you generated Hermes permissions with an earlier version: regenerate permissions for hermesagent (for example rulesync generate --targets hermesagent --features permissions --global) so the old blob is replaced, and rotate any keys that were in Claude Code env or in other tools' override blocks. A config is not cleaned if Hermes is no longer among your targets or the permissions feature is no longer generated — remove the permissions.rulesync key by hand in that case.
    • Import behavior change: importing from ~/.hermes/config.yaml alone (for example rulesync import --targets hermesagent --global on another machine) now restores only permission and hermes. Other tools' override blocks (claudecode, opencode, cursor, …) stored by older versions are no longer brought back; the ones already in .rulesync/permissions.jsonc are kept.
  • hooks (Antigravity): canonical tool names in PreToolUse / PostToolUse matchers are now translated to the lowercase names Antigravity reports, so Bash, Read, Write, Edit and WebSearch matchers actually fire, and they map back on import. by @beingmomen in #3784
  • hooks (Antigravity): Read / Write / Edit are written as non-capturing groups covering both the names measured on agy CLI 1.5.1 and the names the Antigravity hooks docs list ((?:read_file|view_file), (?:write_file|write_to_file), (?:edit_file|replace_file_content)), so the matchers also fire where the IDE reports the documented names. Both spellings map back on import, and the warning for untranslated names (Grep, Glob, WebFetch, MultiEdit) now names the documented candidates. by @dyoshikawa in #3790

Internal

  • Drop an unreachable cross-tool merge branch in the permissions import, read the Hermes provenance $schema directly, and document that the hermes override is mirrored into the round-trip blob (so it should not hold secrets). by @dyoshikawa in #3791
  • Dependency updates: npm all-dependencies group (#3759), @babel/parser (#3760), GitHub Actions (#3785, #3786).

Contributors

Full Changelog: v43.6.2...v43.6.3

Don't miss a new rulesync release

NewReleases is sending notifications on new releases.