Skip to content

summaryCasing

Reports changeset summaries that don't start with the configured letter case.

✅ This rule is included in the changesets stylistic presets.

Changesets copies the summary of each changeset into the CHANGELOG.md of every package it releases. Starting every summary with the same letter case makes those changelog entries consistent to read.

This rule checks the first letter of a changeset’s summary, after any conventional commit prefix. By default, it reports summaries that start with a lowercase letter.

---
"example-package": minor
---
added a new option.

Type: "lowercase" | "uppercase"

Default: "uppercase"

Which letter case the first letter of changeset summaries must be.

changesets.rules({
summaryCasing: {
casing: "lowercase",
},
});
---
"example-package": minor
---
Added a new option.

Type: string[]

Default: ["build", "chore", "ci", "docs", "feat", "feature", "fix", "perf", "refactor", "revert", "style", "test"], the default types of conventional-changelog-conventionalcommits

Conventional commit types whose prefixes are skipped before checking the first letter. This should match the types option of summaryReadability if you configure both.

changesets.rules({
summaryCasing: {
types: ["deps", "feat", "fix"],
},
});
---
"example-package": patch
---
deps: updated dependencies.

If you don’t mind inconsistent casing in your changelog summaries, this rule might not be for you. If your project’s changesets are written by many contributors and you don’t review changelog entries for consistency, this rule may produce reports that nobody acts on. You might prefer to leave this rule disabled until your project reviews changelog formatting.