Skip to content

PR #1072: scope mismatch — title/description does not reflect all changes #1080

@dyoshikawa

Description

@dyoshikawa

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_NAMESCANONICAL_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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions