chore: release v0.20.42
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
---
|
||||
name: release-prep
|
||||
description: Bump patch version, update CHANGELOG, commit, tag, push and create GitHub release
|
||||
disable-model-invocation: true
|
||||
user-invocable: true
|
||||
argument-hint: "[patch|minor|major]"
|
||||
allowed-tools:
|
||||
- Read
|
||||
- Edit
|
||||
- Bash(npm version *)
|
||||
- Bash(git add *)
|
||||
- Bash(git commit *)
|
||||
- Bash(git tag *)
|
||||
- Bash(git push *)
|
||||
- Bash(gh release create *)
|
||||
- Bash(git status *)
|
||||
- Bash(git log *)
|
||||
- Bash(git diff *)
|
||||
---
|
||||
|
||||
Run from inside `oikos/`. Argument selects the semver bump (default: patch).
|
||||
|
||||
1. **Pre-flight** — run `git status` and `git diff --staged`. Abort if the tree is dirty with unrelated files. Summarise the pending changes.
|
||||
2. **CHANGELOG** — open `oikos/CHANGELOG.md`. Insert a new `## [X.Y.Z] - YYYY-MM-DD` block immediately below `## [Unreleased]`. Use today's date from the `currentDate` context. Only use Keep-a-Changelog sections: `### Added`, `### Changed`, `### Fixed`, `### Removed`, `### Security`. One bullet per user-facing change in English. Never invent entries that aren't in the diff.
|
||||
3. **Version bump** — run `npm version ${1:-patch} --no-git-tag-version`. Read the new version from `oikos/package.json`.
|
||||
4. **Stage** — `git add oikos/CHANGELOG.md oikos/package.json oikos/package-lock.json` plus any other files from the task. Never use `git add -A` or `git add .`.
|
||||
5. **Commit** — `git commit -m "chore: release vX.Y.Z"`. Do not pass `--no-verify`. If a hook fails, fix the cause and create a new commit.
|
||||
6. **Tag** — `git tag vX.Y.Z`.
|
||||
7. **Push** — `git push && git push --tags`.
|
||||
8. **GitHub Release** — `gh release create vX.Y.Z --repo ulsklyc/oikos --title "vX.Y.Z" --notes "<CHANGELOG block body>"`. Paste the new CHANGELOG section verbatim as notes.
|
||||
|
||||
## Guardrails
|
||||
|
||||
- Never `--force`, never `--no-verify`, never `--no-gpg-sign`.
|
||||
- The `GH_TOKEN` must come from the shell environment, never from a hard-coded literal in this file or in commit messages.
|
||||
- If `gh release create` fails with a 401/403, stop and report — do not paste a token inline.
|
||||
- If `git status` shows uncommitted work unrelated to the release, stop and ask the user.
|
||||
Reference in New Issue
Block a user