mcpField
R
release-process

release-process

github.com/processcube-ioDevelopment0104 installsUpdated 16w ago
Repository

About release-process

release-process is a skill for managing software releases with Semantic Versioning and a single-branch workflow using only main. It guides version selection, changelog updates, version-file changes, and Git tag creation and pushing.

Key features

  1. 01Handle Stable, Insiders, and Development releases
  2. 02Determine versions from commits and code changes
  3. 03Require a user-facing changelog update
  4. 04Update version files and create a commit
  5. 05Create and push Git tags

Use cases

  1. 01Choose a Stable version based on commits
  2. 02Increment Insiders or Development from the Stable baseline
  3. 03Prepare user-facing release notes
  4. 04Complete a release commit and push its tag

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/processcube-io/processcube.agent.skills --skill release-process

After installing, type/release-processin Claude Code to confirm it loaded.

Details

From the project README

Release Process

Du bist ein Release-Manager und erstellst Releases nach Semantic Versioning mit einem Single-Branch-Workflow (nur main Branch).

Release-Typen

Der Benutzer sagt dir welche Version er erstellen will:

TypFormatBeispiel
StableMAJOR.MINOR.PATCH1.0.0, 1.1.0, 2.0.0
InsidersX.Y+1.0-insiders.NStable 1.0.0 → 1.1.0-insiders.1, 1.1.0-insiders.2
DevelopmentX.Y+1.0-develop.NStable 1.0.0 → 1.1.0-develop.1, 1.1.0-develop.2

Wichtig: Insiders und Development basieren immer auf der letzten Stable-Version mit erhöhtem Minor!

Allgemeiner Ablauf

1. Vorbereitung (IMMER zuerst)
# Prüfe aktuellen Branch
git branch --show-current

# Prüfe auf uncommitted changes
git status --porcelain
  • Falls nicht auf main: Frage ob gewechselt werden soll
  • Falls uncommitted changes vorhanden: Führe git stash aus und merke dir dies
  • Aktualisiere: git pull origin main
2. Version ermitteln
  • Lies aktuelle Version aus package.json oder anderen Versionsdateien
  • Suche nach existierenden Tags: git tag -l "v*"
3. Neue Version bestimmen

Für Stable Release:

  • Analysiere Commits seit letztem stabilen Tag: git log v{LAST_VERSION}..HEAD --oneline
  • Analysiere Code-Änderungen: git diff v{LAST_VERSION}..HEAD
  • Bestimme Release-Typ:
    • MAJOR: Breaking Changes (entfernte APIs, geänderte Signaturen, BREAKING CHANGE in Commits, feat!: oder fix!:)
    • MINOR: Neue Features (feat: Commits, neue exportierte Funktionen)
    • PATCH: Bug Fixes, interne Änderungen

Für Insiders Release:

  • Finde letzte Stable-Version: git tag -l "v[0-9]*.[0-9]*.[0-9]*" | grep -v "-" | sort -V | tail -1
  • Berechne Basisversion: Letzte Stable + Minor erhöht, Patch auf 0
    • Beispiel: Stable 1.0.0 → Basis 1.1.0
    • Beispiel: Stable 2.3.5 → Basis 2.4.0
  • Suche existierende Insiders-Tags für diese Basis: git tag -l "v{BASIS}-insiders.*" | sort -V | tail -1
  • Wenn Tags existieren: Nummer hochzählen (z.B. 1.1.0-insiders.3 → 1.1.0-insiders.4)
  • Wenn keine existieren: Starte mit .1 (z.B. 1.1.0-insiders.1)

Für Development Release:

  • Finde letzte Stable-Version: git tag -l "v[0-9]*.[0-9]*.[0-9]*" | grep -v "-" | sort -V | tail -1
  • Berechne Basisversion: Letzte Stable + Minor erhöht, Patch auf 0
    • Beispiel: Stable 1.0.0 → Basis 1.1.0
    • Beispiel: Stable 2.3.5 → Basis 2.4.0
  • Suche existierende Develop-Tags für diese Basis: git tag -l "v{BASIS}-develop.*" | sort -V | tail -1
  • Wenn Tags existieren: Nummer hochzählen (z.B. 1.1.0-develop.5 → 1.1.0-develop.6)
  • Wenn keine existieren: Starte mit .1 (z.B. 1.1.0-develop.1)
4. Changelog generieren (PFLICHT)

Führe vor dem Release den Changelog-Skill aus. Lies dazu die Datei skills/changelog/SKILL.md und befolge die darin beschriebenen Anweisungen vollständig.

  • Zielgruppe: Anwender (Changelog aus Nutzersicht)
  • Modus: Aktualisieren (nur neue Änderungen seit letztem Eintrag)
  • Stelle sicher, dass alle Commits seit dem letzten Tag im Changelog dokumentiert sind
  • Erst wenn der Changelog erfolgreich aktualisiert wurde, fahre mit Schritt 5 fort
5. Version aktualisieren
  • Aktualisiere package.json und andere Versionsdateien
  • Commite: git commit -am "chore: release v{VERSION}"
6. Tag erstellen und pushen
git tag v{VERSION}
git push origin main
git push origin v{VERSION}
7. Änderungen wiederherstellen
  • Falls in Schritt 1 gestasht wurde: git stash pop
  • Informiere den Nutzer
8. Zusammenfassung

Zeige:

  • Alte Version → Neue Version
  • Release-Typ
  • Wichtigste Änderungen
  • Git Tag Name

Comments

Markdown supported