SpecBind をアップデートする¶
SpecBind のアップデートには、PC で実行するspecbindバイナリの更新と、
各プロジェクトに配置された製品管理対象ファイルの更新があります。この 2 つは別々の操作です。
このガイドでは、バイナリを mise で管理している場合を基本に説明します。
specbind自身がバイナリを置き換える自己更新コマンドはありません。
1. mise でバイナリを更新する¶
対象プロジェクトのルートで、設定されているバージョン範囲内の最新版へ更新します。
mise.tomlでlatestを選んでいる場合、mise のminimum_release_ageを満たす最新の安定版が選ばれます。完全に固定されたバージョンは通常のmise upgradeでは進みません。
特定のバージョンへ変更する場合は、明示的に選び直します。
mise.tomlとmise.lockに差分がある場合は、内容を確認して、プロジェクトの通常の手順でコミットしてください。mise.lockは、チームや CI が同じバージョンと配布物を使うためのロックファイルです。詳しい挙動は mise の
upgradeと
mise.lockの説明を参照してください。
プロジェクト資産を更新する前にコミットする
次のspecbind installは、既存ファイルの置換・移動・削除を含む場合、1 件以上のコミットがあり、作業ツリーに未コミットの変更がないことを要求します。mise による更新で
mise.tomlやmise.lockが変更された場合、その差分をコミットしてから進んでください。
2. プロジェクト内の製品管理対象を更新する¶
新しいバイナリには、そのバージョンの Skill やほかの製品管理対象が埋め込まれています。 まず、適用される計画を確認します。
create、replace、keepと、廃止された製品管理対象に対するremoveを確認してから適用します。
差分を確認し、プロジェクトの通常の手順でコミットしてください。更新済みのプロジェクトを取得したほかのメンバーは、mise installでロックファイルに固定されたバイナリを導入できます。プロジェクト内の更新済みファイルは Git から取得されるため、
全員がspecbind installを再実行する必要はありません。
更新されるものと保持されるもの¶
| 対象 | 所有者 | アップデート時の扱い |
|---|---|---|
specbindバイナリ |
mise | mise upgradeまたは明示的なmise useで更新 |
.agents/skills/sb-*、.claude/skills/sb-*などの製品管理対象 |
SpecBind | specbind installで現在の埋め込み版へ置換。廃止された対象は計画に表示して削除 |
AGENTS.mdまたはCLAUDE.mdの SpecBind 管理ブロック |
SpecBind | マーカー内だけを更新し、周囲の文章を保持 |
.specbind/settings/以下のテンプレート、Rule、Adapter |
プロジェクト | 既存ファイルを上書きしない。新しく追加された既定ファイルがなければ作成 |
| Specs、Roadmap、Gate、リリース履歴 | プロジェクト | specbind installでは変更しない |
製品管理対象の Skill を直接編集する方法は、サポートされているカスタマイズではありません。製品管理対象に未コミットの変更がある場合、SpecBind はその内容を推測して上書きせず停止します。必要な方針をプロジェクトが所有する設定へ移すか、Git で管理対象を元に戻してから計画をやり直してください。
mise 以外でインストールした場合¶
バイナリを導入した方法と同じインストーラーを再実行して更新します。利用できるインストーラーと対応環境は
README の Install the CLIを参照してください。バイナリを更新したあとのspecbind install --dry-runと
specbind installは、mise の場合と同じです。