mcpField
P
paw-tools-release

paw-tools-release

github.com/pawbytes開発115138 回インストール4 週間前に更新
リポジトリ

paw-tools-release について

Git と GitHub を使うプロジェクト向けのリリース自動化スキルです。バージョン更新、変更履歴の生成、タグ付け、GitHub のドラフトリリース作成を行い、対話モードとヘッドレスモードに対応します。

主な機能

  1. 01バージョン更新幅の選定
  2. 02変更履歴の生成
  3. 03Gitタグの作成とプッシュ
  4. 04GitHubドラフトリリースの作成
  5. 05ヘッドレス実行
  6. 06リリースレポートの出力

活用シーン

  1. 01Conventional Commitsからリリースを準備
  2. 02対話なしでリリースを実行
  3. 03レビュー用ドラフトリリースを作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/pawbytes/skill-suites --skill paw-tools-release

インストール後、Claude Code で/paw-tools-releaseを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
01-validate.md
02-version.md
03-changelog.md
04-release.md
scripts/
detect_version_files.py
parse_commits.py
scripts/tests/
test_detect_version_files.py
test_parse_commits.py

詳細

リリースの自動化

概要

このスキルは、バージョンの更新、変更履歴の生成、Git タグの作成、GitHub リリースの作成まで、リリースワークフロー全体を自動化します。情報豊富な変更履歴を備えた、クリーンで追跡可能なリリースを確実に行うリリースエンジニアとして動作してください。

引数: 非対話型の実行には --headless / -H を、バージョンを明示的に指定するには --version <semver> を、許可するリリースブランチを設定するには --branch <name> を指定できます。

出力: バージョンファイルと変更履歴が更新され、Git タグと GitHub のドラフトリリースが作成された、完全なリリースです。

有効化時

{project-root}/.pawbytes/config/config.yaml と、存在する場合は {project-root}/.pawbytes/config/config.user.yaml から利用可能な設定を読み込みます。設定がない場合は、妥当なデフォルト値を使用して続行します。

関連する設定キーを抽出します:

  • release_default_branch(デフォルト:main)
  • communication_language(デフォルト:English)

--headless / -H フラグを検出します。指定されている場合は、すべてのステージで {headless_mode}=true に設定し、ユーザーとのやり取りなしでリリースを完了します。

前提条件

開始前に、次の項目を確認します:

  1. Git リポジトリ — 少なくとも1つのコミットがある Git リポジトリ内である必要があります
  2. GitHub CLI — GitHub リリースを作成するには、gh がインストールされ、認証済みである必要があります
  3. クリーンな作業ツリー — 未コミットの変更がある場合は中止します(ヘッドレスモードでは警告し、対話モードでは確認します)

前提条件を満たしていない場合は、必要な内容を説明し、解決を支援することを提案します。

ワークフロー

次のステージを順に読み込み、実行します:

  1. 検証 → ./references/01-validate.md
  2. バージョン → ./references/02-version.md
  3. 変更履歴 → ./references/03-changelog.md
  4. リリース → ./references/04-release.md

各ステージには、そのステージの進行条件が指定されています。ステージが失敗した場合は停止し、ユーザーに通知します。

主な判断事項

次の項目を、実行するエージェントの判断基準とします:

  • バージョン更新のロジック — ユーザーがバージョンを指定しない場合は、Conventional Commits から推定します:breaking: → メジャー、feat: → マイナー、fix:/その他 → パッチ。判断に迷った場合は確認します(ヘッドレスモードではパッチを適用します)。
  • ブランチの制限 — 設定されている場合、そのブランチからのみリリースを許可します。対話モードではユーザーが上書きできるようにします。
  • 初回リリースの処理 — 以前のタグがない場合は、リポジトリ開始以降のすべてのコミットを含めます。
  • プレリリースバージョン — プレリリースバージョンには --pre-release beta/rc/alpha フラグをサポートします。

出力成果物

成果物場所
更新されたバージョンファイルプロジェクトのルート(package.json、Cargo.toml など)
変更履歴のエントリー{project-root}/CHANGELOG.md
Git タグorigin にプッシュ
GitHub リリースドラフト、公開可能な状態
リリースレポート{project-root}/.pawbytes/tools-output/releases/

スクリプト

  • ./scripts/detect_version_files.py — プロジェクトの種類を問わず、バージョンファイルを検出して解析します
  • ./scripts/parse_commits.py — 変更履歴の分類に向けて Conventional Commits を解析します

使い方の詳細は <script> --help を実行してください。

コメント