bump-deps について
Bump Dependenciesは、Tazeを使ってリポジトリの依存関係更新を計画・適用するスキルです。互換性のある範囲内の更新と要確認の変更を分け、書き込み前後にプロジェクトの検証を行います。
主な機能
- 01構造化されたTaze更新計画
- 02monorepo対応の依存関係スキャン
- 03メジャー更新の一括確認
- 04Bun catalogの更新に対応
- 05書き込み前後の検証
活用シーン
- 01ファイルを書き換えず依存関係の更新を確認
- 02メジャー更新と不明な更新をまとめて審査
- 03選択した更新を適用してプロジェクトを検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ paulrberg/ agent-skills --skill bump-depsインストール後、Claude Code で/bump-depsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/conditional-workflows.mdscripts/parse-taze-plan.pyrun-taze.shtest_parse_taze_plan.pytest_update_bun_catalogs.pyupdate-bun-catalogs.py詳細
依存関係を更新する
Taze を使って構造化された更新計画を 1 つ作成し、互換性のある範囲指定の更新を適用して、メジャーバージョンに関する判断をまとめて行います。
ワークフロー
-
スキルのディレクトリを解決し、対象リポジトリからヘルパープランを保存します。
bash <skill-dir>/scripts/run-taze.sh --plan [--include package-a,package-b] > <taze-plan.json>JSON プランでは、検出されたすべての更新を
apply、review-major、review、skip-fixedに分類します。ヘルパーはモノレポを検出し、スキャン時にロック済みのバージョンを含め、Bun の最小リリース経過日数の設定を反映します。リポジトリでパッケージマネージャーの経過日数制限または Bun カタログを使用している場合は、そのアクティブな分岐についてのみ references/conditional-workflows.md を読んでください。 -
--dry-runが指定されている場合は、プランと件数を提示し、マニフェストやロックファイルを変更せずに終了します。 -
applyとマークされた、範囲指定されたすべてのマイナー/パッチ更新を選択します。パッケージ名を根拠にメジャー更新を自動承認してはいけません。すべてのreview-majorと不明な更新を、現在のバージョン、対象バージョン、判明している場合はパッケージの役割、および関連する移行情報/リリースノートとともに、まとめて一度に判断できる形で提示します。ユーザーが選択したメジャー更新のみを適用します。 -
何も選択されていない場合は、変更がないことを報告して終了します。ルートマニフェストで Bun カタログを使用している場合は、承認済みプランから選択されたカタログの変更内容を正確にプレビューします。
uv run <skill-dir>/scripts/update-bun-catalogs.py \ --root <repo> --plan <taze-plan.json> --include package-a,package-bプレビューは読み取り専用です。カタログ項目の欠落、競合するプラン行、未対応バージョン、またはプランと一致しなくなったカタログ値がある場合は、書き込み前に失敗します。ヘルパーはアップグレードを選択しません。
-
最初にマニフェストまたはロックファイルを書き込む前に、リポジトリの標準検証スイートを特定し、既存の依存関係の状態を対象に実行します。案内されている一括チェックを優先し、なければ公開されている依存関係解決、ビルド、テスト、型チェック、lint、フォーマットチェック、コード生成チェック、およびリポジトリ不変条件の各コマンドをすべて実行します。利用可能な場合は、フローズンモードまたは書き込みを行わないモードを使い、更新後の再実行に使う正確なコマンドを記録します。コマンドの失敗、依存関係または peer の解決競合、非互換性や危険な動作を示す対応が必要な警告がある場合は、更新を中止します。避けられない非推奨に関する通知など、情報提供のみの通知は対象外です。ベースラインに中止要因となる問題がある場合は、
### ⛔ Dependency bump blocked — baseline failedとともに終了し、正確なコマンドと診断内容を示して、既存の問題の解決をユーザーに依頼します。マニフェスト、ロックファイル、ソース、設定は変更しません。 -
選択された Taze の更新をすべて、1 つのコマンドで書き込みます。
bash <skill-dir>/scripts/run-taze.sh --write --include package-a,package-b -
Bun カタログの場合は、同じプランと対象セットを指定して
update-bun-catalogs.pyを--write付きで再実行します。これにより、一致するすべてのデフォルト/名前付きカタログ項目がアトミックに更新され、既存の^、~、または空のプレフィックスが保持されます。その後、niを実行してリポジトリのパッケージマネージャーでロックファイルを更新します。 -
マニフェストとロックファイルの差分を確認します。ベースラインで実行したコマンドを正確に再実行し、さらに更新された依存関係と必要な移行を確認するための、最小範囲のチェックも実行します。新たに発生したエラー、型の問題、チェックの失敗(テスト、ビルド、lint、フォーマット、コード生成、リポジトリ不変条件を含む)、依存関係または peer の解決競合、対応が必要な互換性または安全性に関する警告は、証拠によって否定されない限り、更新が原因とみなします。
-
想定される動作を維持しながら、必要なソースまたは設定の移行を含め、更新によって発生したすべての問題を修正します。チェックを通すだけのために診断を抑制したり、検証を弱めたり、期待される動作を変更したりしてはいけません。修正のたびに該当するチェックを再実行し、その後、記録したスイート全体が通過するまで再実行します。タスクの権限内で明確かつ安全な修正方法がない場合は、
### ⚠️ Dependency regression decision requiredとともに終了します。そのような問題をすべて、証拠、影響を受ける箇所、修正と取り消しの選択肢、および想定される影響を含む 1 つの表にまとめて提示します。ユーザーが選択し、修正が適用されるか問題のある更新が取り消され、ロックファイルが再生成され、スイート全体が通過するまで、完了を報告してはいけません。
ユーザー向け出力
プランは、件数と簡潔な表を含めて ### 📦 依存関係のプラン として提示します。
| ID | プラン値 | 判断 | パッケージ | 現在 → 対象 | 種類 | 備考 |
|---|
プランの正確な値である apply、review-major、review、skip-fixed を、平易な表現の判断と併記します。
選択が必要な行には安定した ID を割り当て、ユーザーが一度の回答で済むようにします。プレビューには
### 🔎 ドライラン — ファイルへの書き込みなし、何もしない場合には ### ✅ 選択された更新はありません を使用します。
適用した作業の最後には ### 🏁 依存関係を更新しました、変更されたマニフェスト/ロックファイルのツリー、および
### 🧪 検証 を記載します。### ⚠️ 残りの確認事項 は、ブロックを伴わない情報事項に限って使用し、更新が原因で未解決の問題がある場合には使用しません。ヘルパー JSON、パッケージ/バージョン文字列、コマンド、診断情報は正確なまま、装飾を加えずに記載します。
不変条件
- バージョンが固定されたものと SemVer 以外のプロトコルは、ユーザーが明示的に別途依頼しない限り変更しません。
- パッケージ引数は、スキャン段階と書き込み段階の両方を制約します。
- 同じ成熟期間ポリシーを、スキャン段階と書き込み段階の両方に適用します。
- Bun カタログのプレビューと書き込みでは、同じ承認済み Taze プランと選択済みパッケージセットを使用します。古くなったプランでは書き込みを行いません。
- リポジトリの根拠、ピア依存関係の範囲、リリースノートがそれ以外を示している場合、SemVer だけから互換性を推測しません。
完了には、書き込み前のクリーンなベースライン、レビュー済みのプラン、選択した更新の維持、ロックファイルの再生成、記録されたテストスイートと依存関係固有のチェックの再実行が成功していること、更新が原因の未解決問題がないことが必要です。 ドライランの完了には、構造化されたプランと書き込み件数ゼロが必要です。