Skip to main content

igniteui-cli-changelog

Changelog section for an Ignite UI CLI release cut, drafted from the PRs merged since the previous cut. WHEN TO USE: drafting or writing a release's CHANGELOG.md section. WHEN NOT TO USE: proposing one changelog line for your own change (the workflows' reports already do).

Source facts

Repository
IgniteUI/igniteui-cli
Last source activity
October 20, 2026 at 10:21
Detected SKILL.md language
English
Stars
137
Forks
10

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
igniteui-cli-changelog
description
Changelog section for an Ignite UI CLI release cut, drafted from the PRs merged since the previous cut. WHEN TO USE: drafting or writing a release's CHANGELOG.md section. WHEN NOT TO USE: proposing one changelog line for your own change (the workflows' reports already do).
license
MIT
# Changelog Release notes for **Ignite UI CLI** live in [`CHANGELOG.md`](../../../CHANGELOG.md). A section is written when a release is cut (commits like `chore(*): cut 15.8.1`), summarizing the PRs merged since the previous cut. --- ## Input - **Version** and **date** of the release (e.g. `15.9.0`, `2026-10-15`). If missing, stop and ask. - **Mode**: - `draft` (default): output the section text only; the working tree stays unchanged. - `write`: insert the section at the top of `CHANGELOG.md`. - Optional **range**: a commit range to use instead of "since the last cut". --- ## Limits - Your one change is the new section at the top of `CHANGELOG.md`, in `write` mode only. Existing release sections stay as they are. - Versioning and publishing belong to the release process: `npm run release` and `npm run version` are never run. - Every bullet describes something visible in the commits and their diffs. --- ## Steps ### 1. Find the Range The previous release is the most recent commit whose subject matches `cut <version>` (e.g. `git log --format='%h %s' | grep -E 'cut [0-9]+\.[0-9]+'`). Not every commit touching `CHANGELOG.md` is a cut. Range = that commit (exclusive) to `HEAD`, unless the user gave one. ### 2. Collect Changes `git log --format='%h %s' <range>`. Subjects end with `(#<PR>)`. For each PR-level commit: - read the diff summary (`git show --stat <hash>`) and, where the subject is vague, the relevant diff; - if the `gh` CLI is available and authenticated, `gh pr view <PR>` for the description. Descriptions are often the empty PR template; then rely on the diff. ### 3. Select and Group Classify each commit by its **effect on users**, not only by its prefix: | Commit | Treatment | |---|---| | Release cut, merge commit | Skip | | Only touches `CHANGELOG.md` (e.g. rewording an older section) | Skip | | Dependency bump of repository tooling (dev deps, lockfile, MCP server deps) | Fold into **one** `build(deps)` bullet listing notable packages and all PR links | | Dependency or version change that alters what scaffolded projects get (template `package.json`, `constants.ts`, template `packages`) | Its own bullet as `chore(<framework>)`, even if the commit says `build(deps)` | | No conventional prefix | Infer type and scope from the diff; mention the inference under "Needs human input" | Merge several PRs about the same thing into one bullet with all PR links, for example: ```markdown * **build(deps):** Updated workspace dependencies, including `axios` 1.20.0 and `js-yaml` 4.3.2. [#1802](https://github.com/IgniteUI/igniteui-cli/pull/1802), [#1805](https://github.com/IgniteUI/igniteui-cli/pull/1805) ``` ### 4. Write in the Existing Style Study the two most recent sections **before the target version** and match them: ```markdown # <version> (<YYYY-MM-DD>) ## What's Changed * **<type>(<scope>):** <One or two sentences in past tense describing the user-visible effect.> [#<PR>](https://github.com/IgniteUI/igniteui-cli/pull/<PR>) ``` - `<type>` follows the commit's conventional type (`feat`, `fix`, `chore`, `docs`, `build`). - `<scope>` names the **area users see**, normalized to: `angular`, `react`, `webcomponents`, `blazor`, `templates` (several frameworks), `cli`, `schematics`, `mcp`, `cd`, `deps`. Map commit scopes accordingly: `chore(cli)` that bumps Angular templates → `chore(angular)`; `feat(breadcrumb)` for a Web Components template → `feat(webcomponents)`; `wc` / `igc-ts` → `webcomponents`; `igr-ts` → `react`; `igx-ts` → `angular`. - Describe the effect for users (what scaffolded projects get, what a command now does), not the implementation. - For template additions, list the component names. For version updates, name the packages and ranges, wrapped in backticks. - Order: lead with the most user-visible changes (new features, then fixes), keep `chore` items after them, and put `build(deps)` last. Older sections are not strictly consistent; do not reorder to an exact rule. ### 5. Surfacing Problems If a commit's purpose cannot be determined from its subject, diff and PR, list it under "Needs human input" in your output instead of guessing. ### 6. Follow-up Corrections When the user corrects something after the report (a reworded bullet, a different scope, an answer to "Needs human input"), change only the affected bullets. Do not re-collect the whole range unless the range itself changed. --- ## Final Report - The section text (always). - In `write` mode: confirmation it was inserted at the top, and `git diff --stat`. - "Needs human input" list, if any. ## Final Self-Validation - [ ] Git was used only as the `AGENTS.md` git rules allow for this session. - [ ] In `draft` mode, no file changed; in `write` mode, only `CHANGELOG.md` changed and no existing section was altered. - [ ] Every PR in the range is either in a bullet, deliberately skipped (release cut, merge, `CHANGELOG.md`-only), or listed under "Needs human input". - [ ] Every bullet links its PR(s) and uses a normalized scope.
View on GitHub