449433f
feat(cli): require description for -B flag
Click to expand commit body
The -B flag now accepts a string argument containing the breaking change
description instead of being a boolean flag. This description is
formatted and inserted as a BREAKING CHANGE: footer between the body and
git trailers, following the Conventional Commits specification.
The flag still adds ! to the subject line. When used with heredoc
syntax, multi-line breaking change descriptions are supported.
Also re-added the -a/--amend flag that was present in main but missing
from this feature branch.
Implements: bug-e75a648
Assisted-by: Claude Sonnet 4.5 via Crush
Amolith
created
3ccbb90
feat: require BREAKING CHANGE footer with -B flag
Click to expand commit body
When the -B flag is used to mark a commit as a breaking change, the tool
now validates that the body contains a BREAKING CHANGE: or BREAKING
CHANGES: footer. If not present, it returns a descriptive error
instructing users to document breaking change details in this footer.
Implements: bug-e75a648
Co-authored-by: Crush <crush@charm.land>
Add comprehensive trailer validation following git's trailer
specification. Each trailer is validated for proper key:value format
with no whitespace allowed before or inside the key. Multiline values
are supported using RFC 822 folding with continuation lines
requiring whitespace indentation. Trailers are now properly assembled
into a block at the end of commit messages separated by blank lines.
Implements: bug-896472f
Co-authored-by: Crush <crush@charm.land>
Amolith
and
Crush
created
775175c
feat: implement body sanitisation and formatting
29fbff3
feat: add subject validation and length checking
Click to expand commit body
Add buildAndValidateSubject function to construct commit subjects in
conventional commit format and validate they don't exceed 50 characters.
Truncated subjects show exceeding portion with ellipsis in error output.
Implements: bug-5b35298
Co-authored-by: Crush <crush@charm.land>