Releases: dyoshikawa/rulesync
Releases · dyoshikawa/rulesync
v8.7.0
Immutable
release. Only release title and notes can be modified.
What's Changed
New Features
- MCP Server: Add permissions and hooks features — The rulesync MCP server now supports
permissionsandhooksfeatures, enabling remote management of tool permissions and hook configurations. rulesync install --mode gh— New install mode for GitHub Copilot-compatible (gh-skill) file layouts.rulesync install --mode apm— New install mode for APM-compatible file layouts with lockfile and manifest support.- Agent-team slash command — New
agent-teamcommand for running an implementer/reviewer loop.
Bug Fixes
- Handle denied web tools in Kiro permissions
- Normalize Copilot subagent file path round-trip
- Align skill source fallback across install transports
- Harden APM stale-cleanup and lockfile preservation
- Harden APM install against review findings
Other Changes
- Improve CodexCLI hooks converter and auxiliary files
- Rename APM lockfile to
rulesync-apm.lock.yaml - Enforce docs and skill docs synchronization in CI
Tests
- Add e2e coverage for permissions/hooks via MCP server
- Add e2e coverage for Kiro denied web tools
Full Changelog: v8.6.0...v8.7.0
Contributors
v8.6.0
Immutable
release. Only release title and notes can be modified.
What's Changed
New Features
- feat: add create-issue-with-websearch slash command (ea14e95)
- feat: add triage-issues slash command (afd3cb6)
- feat: add post-issue-comment slash command (6c3cf45)
- feat(permissions): migrate Gemini CLI output to policy engine (4dd34bc)
Bug Fixes
- fix(permissions): harden Gemini CLI policy engine against pollution and match-all bypasses (74335c3)
- fix(permissions): harden Gemini CLI policy engine output (ac09501)
- fix(e2e): update geminicli global permissions test for policy engine (aba0a41)
Other Changes
- refactor(permissions): emit Gemini CLI policy TOML into .gemini/policies/ auto-discovery dir (dd7322c)
- refactor(permissions): harden Gemini CLI policy emission per review (2e93508)
- docs(commands): strengthen reference URL requirements in create-issue-with-websearch (9ab0ffa)
- chore: ignore tsx cache dirs for cicheck content (c036d0e)
Contributors
Full Changelog
v8.5.0
Immutable
release. Only release title and notes can be modified.
What's Changed
New Features
- Windsurf skills support by @joe-fo in #1506
- Added support for Windsurf as a supported tool for skills
- Per-target gitignore destination routing by @dyoshikawa
- Added
gitignoreDestinationper target configuration in.rulesyncrc.yml - Support root and non-prefixed
gitignoreDestinationvalues
- Added
Bug Fixes
- Support single-skill repos with SKILL.md at path root by @lgaudez in #1497
- Remove non-null assertion in root skill fallback
Other Changes
- Switch Claude Code default mode to
autoby @dyoshikawa in #1516 - Add
.gitattributes+ linguist-generated FAQ by @tmchow in #1511 - Add e2e coverage for gitignore destination routing
- Add constructor &
fromDirtest cases
Contributors
- @joe-fo (Joe Fortman)
- @lgaudez (Leo Gaudez)
- @tmchow (Trevin Chow)
- @dyoshikawa
Full Changelog
v8.4.0
Immutable
release. Only release title and notes can be modified.
What's Changed
New Features
- feat(permissions): export codexcli bash rules as .rules files (#1499, @dyoshikawa)
Bug Fixes
- fix: preserve multiline codexcli subagent instructions (#1507, @dyoshikawa)
Other Changes
- Add GitHub Actions workflow to auto-close stale maintainer-scrap issues (#1500, @dyoshikawa)
- test(permissions): add codexcli bash rules e2e coverage (@dyoshikawa)
- ci(deps): bump the all-actions group with 5 updates (#1504, @dependabot[bot])
Contributors
- @dyoshikawa
- @dependabot[bot]
Full Changelog
v8.3.0
Immutable
release. Only release title and notes can be modified.
What's Changed
New Features
- Kiro permissions support (
691f225): AddedKiroPermissionsclass to generate and import.kiro/agents/default.jsonpermissions files, supporting shell, read, write, webfetch, and websearch permission categories. - Claude Code global permissions: Updated Claude Code permissions to support global mode (
supportsGlobal: true), enabling project-level and global permission generation.
Bug Fixes
- Fix CI publish-assets workflow (
501a3e7): Handle lightweight tags correctly and verify remote SHA by querying both peeled (annotated) and plain (lightweight) tag refs. Also fix a logic issue where a locally existing tag pointing to the correct commit would not be pushed to origin.
Documentation
- Add hooks.json example and tool-event matrix to hook documentation (
1c4368e) - Add Kilo, Factory Droid, Codex CLI, and deepagents to hook matrix (
9982596)
Tests
- Add end-to-end test for Claude Code global permissions scenario (
a1da285) - Add unit tests for
KiroPermissionsconversion and file loading - Update
PermissionsProcessortests to include Kiro as a tool target
Contributors
Full Changelog
v8.2.0
Immutable
release. Only release title and notes can be modified.
What's Changed
New Features
- Add
opencode-gpt-reviewcommand: New CLI command for GPT-based code review via opencode (#1490) - Support object-form on
root.targets: Allowtargetsto be specified as an object mapping tool names to feature lists, with deprecation of the object-form onroot.features
Bug Fixes
- Fix config mutual-exclusivity check for
targets/featuresafter merging local and base config - Fix e2e test to expect
.agent.mdextension for Copilot subagent output - Fix
.gitignoreto always includeagentsmdentries whengitignoreTargetsOnlyis true (#1488) - Fix
rulesync.jsoncmigration totargetsobject form; skip default features when targets is object
Refactoring
- Harden
Configconstructor invariants and deduplicate target derivation - Address mid-severity code review findings in config module
- Address second-round mid-severity review findings in config module
Other Changes
- Remove accidentally committed
AGENTS.mdartifacts - Restore
tsxas the TypeScript runtime for scripts and dev CLI - Add deprecation warnings module for config migration guidance
- Update documentation for configuration and CLI commands
Contributors
Full Changelog
v8.1.0
Immutable
release. Only release title and notes can be modified.
What's Changed
Features
- feat(rules): allow per-target
includeLocalRootoption to skip localRoot rules (#1475)- Add per-target
includeLocalRootconfiguration option to control whether localRoot rules are included for specific targets.
- Add per-target
- feat(gitignore): add
gitignoreTargetsOnlyconfig option (#1479)- Add
gitignoreTargetsOnlyconfig option so that generated.gitignoreentries are limited to configured targets only. - Add
.claude/*.lockand.opencode/package-lock.jsonentries to gitignore generation.
- Add
- feat(rules): expand
includeLocalRootcoverage with additional test cases (#1475)
Bug Fixes
- fix(copilot): ensure
.agent.mdextension for Copilot subagent files (#1480, contributed by @armorbreak001)- Fix Copilot subagent file generation to always use the
.agent.mdextension.
- Fix Copilot subagent file generation to always use the
- fix(ci): verify existing release tag points to merge commit (#1484)
- fix: replace tsx runtime with node and remove direct tsx dependency (#1481)
- Replace tsx runtime with node using a custom strip-types loader for CI stability.
Documentation
- docs: remove experimental label from single binary install (#1484)
CI
- ci: upload permissions-schema.json as release asset (#1476)
Chores
- chore: configure per-target features in rulesync.jsonc
- chore: remove stale inline comment in rulesync.jsonc
- chore: regenerate copilot instructions and gitignore
Contributors
Full Changelog
v8.0.0
Immutable
release. Only release title and notes can be modified.
What's Changed
Features
- feat(rules): allow per-target rules.ruleDiscoveryMode override (auto|toon) (#1472)
- feat(permissions): support Gemini CLI settings mapping (#1471)
Bug Fixes
- fix: include Windsurf frontmatter when generating rules (#1470)
- fix: pass global flag in claudecode MCP factories
Documentation
- docs: sync instruction guidelines for issue #1438
Tests
- test(permissions): add Gemini CLI e2e coverage (#1419) (#1473)
- test(e2e): add codexcli permissions happy-path coverage
Contributors
Full Changelog
v7.30.0
Immutable
release. Only release title and notes can be modified.
What's Changed
New Features
- Support OpenCode permissions generation and import
Bug Fixes
- Keep
.rulesync/.aiignoreexception effective in gitignore
Other Changes
- Add e2e happy-path coverage for opencode permissions
- Add Tool x Feature e2e happy-path preservation rule to testing guidelines
- Add e2e spec glob to testing guidelines
- Add PR description issue-link guideline
- Bump anomalyco/opencode in the all-actions group
Full Changelog: v7.28.0...v7.30.0
Contributors
Thanks to everyone who contributed to this release!
- @dyoshikawa
- @dependabot[bot]
v7.28.0
Immutable
release. Only release title and notes can be modified.
What's Changed
New Features
- Add Codex CLI hooks support by @dyoshikawa
- Convert rulesync automation skills to commands by @dyoshikawa in #1443
- Enhance E2E test coverage for all tool x feature combinations by @dyoshikawa in #1449
Bug Fixes
- Restore Gemini CLI file path handling by @dyoshikawa in #1436
- Ignore non-deletable files in check mode by @henriquemod in #1439
- Detect delete-only diffs in check mode by @dyoshikawa
- Handle missing rulesync files in hooks and mcp generation by @dyoshikawa
- Fail check mode when delete would remove orphan files by @dyoshikawa
- Filter non-command hooks and remove config.toml side effect by @dyoshikawa
- Pin tag to merged SHA and check remote tags in publish-assets by @dyoshikawa in #1446
Refactoring
- Extract processFeatureWithRulesyncFiles helper and fix commands/subagents empty handling by @dyoshikawa
- Remove redundant check-mode orphan detection blocks by @dyoshikawa
- Remove unused includeNonDeletable param and deduplicate filesystem reads by @dyoshikawa
- Remove review loop script by @dyoshikawa
Chore
- Enable 1M context and configure autocompact threshold by @dyoshikawa in #1447
- Adjust opencode agent permissions by @dyoshikawa in #1444
Docs
- Add Codex CLI hooks to supported tools tables by @dyoshikawa
Contributors
@dyoshikawa, @henriquemod, @claude