Summary
PR #1072 (docs: add --targets CLI identifier to Supported Tools table) bundles three independent changes under a documentation-only title. The PR description and title should be updated to reflect the full scope, or the PR should be split.
Motivation / Purpose
Accurate PR titles and descriptions are essential for:
- Code review quality: Reviewers need to know the full scope of changes before approving.
- Git history clarity:
docs: prefix implies no code changes, but this PR modifies source code and tests (+925/-95 lines across 22 files).
- Changelog accuracy: Conventional commit prefixes drive automated release notes.
Details
The PR currently contains three independent changes:
1. Documentation: --targets column addition (matches PR title)
- Adds a
--targets CLI identifier column to the Supported Tools table
- Files:
README.md, skills/rulesync/supported-tools-and-features.md, skills/rulesync/each-file-format.md
2. Refactoring: hooks event name normalization
- Renames
CURSOR_TO_CLAUDE_EVENT_NAMES → CANONICAL_TO_CLAUDE_EVENT_NAMES (and similar)
- Introduces per-tool mapping tables (
CANONICAL_TO_CURSOR_EVENT_NAMES, CANONICAL_TO_FACTORYDROID_EVENT_NAMES, etc.)
- Bug fix: Factory Droid hooks were incorrectly reading from
config.claudecode?.hooks instead of config.factorydroid?.hooks
- Adds comprehensive Factory Droid hooks tests (593 lines)
- Files:
src/types/hooks.ts, src/features/hooks/claudecode-hooks.ts, src/features/hooks/cursor-hooks.ts, src/features/hooks/factorydroid-hooks.ts, src/features/hooks/hooks-processor.ts, src/features/hooks/opencode-hooks.ts, src/features/hooks/factorydroid-hooks.test.ts
3. Bug fix: frontmatter null description handling
- YAML bare
description: (no value) parses as null, failing Zod validation (z.optional(z.string()) rejects null)
- Fix applies
deepRemoveNullishObject in parseFrontmatter() and changes description default from "" to undefined
- Files:
src/utils/frontmatter.ts, src/features/rules/rulesync-rule.ts, src/features/rules/tool-rule.ts, src/features/rules/cursor-rule.ts, and related test files
Suggested actions
Either:
- Option A: Update the PR title/description to cover all three changes (e.g., change prefix from
docs: to feat: or use a broader title).
- Option B: Split into three separate PRs for cleaner history.
Note on code quality
All code changes themselves are high quality — CI passes, tests are comprehensive, and the bug fixes are genuine improvements. This issue is solely about PR hygiene and traceability.
Additional Context
Summary
PR #1072 (
docs: add --targets CLI identifier to Supported Tools table) bundles three independent changes under a documentation-only title. The PR description and title should be updated to reflect the full scope, or the PR should be split.Motivation / Purpose
Accurate PR titles and descriptions are essential for:
docs:prefix implies no code changes, but this PR modifies source code and tests (+925/-95 lines across 22 files).Details
The PR currently contains three independent changes:
1. Documentation:
--targetscolumn addition (matches PR title)--targetsCLI identifier column to the Supported Tools tableREADME.md,skills/rulesync/supported-tools-and-features.md,skills/rulesync/each-file-format.md2. Refactoring: hooks event name normalization
CURSOR_TO_CLAUDE_EVENT_NAMES→CANONICAL_TO_CLAUDE_EVENT_NAMES(and similar)CANONICAL_TO_CURSOR_EVENT_NAMES,CANONICAL_TO_FACTORYDROID_EVENT_NAMES, etc.)config.claudecode?.hooksinstead ofconfig.factorydroid?.hookssrc/types/hooks.ts,src/features/hooks/claudecode-hooks.ts,src/features/hooks/cursor-hooks.ts,src/features/hooks/factorydroid-hooks.ts,src/features/hooks/hooks-processor.ts,src/features/hooks/opencode-hooks.ts,src/features/hooks/factorydroid-hooks.test.ts3. Bug fix: frontmatter null description handling
description:(no value) parses asnull, failing Zod validation (z.optional(z.string())rejectsnull)deepRemoveNullishObjectinparseFrontmatter()and changesdescriptiondefault from""toundefinedsrc/utils/frontmatter.ts,src/features/rules/rulesync-rule.ts,src/features/rules/tool-rule.ts,src/features/rules/cursor-rule.ts, and related test filesSuggested actions
Either:
docs:tofeat:or use a broader title).Note on code quality
All code changes themselves are high quality — CI passes, tests are comprehensive, and the bug fixes are genuine improvements. This issue is solely about PR hygiene and traceability.
Additional Context