name: manage-mod description: Go モジュールを管理する。「依存関係を更新」「go mod」「モジュール更新」「依存関係確認」「go.mod 更新」「パッケージ更新」「依存関係を整理」「Go バージョン変更」などで起動。更新可能なモジュールの一覧、危険度評価、段階的更新、バージョン管理をサポート。 allowed-tools: [Read, Bash, Glob, Grep]
Manage-Mod
Go モジュールを管理します。依存関係の更新、危険度評価、Go バージョン管理をサポート。
引数
--check: 更新可能なモジュールを確認のみ(更新しない)--version: Go バージョンを確認・変更--set <version>: Go バージョンを指定したバージョンに変更--help: ヘルプを表示
依存関係更新
1. 現在の依存関係を確認
cat go.mod
go list -m -u all
2. 更新可能なモジュールを分析
各モジュールについて以下を評価:
| 危険度 | 基準 | 説明 | |--------|------|------| | 🟢 安全 | パッチバージョン (v1.2.3 → v1.2.4) | バグ修正のみ、後方互換性保証 | | 🟡 注意 | マイナーバージョン (v1.2.0 → v1.3.0) | 新機能追加、非推奨警告あり | | 🔴 危険 | メジャーバージョン (v1.x.y → v2.0.0) | 破壊的変更、API の変更 |
3. 更新実行
# バックアップ作成
cp go.mod go.mod.backup
cp go.sum go.sum.backup
# 特定モジュールの更新
go get -u github.com/xxx/yyy@latest
# すべての依存関係を更新
go get -u ./...
# go.mod の整理
go mod tidy
# 更新後の確認
go build ./...
go test ./...
4. 結果レポート
✅ 依存関係更新完了
更新されたモジュール:
- github.com/xxx/yyy: v1.2.0 → v1.3.0 (🟡 マイナー)
- github.com/aaa/bbb: v2.1.0 → v2.1.1 (🟢 パッチ)
更新をスキップ:
- github.com/ccc/ddd: v1.0.0 → v2.0.0 (🔴 メジャー - 手動確認推奨)
推奨アクション:
1. `go test ./...` でテストを実行
2. メジャーバージョンアップは個別に検討
Go バージョン管理
1. 現在のバージョンを確認
# go.mod の Go バージョンを確認
grep "^go " go.mod
# システムの Go バージョンを確認
go version
2. バージョン変更(--set オプション使用時)
# go.mod の Go バージョンを変更
go mod edit -go=1.22
# 依存関係の整理
go mod tidy
3. 互換性チェック
# ビルド確認
go build ./...
# テスト確認
go test ./...
Go バージョンの主な変更点
| バージョン | 主な変更 | |-----------|---------| | 1.24 | tool ディレクティブ、go run キャッシング改善 | | 1.23 | イテレータ関数(range over func) | | 1.22 | ループ変数スコープ変更、PGO デフォルト有効化 | | 1.21 | 標準ライブラリの min/max/clear 関数 | | 1.20 | カバレッジプロファイル、PGO サポート |
重要な注意事項
- ✅ メジャーバージョンアップは慎重に
- ✅ 更新後は必ずビルドとテストを実行
- ✅ 依存関係更新は独立したコミットに
- ✅ CHANGELOG を確認
- ❌ 後方互換性に注意(Go バージョンを上げると古いバージョンでビルドできない可能性)
Docker Compose Architect
DevOps
Designs optimized Docker Compose configurations.
Incident Postmortem Writer
DevOps
Writes structured and blameless incident postmortem reports.
Runbook Creator
DevOps
Creates clear operational runbooks for common DevOps procedures.