version-updates について
リリース準備やバージョン更新を行うプロジェクト保守担当者向けのスキルです。バージョンファイルの特定から、ドキュメント更新、変更の検証までを案内します。
主な機能
- 01バージョン更新の状況確認
- 02バージョンファイルの再帰検索
- 03ドライラン後の自動更新
- 04変更履歴とドキュメントの更新
- 05ビルドやテストによる検証
活用シーン
- 01プロジェクトのリリース準備
- 02ネストしたパッケージの更新
- 03公開前のバージョン記載確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ athola/ claude-night-market --skill version-updatesインストール後、Claude Code で/version-updatesを入力して読み込まれたか確認します。
詳細
翻訳後に原文が更新されています。最新の内容は原文をご確認ください。
バージョン更新ワークフロー
使用するタイミング
リリースの準備またはプロジェクトのバージョン更新時に、このスキルを使用します。
現在の変更を把握するため、最初に Skill(sanctum:git-workspace-review) を実行します。
使用しないタイミング
- ドキュメントの更新のみの場合は、doc-updates を使用します
- PR の準備全般の場合は、pr-prep を使用します
必須の TodoWrite 項目
version-update:context-collectedversion-update:target-filesversion-update:version-setversion-update:docs-updatedversion-update:verification
ステップ 1:コンテキストを収集する(context-collected)
- 適用するバージョンを確認します(デフォルト:パッチバージョンを上げます)。
- プロンプトに明示的なバージョンが指定されている場合は、それを記録します。
Skill(sanctum:git-workspace-review)によってリポジトリの状態がすでに確認されていることを検証します。
ステップ 2:対象ファイルを特定する(target-files)
- 再帰検索で、バージョンを保持するすべての設定ファイルを探します。
- ルート階層:
Cargo.toml、package.json、pyproject.toml - ネストしたディレクトリ:glob を使用して
*/pyproject.toml、*/Cargo.toml、*/package.jsonを検索します - 例:
plugins/memory-palace/pyproject.tomlを必ず含めます - grep -v を使って仮想環境(
.venv、node_modules、target/)を除外します
- ルート階層:
- バージョンに言及している変更履歴と README の記載も含めます。
- 次を使用します:
find plugins -name "pyproject.toml" -o -name "Cargo.toml" | grep -v ".venv"
ステップ 3:バージョンを更新する(version-set)
- 自動化する方法:
plugins/sanctum/scripts/update_versions.py <version>を使用して、すべてのバージョンファイルを更新します- pyproject.toml、Cargo.toml、package.json に対応しています
- 仮想環境を自動的に除外します
- ネストしたバージョンファイル(例:
plugins/memory-palace/pyproject.toml)を検出します - まず
--dry-runフラグを使って変更内容をプレビューします
- 手動で行う方法:各対象ファイルを新しいバージョンに更新します
- セマンティックバージョンでは、
MAJOR.MINOR.PATCHまたは指定された形式に従います - プロジェクトが複数のパッケージに対応している場合は、各更新内容を記録します
- セマンティックバージョンでは、
ステップ 4:ドキュメントを更新する(docs-updated)
- 今日の日付で変更履歴の項目を追加または更新します。
- 新しいバージョンとリリースノートを記載するよう、README とドキュメントの内容を更新します。
バージョン参照を含む重要なドキュメントファイル
これらのファイルにはバージョン番号が含まれているため、バージョン更新時に必ず確認してください。
| ファイル | 内容 |
|---|---|
docs/api-overview.md | すべてのプラグインバージョンを記載したプラグイン一覧表 |
CHANGELOG.md | バージョン履歴とリリースノート |
book/src/reference/capabilities-reference.md | バージョン固有の機能に言及している可能性があります |
| プラグインの README | プラグインのバージョンに言及している可能性があります |
追加のバージョン参照を検索する
# Find all docs mentioning the OLD version
grep -r "1\.2\.6" docs/ book/ --include="*.md" | grep -v node_modules
# Common patterns to search:
# - "v1.2.6", "1.2.6", "(v1.2.6)"
# - Version tables in markdown
# - "Added in X.Y.Z" annotations
更新の順序
- 設定ファイル(pyproject.toml、plugin.json など)を更新します(自動)
CHANGELOG.mdを更新し、新しいバージョンのセクションを追加しますdocs/api-overview.mdを更新し、バージョン表とプラグインの詳細を更新します- ほかのバージョン参照を検索し、必要に応じて更新します
ステップ 5:検証する(verification)
- バージョン更新に必要な場合は、関連するビルドまたはテストを実行します(例:
cargo test、npm test)。 git status -sbとgit diffの抜粋を表示し、バージョン更新を確認します。
出力の指示
- 変更したファイルと新しいバージョン番号を要約します。
- 該当する場合は、公開やタグ付けなどの後続手順について説明します。
完了条件
- 5 件すべての TodoWrite 項目(
version-update:context-collectedからversion-update:verificationまで)が、ファイルを変更する前に作成され、順番どおりに完了としてマークされている - バージョンファイルを書き込む前に
update_versions.py --dry-run <version>が最初に実行され、その出力が確認されている - 見つかったすべての設定ファイル(
pyproject.toml、Cargo.toml、package.json、plugin.json)でバージョンが一貫して更新され、更新されていない対象ファイルがない -
CHANGELOG.mdが、今日の日付を記載した新しいバージョンのセクションで更新されている -
git diffの出力により、特定されたすべての対象ファイルでバージョンが変更されていることが確認でき、変更されたファイルと新しいバージョン番号の概要がユーザーに報告されている
コメント
Markdown 対応