Przejdź do treści
Biblioteka skilli
Programowanie · Planowanie

versioning

/versioning

Ustala numer kolejnej wersji i wpis do changeloga: wykrywa schemat projektu, np. SemVer, CalVer lub numery buildów.

Repozytorium
habits ↗
Licencja
MIT
Ostatnia zmiana repozytorium
13.11.2026

Ocena i bezpieczeństwo

90/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść25 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 13.11.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Ustala numer kolejnej wersji i wpis do changeloga: wykrywa schemat projektu, np. SemVer, CalVer lub numery buildów.

Oryginalny opis (EN)

Use when deciding a version number: bumping a version, cutting a release, tagging, writing a changelog entry, setting up versioning for a project, or when asked which versioning scheme to use (SemVer, CalVer, build numbers). Detects the project's scheme and picks the next version correctly.

Jak działa

  1. 1. Detect the scheme in use
  2. 2. The schemes, and when each fits
  3. 3. Picking the next SemVer version
  4. 4. Rules
Sekcje z nagłówków SKILL.md, w oryginale · 44 linii, 461 słów
Podgląd SKILL.md
---
name: versioning
description: >
  Use when deciding a version number: bumping a version, cutting a release, tagging, writing a changelog entry,
  setting up versioning for a project, or when asked which versioning scheme to use (SemVer, CalVer, build numbers).
  Detects the project's scheme and picks the next version correctly.
---

# Versioning

## 1. Detect the scheme in use

Follow what the project already does; never switch schemes as a side effect.

- Tags: `git tag --sort=-creatordate | head`. Note the format (`v1.2.3`, `1.2.3`, `2026.11.0`, `app-v1.2.3` per package).
- Version sources: `package.json`, `gradle.properties` / `build.gradle(.kts)`, `pom.xml`, `Cargo.toml`, `pyproject.toml`, `.claude-plugin/plugin.json`, Xcode `MARKETING_VERSION` / `CURRENT_PROJECT_VERSION`, Android `versionName` / `versionCode`.
- Release tooling owns the number when present: release-please, semantic-release, changesets. Then you don't edit versions by hand; you write the commits or changesets that drive them.
- `CHANGELOG.md`: keep its existing format (Keep a Changelog or the tool's generated style).

## 2. The schemes, and when each fits

| Scheme | Shape | Fits |
|---|---|---|
| SemVer | `MAJOR.MINOR.PATCH` | libraries, CLIs, plugins, APIs: anything others depend on |
| CalVer | `YYYY.MM.MICRO` or `YY.MM` | apps and services released on a schedule, where "how new" matters more than compatibility |
| Build numbers | an always-increasing integer | store builds: Android `versionCode`, iOS `CURRENT_PROJECT_VERSION`, next to a user-facing SemVer or CalVer |
| Unversioned | commit SHA | continuously deployed sites and services with no consumers of a version |

When setting up a new project, recommend SemVer for anything with consumers and CalVer for scheduled apps, and say why.

## 3. Picking the next SemVer version

From the Conventional Commits since the last tag (`git log <last-tag>..HEAD --oneline`):
- any `!` or `BREAKING CHANGE` footer: MAJOR (before 1.0.0, bump MINOR instead)
- any `feat`: MINOR
- otherwise any `fix` or `perf`: PATCH
- only `docs`, `chore`, `ci`, `test`, `style`, `refactor`: no release needed

Breaking means a consumer has to change something: removed or renamed public API, changed behaviour they rely on, raised minimum runtime or platform. Internal refactors are never breaking.

Pre-releases: `1.3.0-rc.1`, `1.3.0-beta.2`, ordered and incremented within their label; the final release drops the suffix. `0.x` signals an unstable API; move to `1.0.0` when the API is something you commit to.

## 4. Rules

- One version, one meaning: never re-tag or move a published tag, and never reuse a version number. A broken release gets a new patch.
- Bump every place that holds the version in the same commit (manifest, lockfile entries, plugin.json, app version files), conventionally `chore(release): x.y.z`.
- Mobile: increase the build number for every store upload, even when the user-facing version stays the same.
- Monorepos: either one version for everything (fixed) or per-package versions (independent, with per-package tags like `pkg@1.2.3`). Follow the project's choice; changesets and release-please both support either.
- Tag after the release commit is on the release branch, and push tags explicitly (`git push origin <tag>`) only with the user's go-ahead.
- Changelog entries describe what changed for users, grouped by Added / Changed / Fixed / Removed, newest first.

Wersje

W bazie nie ma innych skilli o nazwie versioning.

Migawka bazy z 13.11.2026 · wersja paczki df01c1976f9f (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

  • 100release-versioning-and-changelog-automation
    Ustala schemat wersjonowania (SemVer lub CalVer) i automatyzuje generowanie changelogu oraz tagów wydań z historii commitów, na przykład przez semantic-release lub release-please.
  • 100release
    Prowadzi wersjonowanie i CHANGELOG: mapowanie SemVer z Conventional Commits, format Keep a Changelog, tagowanie i bramki przed wydaniem.
  • 100versioning-releases
    Pomaga wybrać schemat wersjonowania, napisać changelog i przygotować wydanie, w tym z Towncrier i python-semantic-release.
  • 90rseng-publishing-releasing
    Przygotowuje wydania oprogramowania badawczego: tagi wersji, changelog, wybór SemVer lub CalVer, automatyzację wydań i nadawanie DOI każdemu wydaniu.
  • 90oss-release-policy
    Pisze politykę wydań projektu open source jako RELEASES.md: schemat wersji, zmiany łamiące, kanały, wsparcie i backporty.
  • 100calver
    Pokazuje lub podbija wersję projektu w schemacie CalVer, bez commitowania i pushowania, a pełny proces wydania zostawia osobnym poleceniom.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.