ワンクリックで
prepare-release
Use when preparing a new release version - bumps package version, renames and updates migration files
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use when preparing a new release version - bumps package version, renames and updates migration files
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
| name | prepare-release |
| description | Use when preparing a new release version - bumps package version, renames and updates migration files |
Prepares the codebase for a new version release. The new version number is computed automatically from conventional commits; the user confirms or overrides it.
None required. The user may provide an explicit version number to override the computed one (e.g., to force a major bump).
Read the current version from package.json. This is the previous version, used later to scope the changelog (Step 7) — not for renaming migration files.
Compute the proposed new version from the conventional commits since the last tag:
npm run version:next
Show the user the proposed version together with the commits driving it:
git log $(git describe --tags --abbrev=0)..HEAD --oneline
Ask the user to confirm or override before proceeding.
Guard: If the computed version equals the previous version from package.json, stop and clarify with the user. Possible causes:
build, ci, docs — see cliff.toml).package.json already bumped).release.yml workflow).npm version <new-version> --no-git-tag-version
This updates both package.json and package-lock.json atomically.
If projects/addin/src/app/models/migrations/migrate-to-latest.ts does not exist, skip to step 7 (changelog).
Use git mv to preserve history. Rename to the new version, because the migration brings plot data to that version (see version: property in the file and the comparison in migration.ts):
git mv projects/addin/src/app/models/migrations/migrate-to-latest.ts projects/addin/src/app/models/migrations/migrate-to-<new-version>.ts
git mv projects/addin/src/app/models/migrations/migrate-to-latest.spec.ts projects/addin/src/app/models/migrations/migrate-to-<new-version>.spec.ts
In migrate-to-<new-version>.ts, make two changes:
version: 'latest' to version: '<new-version>'migrateToLatest → migrateTo<VersionDigits> (digits of the new version)Export naming convention: Remove dots from the version. Examples:
1.4.1 → migrateTo1412.0.0 → migrateTo2001.12.3 → migrateTo1123In migrate-to-<new-version>.spec.ts:
describe block name to migrate-to-<new-version>migrateToLatest to the new export nameIn projects/addin/src/app/models/migration.ts:
migrations array to use the new export nameDo NOT create new empty migrate-to-latest.ts or migrate-to-latest.spec.ts files. The absence of migrate-to-latest.ts signals no pending migrations (see migrations skill).
Add a new entry at the top of the changelogData array in projects/shared/src/lib/changelog-data.ts:
{
version: '<new-version>',
changes: [
// user-facing changes only, in German
],
},
Only include user-facing changes. Review the git log since the previous version to identify them. Exclude pure technical changes (refactors, build config, dependency updates, test fixes, CI changes). The entries are written in German.
Ask the user to confirm or adjust the changelog entries before proceeding.
Run tests to confirm nothing is broken:
npx ng test addin --no-watch
Remind the user to merge develop into main promptly after the prepare commit lands. The release.yml workflow tags develop's head at merge time — commits landing on develop between the prepare commit and the merge would ship in the release unreviewed and be excluded from all future version calculations.
| Step | Action | Files |
|---|---|---|
| 1 | Read previous version, compute new one (npm run version:next), user confirms | package.json |
| 2 | npm version <new> --no-git-tag-version | package.json, package-lock.json |
| 3 | git mv migration files | migrations/migrate-to-latest.ts + spec |
| 4 | Update version + export name | migrations/migrate-to-<new>.ts |
| 5 | Update import + describe + variable | migrations/migrate-to-<new>.spec.ts |
| 6 | Update import + array | migration.ts |
| 7 | Update changelog (user-facing only) | shared/src/lib/changelog-data.ts |
| 8 | Run tests | — |
| 9 | Remind user to merge develop → main promptly | — |
migrate-to-latest after the previous version — Use the NEW version. migrate-to-X.ts means "migrates plot data to version X"; the file carries version: 'X' and migration.ts applies it when stored data is older than X.npm version instead; it handles both files.SOC 職業分類に基づく