feat: replace git-release with makerelease.sh

Add a new release helper that supports clean-tree checks, dry-run mode, and semantic version increments from the latest tag. Remove the old git-release script and update project conventions to reflect the new release workflow.
This commit is contained in:
2026-04-27 22:13:24 +02:00
parent 8a0ddde506
commit 82aeed5882
3 changed files with 143 additions and 35 deletions
+8 -3
View File
@@ -7,14 +7,19 @@ description: SSHRM project conventions
- Keep shell scripts Bash-based when Bash is already used by the project.
- Preserve the current behavior of the main scripts:
- `sshrm`: remove an entry from `~/.ssh/known_hosts` by host name or by line number.
- `git-release`: handle releases from `dev` to `main`, create an annotated tag, and push commits and tags.
- Keep user-facing messages short, clear, and in English.
- Prefer minimal, focused changes that do not alter the intent of the existing scripts.
- Prefer minimal, focused changes that do not alter the intent of the existing scripts, unless the script behavior is intentionally updated.
- Maintain `.continue/rules/project.md` whenever project conventions or script behavior change.
- `sshrm` is implemented as a small Bash script with helper functions, while preserving host and line-number removal behavior.
- `sshrm` should print a short usage line, support `-h`/`--help`, and fail clearly on missing or invalid line-number input.
# Project identity
- Main script: `sshrm`
- Release helper: `git-release`
- License: GNU GPL v3
git checkout "${TAGBRANCH}"
git merge "${CURRENTBRANCH}"
git push
git tag -a "${VERSION}" -m "${MESSAGE}"
git push --tags
git checkout "${CURRENTBRANCH}"