make-releaselisted
Install: claude install-skill javded-itres/Holix
# Holix release («сделай релиз»)
When the user says **сделай релиз** (or equivalent), execute this pipeline
end-to-end. Do not stop after the PR. Do not skip CI. Do not tag before merge.
Canonical package rules: `RULES.md` §8. This skill is the operational loop.
## Preconditions
- Repo: `javded-itres/Holix`. Default branch: `main`.
- Auth: `gh auth status` must be logged in.
- Fetch first: `git fetch origin --tags`.
- Next version = latest GitHub release + **patch** (`1.0.7` → `1.0.8`), unless
the user asked for minor/major.
- Confirm versions agree before tagging:
- `pyproject.toml` `[project].version`
- `cli/__init__.py` `__version__`
- latest `gh release list` / `git tag`
- Do **not** rsync/scp/hotfix production. Tag on `main` is enough: GHA
`GitHub Release` + `Publish to PyPI` run from `vX.Y.Z`.
- Run `./scripts/lint.sh` (or `--fix`) before every push.
## 1) PR with the changes
Include **code + version bump + changelog** in the same PR so there is one
merge, then a tag.
1. If an open PR already covers this work, reuse it and add the bump there
if missing.
2. Otherwise branch from up-to-date `origin/main`:
`release/X.Y.Z` (example: `release/1.0.8`).
3. Commit the user's uncommitted/unmerged work (no secrets, no
`node_modules/`, no local `.env`).
4. Bump version with `scripts/versioning.py` (or edit both files):
- `pyproject.toml`
- `cli/__init__.py`
5. Update `docs/CHANGELOG.md`:
- Move `## Unreleased` notes into `## X.Y.Z — YYYY-MM-DD`