mcpField
V
version-bump

version-bump

github.com/thedotmack開発104.0k1.9k 回インストール今日更新
リポジトリ

version-bump について

version-bumpは、プロジェクトのバージョン更新とリリース手順を案内するスキルです。複数のマニフェストの更新、ビルド検証、GitHubやnpmでの公開、公開後の確認を扱います。

主な機能

  1. 01パッチ・マイナー・メジャー変更の判定
  2. 02複数マニフェストのバージョン更新
  3. 03リリース成果物のビルドと同期
  4. 04コミット、タグ付け、リリース公開
  5. 05npmのバージョンと来歴の確認

活用シーン

  1. 01プロジェクトのバージョン更新準備
  2. 02公開前の成果物検証
  3. 03公開後のnpmバージョン確認

インストール

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

$npx skills add https://github.com/thedotmack/claude-mem --skill version-bump

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

同梱ファイルscripts/generate_changelog.js

詳細

バージョン更新とリリースのワークフロー

重要: 開始する前に、詳細なリリースノートを計画して作成してください。

重大: ビルド成果物を含め、すべてをコミットしてください。このワークフローの最後に、コミットまたはプッシュされていないものが何も残らないようにしてください。最後に git status を実行して確認してください。

準備

  1. 分析:変更が PATCH(バグ修正)、MINOR(機能追加)、MAJOR(互換性を破る変更)のどれに該当するか判断します。

  2. 環境:git remote -v からリポジトリのオーナー名と名前を特定します。

  3. パス — バージョン文字列を含むすべてのファイル:

    • package.json — npm/npx で公開されるバージョン(npx [email protected] はここから解決されます)
    • plugin/package.json — 同梱プラグインのランタイム依存関係
    • .claude-plugin/marketplace.json — plugins[0].version 内のバージョン
    • .claude-plugin/plugin.json — トップレベルの Claude プラグインマニフェスト
    • plugin/.claude-plugin/plugin.json — 同梱された Claude プラグインマニフェスト
    • .codex-plugin/plugin.json — Codex プラグインマニフェスト
    • plugin/.codex-plugin/plugin.json — 同梱された Codex プラグインマニフェスト
    • .qoder-plugin/plugin.json — Qoder プラグインマニフェスト
    • plugin/.qoder-plugin/plugin.json — 同梱された Qoder プラグインマニフェスト
    • openclaw/openclaw.plugin.json — OpenClaw プラグインマニフェスト
    • .grok-plugin/plugin.json — Grok プラグインマニフェスト
    • claude-mem-cursor/.cursor-plugin/plugin.json — Cursor プラグインマニフェスト
    • claude-mem-grok-bot/.cursor-plugin/plugin.json — Grok Bot Cursor プラグインマニフェスト
    • dsh/package.json — 同梱された DSH プラグインパッケージ
    • README.md — バージョンバッジ(version-X.Y.Z-green)。"version" キーではありません

    編集する前に、対象ファイルが漏れなく含まれていることを確認してください。git grep -l "\"version\": \"<OLD>\"" で上記の14個の JSON ファイルが一覧表示され、git grep -n "version-<OLD>-green" で README のバッジが表示されるはずです。このドキュメントの最終更新後に新しいマニフェストが追加されている場合は、この一覧を更新してください。

ワークフロー

  1. 更新:上記のすべてのパスでバージョン文字列をインクリメントします。CHANGELOG.md は再生成されるため、変更しないでください。
  2. 確認:git grep -n "\"version\": \"<NEW>\"" を実行し、14 個すべての JSON ファイルのバージョンが一致し、README のバッジが version-<NEW>-green になっていることを確認します。git grep -n "\"version\": \"<OLD>\"" を実行し、ヒット数がゼロであることを確認します。
  3. ビルドと同期:npm run build-and-sync を実行して、成果物を再生成し、ローカルのマーケットプレイスコピーを同期し、ワーカーを再起動して、キューをクリアします。リリースの検証には通常の npm run build を使わないでください。ローカルのマーケットプレイスやワーカーの状態が同期されなくなる可能性があります。
  4. コミット:git add -A && git commit -m "chore: bump version to X.Y.Z"。
  5. タグ付け:git tag -a vX.Y.Z -m "Version X.Y.Z"。
  6. プッシュ:git push origin main && git push origin vX.Y.Z。
  7. GitHub リリース:gh release create vX.Y.Z --title "vX.Y.Z" --notes "RELEASE_NOTES"。
  8. 変更履歴:プロジェクトの変更履歴スクリプトで再生成します。
    npm run changelog:generate
    
    (node scripts/generate-changelog.js を実行します。このスクリプトは GitHub API からリリースを取得し、CHANGELOG.md を書き換えます。)
  9. 変更履歴を同期:更新した CHANGELOG.md をコミットしてプッシュします。
  10. 公開前の監査:リリースのコミット、タグ、GitHub リリース、変更履歴がプッシュされており、リリース用ワークツリーに追跡対象の変更が残っていないことを確認します。
  11. npm への公開 — ワークフローが実行します。 vX.Y.Z タグをプッシュすると .github/workflows/npm-publish.yml が起動し、ビルド、クリーンルームスモークテスト、npm Trusted Publishing(GitHub OIDC)経由での公開を実行するため、npm トークンは不要です。実行状況を確認します。
    gh run list --workflow npm-publish.yml --branch vX.Y.Z   # タグの実行では、タグがブランチとして表示されます
    gh run watch <run-id> --exit-status
    
    ローカルで npm publish を実行しないでください。ローカルで npm にログインできる場合でも同様です。公開経路はこのワークフローだけであり、プロベナンスが付与されるのもこのワークフローのみです。 実行が失敗した場合は、gh run view <run-id> --log-failed で失敗したステップを確認します。 一時的な障害(ネットワーク、レジストリの停止)の場合は、gh run rerun <run-id> で再実行します。再実行では同じタグ付きコミットがビルドされるため、コードやワークフローの修正は PR を通じて行い、次のパッチリリースで反映してください。 プッシュ済みのタグを移動したり、作り直したりしないでください。 Trusted Publisher は npmjs.com → claude-mem → Settings → Trusted Publisher(GitHub Actions、thedotmack/claude-mem、npm-publish.yml、npm publish を許可)に設定されています。ワークフローファイルの名前を変更すると、この設定を更新するまで公開できなくなります。変更にはメンテナーのセキュリティキーが必要です。
  12. 公開後の確認と通知:公開後、指定バージョンと最新の dist-tag の両方を確認します。
    npm view [email protected] version
    npm view claude-mem dist-tags.latest
    npm view [email protected] dist.attestations --json   # ワークフローからのプロベナンス
    
    その後、npm での確認が済んでから X にリリースを投稿します。
    • リリースノートをもとに、利用可能な画像生成ツールでリリースに関する画像を 1 枚生成します。
    • すでに X にログインしているブラウザー(たとえば Chrome の Claude)で x.com を開き、現在のアカウントが @Claude_Memory であることを確認します。ログイン済みのブラウザーがない場合、または別のアカウントの場合は、投稿をスキップし、リリース報告でその旨を伝えてください。ログインやアカウントの切り替えは絶対に行わないでください。
    • バージョン、GitHub リリース URL、画像を添付して、リリースの短い概要を投稿し、投稿の URL を報告します。
  13. 最終確認:git status を実行し、作業ツリーがクリーンで、すべてがプッシュ済みであることを確認します。

チェックリスト

  • 15 個すべてのバージョンファイル(14 個の JSON マニフェストと README のバッジ)でバージョンが一致している
  • 古いバージョンを git grep で検索し、ヒット数が 0 件である
  • npm run build-and-sync が成功した
  • Git タグを作成してプッシュした
  • リリースノートを添えて GitHub リリースを作成した
  • CHANGELOG.md を更新してプッシュした
  • 公開前の監査に合格した
  • タグに対する Publish to npm ワークフローの実行が成功した(ローカルで npm publish を実行していない)
  • 公開後に npm の正確なバージョンと latest の両方を確認した
  • npm の確認後、生成した画像を添えて X に @Claude_Memory としてリリースを投稿した(または、そのアカウントでログインしているブラウザーがなかったためスキップした)
  • git status で作業ツリーがクリーンであることを確認した

コメント