Skip to content

feat(#23): support Conventional Commits breaking-change marker#30

Merged
atlas-apex merged 1 commit into
mainfrom
feature/GH-23-conventional-commits-breaking
Apr 12, 2026
Merged

feat(#23): support Conventional Commits breaking-change marker#30
atlas-apex merged 1 commit into
mainfrom
feature/GH-23-conventional-commits-breaking

Conversation

@atlas-apex

Copy link
Copy Markdown
Collaborator

Summary

Both `validate-commit-format.sh` and `validate-pr-create.sh` now accept the `!` breaking-change marker per Conventional Commits 1.0. Minimal change — `!?` (optional) before the colon in both hooks' type regex. Also updates `.claude/rules/git-conventions.md` to document the marker with examples.

Closes #23

Examples now accepted

```
feat!: remove deprecated v1 endpoints
feat(api)!: change response format to JSON:API
feat(#42)!: breaking PR title with ticket ref
```

All non-breaking forms (`feat:`, `feat(scope):`, `feat(#42):`) continue to work unchanged.

Smoke tests (all 6 pass)

Glossary

Term Definition
Breaking-change marker The `!` character placed before the colon in a Conventional Commits subject (`feat!: ...`). Signals a breaking change. Optional — its absence doesn't mean the change isn't breaking.
Conventional Commits 1.0 Industry-standard commit message specification. ApexStack now supports its full type + scope + breaking marker syntax.

Test plan

  • Confirm `feat!:` and `feat(scope)!:` accepted by commit-format hook
  • Confirm `feat(#N)!:` accepted by PR-title hook
  • Confirm non-breaking forms still pass (no regression)
  • Confirm invalid subjects still blocked
  • Rex review
  • Explicit per-PR CEO approval

🤖 Generated with Claude Code

Both validate-commit-format.sh and validate-pr-create.sh now accept
the ! breaking-change marker per Conventional Commits 1.0:

  feat!: remove deprecated v1 endpoints
  feat(api)!: change response format to JSON:API
  feat(#42)!: breaking PR title with ticket ref

The regex change is minimal — `!?` (optional exclamation mark) before
the colon in both hooks' type regex. The marker is NOT required for
breaking changes; it's just accepted as a valid form.

Also updates .claude/rules/git-conventions.md to document the !
marker in both the PR Title Format and Commit Message Format sections,
with examples.

No BREAKING CHANGE: footer enforcement — the ! marker alone is
sufficient per the Conventional Commits spec (the footer is
explicitly marked optional when ! is used).

Closes #23

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

@atlas-apex atlas-apex left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review: PR #30

Commit: 5e3e85afd75a1badd419d62d499b4189150bbac9

Summary

Adds optional ! breaking-change marker to commit and PR-title validation hooks, plus docs update. Correct, minimal, well-tested.

Checklist Results

  • ✅ Code Quality: Pass — regex change is precise (!? before :)
  • ✅ Security: Pass — no secrets, no injection vectors
  • ✅ PR Description & Glossary: Pass
  • ✅ Technical Decisions (AgDR): N/A — no architectural choice, just spec-compliance fix

Issues Found

None.

Suggestions

None — clean PR.

Verdict

COMMENT — No blockers. Ready for CEO approval.


🤖 Reviewed by Rex (Code Reviewer Agent)
📌 Reviewed commit: 5e3e85afd75a1badd419d62d499b4189150bbac9

@atlas-apex atlas-apex merged commit e98ee47 into main Apr 12, 2026
3 of 4 checks passed
Dr-kersho added a commit to Dr-kersho/apexyard that referenced this pull request May 20, 2026
…roadmap

Co-authored-by: Cursor <cursoragent@cursor.com>
@me2resh me2resh deleted the feature/GH-23-conventional-commits-breaking branch June 5, 2026 16:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feat] Conventional Commits breaking-change marker (feat!: / feat(scope)!:)

2 participants