Generate Release Notes: eslint-plugin-chai-friendly
Generates release notes for a new version, consistent with the repo's established style.
Style Guide
Releases use a flat bullet list — no section headers like "Features" or "Bug Fixes". Each bullet is one concise sentence describing a user-visible change. Internal refactors, test additions, and doc updates are omitted unless they affect users directly.
Past releases for reference:
- "Added support for optional chaining"
- "Added
enforceForJSXoption" - "Fixed TypeScript typing issue for
configs.recommendedFlatandconfigs.recommended" - "Added ESLint v9 compatibility"
Process
Step 1 — Determine the version range
Read package.json to get the current version. The release notes cover everything since that version was tagged. If the user specifies a version (e.g. "1.2.0"), use that as the new version number.
Step 2 — Collect commits since the last release tag
Run:
git log $(git describe --tags --abbrev=0)..HEAD --oneline
If no tag exists yet for the previous version, ask the user which commit or tag to diff from.
Step 3 — Read changed files
For each commit, identify what changed. Focus on:
lib/rules/no-unused-expressions.js— rule behavior changeslib/index.js— plugin config changesindex.d.ts/ type files — TypeScript definition changespackage.json— dependency or engine changes
Read the relevant files to understand the user-visible impact of each change. Do not rely solely on commit messages.
Step 4 — Fetch existing release titles from GitHub
Fetch https://github.com/ihordiachenko/eslint-plugin-chai-friendly/releases and note the existing release titles/styles for consistency.
Step 5 — Draft release notes
Output as raw markdown (do not wrap the result in a code block). Use this format:
Changes:
- {change 1}
- {change 2}
- {change 3}
Rules:
- Do not include a version header.
- Use the plain text
Changes:as the list title (not a markdown heading). - Lead each bullet with a verb: "Added", "Fixed", "Improved", "Removed"
- Mention option names in backticks (e.g.
ignoreDirectives) - Mention node type names in backticks (e.g.
TSAsExpression) - For bug fixes, briefly describe the incorrect behavior that was fixed
- Omit internal changes (refactors, test additions, CI, docs) unless they have a user-visible effect
- Keep the total list to 5 bullets or fewer; combine related changes into one bullet if needed
Source: ihordiachenko/eslint-plugin-chai-friendly — distributed by TomeVault.