release
/release
Przygotowuje wydanie pyhubblenetwork: podbija wersję, generuje notatki z commitów i wypycha tag uruchamiający PyPI.
- Autor
- HubbleNetwork ↗
- Repozytorium
- pyhubblenetwork ↗
- Licencja
- Apache-2.0
- Ostatnia zmiana repozytorium
- 20.10.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 1
Brak sygnałów. Repozytorium zmienione 20.10.2026, bez odwołań do wycofanych modeli i API.
Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.
Co robi i kiedy
Przygotowuje wydanie pyhubblenetwork: podbija wersję, generuje notatki z commitów i wypycha tag uruchamiający PyPI.
Oryginalny opis (EN)
Cut a release of pyhubblenetwork — bumps version, generates release notes from commits, commits, tags, and pushes to trigger the PyPI release workflow. Use this skill when the user wants to release, publish, cut a release, bump version, or push a new version to PyPI. Invoke via /release.
Jak działa
- Step 1: Pre-flight checks
- Step 2: Determine the new version
- Step 3: Generate release notes
- Step 4: Present draft for review
- Step 5: Apply changes
- Step 6: Tag and push
Podgląd SKILL.md
---
name: release
description: Cut a release of pyhubblenetwork — bumps version, generates release notes from commits, commits, tags, and pushes to trigger the PyPI release workflow. Use this skill when the user wants to release, publish, cut a release, bump version, or push a new version to PyPI. Invoke via /release.
user_invocable: true
---
# Release pyhubblenetwork
Automates the full release flow: version bump, release notes generation, commit, tag, and push. The tag push triggers the GitHub Actions workflow that runs tests, builds, creates a GitHub Release, and publishes to PyPI.
## Step 1: Pre-flight checks
Before anything else, verify the repo is in a clean, releasable state.
```bash
# All three checks in one go
git status --porcelain
git branch --show-current
git fetch origin main && git rev-list --left-right --count origin/main...HEAD
```
**Abort if:**
- Working tree has uncommitted changes (dirty status)
- Not on the `main` branch
- Local is behind remote (left count > 0 means remote has commits you don't have)
Tell the user what's wrong and how to fix it. Don't proceed.
## Step 2: Determine the new version
Read the current version from `pyproject.toml`:
```bash
python3 -c "
import tomllib
with open('pyproject.toml', 'rb') as f:
data = tomllib.load(f)
print(data['project']['version'])
"
```
Parse into major.minor.patch and compute the three bump options. Present them to the user using AskUserQuestion with these options:
- **Patch** (X.Y.Z+1) — bug fixes, backwards compatible
- **Minor** (X.Y+1.0) — new features, backwards compatible
- **Major** (X+1.0.0) — breaking changes
Wait for the user to choose before continuing.
## Step 3: Generate release notes
Get commits since the last release tag:
```bash
git describe --tags --abbrev=0 # gets the last tag, e.g. v0.5.0
git log <last-tag>..HEAD --oneline
```
Categorize each commit by its conventional commit prefix:
| Prefix | Category heading |
|--------|-----------------|
| `feat` | `### Added` |
| `fix` | `### Fixed` |
| `docs` | `### Documentation` |
| `test` | `### Tests` |
| `chore`, `ci`, `build`, `refactor`, `perf`, `style` | `### Maintenance` |
**Skip** commits whose message starts with `chore: release` or `release: bump` — these are previous release commits.
Format each entry as a bullet matching the existing style in `release-notes.md`:
```
- feat(cli): add org delete-device command with confirmation prompt
```
Use the full commit subject line (the oneline message) as the bullet text. Only include category headings that have entries. Order categories: Added, Fixed, Documentation, Tests, Maintenance.
## Step 4: Present draft for review
Show the user the complete release notes entry that will be added:
```
## [X.Y.Z] - YYYY-MM-DD
### Added
- feat(...): ...
### Fixed
- fix(...): ...
```
Use AskUserQuestion with options:
- **Approve** — proceed with this draft as-is
- **Abort** — cancel the release
If the user picks "Other" to provide edits, apply their requested changes and show the updated draft again for confirmation.
## Step 5: Apply changes
Once approved:
1. **Update `pyproject.toml`**: Change the `version = "..."` line to the new version using the Edit tool.
2. **Update `release-notes.md`**: Insert the new release notes section immediately after the `# Release Notes` header (before the first `## [` entry) using the Edit tool.
3. **Commit**:
```bash
git add pyproject.toml release-notes.md
git commit -m "chore: release X.Y.Z"
```
## Step 6: Tag and push
```bash
git tag vX.Y.Z
git push origin main
git push origin vX.Y.Z
```
After pushing, tell the user:
- The release workflow has been triggered
- Link them to check progress: `https://github.com/HubbleNetwork/pyhubblenetwork/actions`
- Remind them to approve the publish step in GitHub Actions (the `pypi` environment gate)
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · HubbleNetwork/pyhubblenetwork | 100 | Apache-2.0 |
| max-sixty/worktrunk | 100 | MIT |
| gtapps/hermitd | 100 | MIT |
| gtapps/hermitd | 100 | MIT |
| anthony-chaudhary/fak | 100 | Apache-2.0 |
| tractorjuice/arc-kit | 100 | MIT |
| drvoss/everything-copilot-cli | 100 | MIT |
| sma1lboy/rove | 100 | MIT |
| codealong/codealong | 100 | Apache-2.0 |
Migawka bazy z 28.10.2026 · wersja paczki 5b215c7eaa9f (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100version-release
Podbija wersję, tworzy tag wydania i wypycha tag do repozytorium. - 100do-deploy
Wdraża popoto: uruchamia testy, podbija wersję, taguje wydanie, publikuje w PyPI i wdraża dokumentację. - 100release-cli
Wydaje nową wersję CLI pd: uruchamia testy, podbija wersję, tworzy tag i wypycha go do zdalnego repozytorium. - 100making-a-release
Prowadzi wydanie fused-render: podbija __version__, wprowadza zmianę na chronioną gałąź main przez pull request, taguje vX.Y.Z i wypycha tag, co uruchamia workflow z buildami DMG i AppImage, GitHub Release i PyPI. - 100ship
Przeprowadza wydanie od początku do końca: podbija wersję wszędzie, pisze changelog i dokumentację, taguje, publikuje na PyPI i npm. - 100nvidia-nemoclaw-maintainer-cut-release-tag
Wydaje nową wersję semver: podbija numery wersji skryptem bump-version.ts, otwiera pull request wydania, a po scaleniu taguje main i wypycha tag.