AI / 開発者向け CLI ツールを インストール済みのものだけ 一括アップデートする、シンプルなクロスプラットフォームスクリプトです。
- Windows:
dev-cli-updater.bat - macOS / Linux:
dev-cli-updater.sh
- GitHub CLI(
gh) - Claude Code(
claude) - Codex CLI(
codex) - Gemini CLI(
gemini) - Cursor Agent(
cursor-agent)※dev-cli-updater.shのみ(Windows.batでは更新しません)
各ツールについて次の流れで処理します。
- コマンド存在チェック(未インストールならスキップ)
- 現在のバージョン表示
- 更新有無チェック
- 更新がある場合のみアップデート(または updater 実行)
- 結果をサマリー表示
- 既に対象ツールがインストール済みであること(本スクリプトは新規インストールを行いません)
npmは Codex CLI / Gemini CLI の更新に必要です(npmが無い場合は依存不足としてスキップします)Claude Codeはclaude updateを使用するため、npmを必須にしません
GitHub CLI(gh)のアップデートはシステムのパッケージマネージャで行います。以下の経路でインストール済みである必要があります。
- Windows:
wingetでインストールされた GitHub CLI - macOS:
brewでインストールされた GitHub CLI - Debian / Ubuntu / WSL: GitHub CLI 公式 APT リポジトリ からインストールされた GitHub CLI
- Windows:
cmd.exeまたは PowerShell - macOS / Linux:
bash
PowerShell から実行(推奨):
cd <project-root>
.\dev-cli-updater.batPowerShell はセキュリティ上の理由から、カレントディレクトリのコマンドを自動で検索しません。そのため、
.\を先頭に付ける必要があります。
コマンドプロンプト(cmd.exe)から実行:
cd <project-root>
dev-cli-updater.batchmod +x dev-cli-updater.sh
./dev-cli-updater.shサマリーは概ね次のいずれかで表示されます。
✅ Updated:更新を実行して成功ℹ️ Up to date:最新のためスキップ⏭️ Skipped (missing dependency):依存不足(例:npmが無い)でスキップ❌ Failed:更新に失敗⚠️ Not installed:コマンドが見つからず未インストール扱い
- このスクリプトは 既にインストールされているツールのみ をアップデートします。未インストールのツールはスキップされます。
- GitHub CLI の更新は
winget/brew/aptに依存します。環境によっては権限昇格(管理者 /sudo)が必要です。 - Debian / Ubuntu / WSL では、GitHub CLI が GitHub CLI 公式 APT リポジトリ由来である必要があります(ディストリビューション側のコミュニティパッケージは対象外)。
- Windows
.batはcursor-agentを更新しません(必要なら WSL 上で.shを実行する運用にしてください)。
MIT
補足(README に反映した前提):
- `Claude Code` は手動更新として `claude update` が公式に案内されています。:contentReference[oaicite:0]{index=0}
- `Codex CLI` は macOS/Linux が公式サポートで、Windows は experimental(WSL 推奨)です。:contentReference[oaicite:1]{index=1}
- `cursor-agent update` / `cursor-agent upgrade` が手動更新手段として案内されています。:contentReference[oaicite:2]{index=2}
::contentReference[oaicite:3]{index=3}