MCP HubMCP Hub
Вернуться к навыкам

create-github-release

pjt222
Обновлено 2 days ago
4 просмотров
17
2
17
Посмотреть на GitHub
Метаdesign

О программе

Этот навык автоматизирует создание релизов на GitHub с корректными тегами семантического версионирования, генерацией журнала изменений и опциональным прикреплением артефактов сборки. Он предназначен для публикации стабильных версий программного обеспечения, библиотек или приложений с использованием GitHub CLI. Используйте его, когда требуется распространять релизы со структурированными заметками и бинарными файлами для заинтересованных сторон.

Быстрая установка

Claude Code

Рекомендуется
Основной
npx skills add pjt222/agent-almanac -a claude-code
Команда плагинаАльтернативный
/plugin add https://github.com/pjt222/agent-almanac
Git клонированиеАльтернативный
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/create-github-release

Скопируйте и вставьте эту команду в Claude Code для установки этого навыка

Документация


name: create-github-release description: > Ein GitHub-Release mit korrektem Tagging, Release-Notizen und optionalen Build-Artefakten erstellen. Umfasst semantische Versionierung, Changelog-Generierung und die Verwendung der GitHub CLI. Verwenden beim Kennzeichnen einer stabilen Softwareversion fuer die Verteilung, beim Veroeffentlichen einer neuen Bibliotheks- oder Anwendungsversion, beim Erstellen von Release-Notizen fuer Stakeholder oder beim Verteilen von Build-Artefakten (Binaerdateien, Tarballs). license: MIT allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: git complexity: basic language: multi tags: github, release, git-tags, changelog, versioning locale: de source_locale: en source_commit: 6f65f316 translator: claude-opus-4-6 translation_date: "2026-03-16"

GitHub-Release erstellen

Ein getaggtes GitHub-Release mit Release-Notizen und optionalen Artefakten erstellen.

Wann verwenden

  • Eine stabile Softwareversion fuer die Verteilung kennzeichnen
  • Eine neue Version einer Bibliothek oder Anwendung veroeffentlichen
  • Release-Notizen fuer Stakeholder erstellen
  • Build-Artefakte verteilen (Binaerdateien, Tarballs)

Eingaben

  • Erforderlich: Versionsnummer (semantische Versionierung)
  • Erforderlich: Zusammenfassung der Aenderungen seit dem letzten Release
  • Optional: Anzuhaengende Build-Artefakte
  • Optional: Ob es sich um ein Pre-Release handelt

Vorgehensweise

Schritt 1: Versionsnummer bestimmen

Semantische Versionierung folgen (MAJOR.MINOR.PATCH):

AenderungBeispielWann
MAJOR1.0.0 -> 2.0.0Inkompatible Aenderungen
MINOR1.0.0 -> 1.1.0Neue Features, rueckwaertskompatibel
PATCH1.0.0 -> 1.0.1Nur Fehlerbehebungen

Erwartet: Eine Versionsnummer wurde gewaehlt, die den Umfang der Aenderungen seit dem letzten Release genau widerspiegelt.

Bei Fehler: Wenn unklar ist, ob Aenderungen inkompatibel sind, den Diff der oeffentlichen API pruefen. Jede Entfernung oder Signaturaeänderung einer exportierten Funktion ist eine inkompatible Aenderung und erfordert eine MAJOR-Erhoehung.

Schritt 2: Version in Projektdateien aktualisieren

  • DESCRIPTION (R-Pakete)
  • package.json (Node.js)
  • Cargo.toml (Rust)
  • pyproject.toml (Python)

Erwartet: Die Versionsnummer ist in der entsprechenden Projektdatei aktualisiert und in die Versionskontrolle eingecheckt.

Bei Fehler: Wenn die Version bereits in einem vorherigen Schritt aktualisiert wurde (z.B. ueber usethis::use_version() in R), pruefen, ob sie mit der beabsichtigten Release-Version uebereinstimmt.

Schritt 3: Release-Notizen verfassen

Changelog erstellen oder aktualisieren. Nach Kategorie organisieren:

## What's Changed

### New Features
- Added user authentication (#42)
- Support for custom themes (#45)

### Bug Fixes
- Fixed crash on empty input (#38)
- Corrected date parsing in UTC (#41)

### Improvements
- Improved error messages
- Updated dependencies

### Breaking Changes
- `old_function()` renamed to `new_function()` (#50)

**Full Changelog**: https://github.com/user/repo/compare/v1.0.0...v1.1.0

Erwartet: Release-Notizen sind nach Kategorie organisiert (Features, Fehlerbehebungen, inkompatible Aenderungen) mit Issue-/PR-Referenzen fuer die Nachvollziehbarkeit.

Bei Fehler: Wenn Aenderungen schwer zu kategorisieren sind, git log v1.0.0..HEAD --oneline pruefen, um die Liste der Aenderungen seit dem letzten Release zu rekonstruieren.

Schritt 4: Git-Tag erstellen

git tag -a v1.1.0 -m "Release v1.1.0"
git push origin v1.1.0

Erwartet: Ein annotierter Tag v1.1.0 existiert lokal und auf dem Remote. git tag -l zeigt den Tag.

Bei Fehler: Wenn der Tag bereits existiert, mit git tag -d v1.1.0 && git push origin :refs/tags/v1.1.0 loeschen und neu erstellen. Wenn der Push abgelehnt wird, sicherstellen, dass Schreibzugriff auf den Remote besteht.

Schritt 5: GitHub-Release erstellen

Mit GitHub CLI (empfohlen):

gh release create v1.1.0 \
  --title "v1.1.0" \
  --notes-file CHANGELOG.md

Mit Artefakten:

gh release create v1.1.0 \
  --title "v1.1.0" \
  --notes "Release notes here" \
  build/app-v1.1.0.tar.gz \
  build/app-v1.1.0.zip

Pre-Release:

gh release create v2.0.0-beta.1 \
  --title "v2.0.0 Beta 1" \
  --prerelease \
  --notes "Beta release for testing"

Erwartet: Release auf GitHub sichtbar mit Tag, Notizen und angehaengten Artefakten (falls vorhanden).

Bei Fehler: Wenn gh nicht authentifiziert ist, gh auth login ausfuehren. Wenn der Tag auf dem Remote nicht existiert, zuerst mit git push origin v1.1.0 pushen.

Schritt 6: Release-Notizen automatisch generieren

GitHub kann Notizen automatisch aus zusammengefuehrten PRs generieren:

gh release create v1.1.0 \
  --title "v1.1.0" \
  --generate-notes

Kategorien in .github/release.yml konfigurieren:

changelog:
  categories:
    - title: New Features
      labels:
        - enhancement
    - title: Bug Fixes
      labels:
        - bug
    - title: Documentation
      labels:
        - documentation
    - title: Other Changes
      labels:
        - "*"

Erwartet: Release-Notizen werden automatisch aus den Titeln zusammengefuehrter PRs generiert, nach Label kategorisiert. .github/release.yml steuert die Kategorien.

Bei Fehler: Wenn die automatisch generierten Notizen leer sind, sicherstellen, dass PRs zusammengefuehrt (nicht geschlossen) und mit Labels versehen wurden. Als Fallback Notizen manuell verfassen.

Schritt 7: Release verifizieren

# List releases
gh release list

# View specific release
gh release view v1.1.0

Erwartet: gh release list zeigt das neue Release. gh release view zeigt den korrekten Titel, Tag, Notizen und Assets.

Bei Fehler: Wenn das Release fehlt, den Actions-Tab auf fehlgeschlagene Release-Workflows pruefen. Die Existenz des Tags mit git tag -l bestaetigen.

Validierung

  • Versions-Tag folgt der semantischen Versionierung
  • Git-Tag zeigt auf den korrekten Commit
  • Release-Notizen beschreiben Aenderungen akkurat
  • Artefakte (falls vorhanden) sind angehaengt und herunterladbar
  • Release ist auf der GitHub-Repository-Seite sichtbar
  • Pre-Release-Flag ist korrekt gesetzt

Haeufige Stolperfallen

  • Falschen Commit taggen: Immer git log vor dem Taggen pruefen. Nach dem Versions-Bump-Commit taggen.
  • Vergessen, Tags zu pushen: git push pusht keine Tags. git push --tags oder git push origin v1.1.0 verwenden.
  • Inkonsistentes Versionsformat: Sich auf v1.0.0 oder 1.0.0 festlegen und dabei bleiben.
  • Leere Release-Notizen: Immer aussagekraeftige Notizen bereitstellen. Nutzer muessen wissen, was sich geaendert hat.
  • Tags loeschen und neu erstellen: Tags nach dem Pushen nicht mehr aendern. Bei Bedarf stattdessen eine neue Version erstellen.

Verwandte Skills

  • commit-changes - Staging- und Commit-Workflow
  • manage-git-branches - Branch-Verwaltung fuer Release-Vorbereitung
  • release-package-version - R-spezifischer Release-Workflow
  • configure-git-repository - Git-Einrichtung als Voraussetzung
  • setup-github-actions-ci - Releases ueber CI automatisieren

GitHub репозиторий

pjt222/agent-almanac
Путь: i18n/de/skills/create-github-release
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Похожие навыки

content-collections

Мета

Этот навык предоставляет проверенную в продакшене настройку для Content Collections — TypeScript-ориентированного инструмента, который преобразует файлы Markdown/MDX в типобезопасные коллекции данных с валидацией Zod. Используйте его при создании блогов, сайтов документации или контентных приложений на Vite + React для обеспечения типобезопасности и автоматической проверки содержимого. Он охватывает всё: от настройки плагина Vite и компиляции MDX до оптимизации развертывания и валидации схем.

Просмотреть навык

polymarket

Мета

Этот навык позволяет разработчикам создавать приложения на платформе прогнозных рынков Polymarket, включая интеграцию с API для торговли и получения рыночных данных. Он также обеспечивает потоковую передачу данных в реальном времени через WebSocket для отслеживания текущих сделок и рыночной активности. Используйте его для реализации торговых стратегий или создания инструментов, обрабатывающих обновления рынка в реальном времени.

Просмотреть навык

creating-opencode-plugins

Мета

Этот навык помогает разработчикам создавать плагины OpenCode, которые подключаются к более чем 25 типам событий, таким как команды, файлы и операции LSP. Он предоставляет структуру плагина, спецификации API событий и шаблоны реализации для модулей на JavaScript/TypeScript. Используйте его, когда вам нужно перехватывать, отслеживать или расширять жизненный цикл ассистента OpenCode AI с помощью пользовательской событийно-ориентированной логики.

Просмотреть навык

sglang

Мета

SGLang — это высокопроизводительный фреймворк для обслуживания больших языковых моделей (LLM), специализирующийся на быстрой структурированной генерации JSON, regex и рабочих процессов агентов с использованием кэширования префиксов RadixAttention. Он обеспечивает значительно более высокую скорость вывода, особенно для задач с повторяющимися префиксами, что делает его идеальным для сложных структурированных результатов и многократных диалогов. Выбирайте SGLang вместо альтернатив, таких как vLLM, когда вам требуется ограниченное декодирование или вы создаете приложения с интенсивным совместным использованием префиксов.

Просмотреть навык