mcpField
S
springboot-migration

springboot-migration

github.com/a-pavithraa開発8089 回インストール今日更新
リポジトリ

springboot-migration について

既存の Spring Boot アプリケーションをアップグレードするチーム向けの移行スキルです。プロジェクトをスキャンして適用するガイドを選び、段階的な変更と各段階での検証を進めます。

主な機能

  1. 01ビルドファイルとソースコードをスキャン
  2. 02適用する移行作業を特定
  3. 03Boot、Modulith、Testcontainers のガイド
  4. 04変更を段階ごとに整理
  5. 05各段階の後に進捗を検証

活用シーン

  1. 01既存の Spring Boot プロジェクトを評価
  2. 02関連する依存関係のアップグレードを計画
  3. 03次の段階へ進む前に移行状況を検証

インストール

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

$npx skills add https://github.com/a-pavithraa/springboot-skills-marketplace --skill springboot-migration

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
migration-overview.md
spring-boot-4-migration.md
spring-modulith-2-migration.md
testcontainers-2-migration.md
scripts/
scan_migration_issues.py

詳細

Spring Boot の移行

目的

既存の Spring Boot アプリケーションを段階的にアップグレードする際に、このスキルを使用します。このスキルでは、移行スキャナー、Boot 4/Modulith 2/Testcontainers 2 のリファレンスガイド、変更を一度に詰め込みすぎない厳密な移行順序を活用できます。

重要なルール

  • やみくもに移行しないでください。まずコードベースをスキャンしてください。
  • すべての移行を一度に適用しないでください。段階的にアップグレードしてください。
  • ユーザーがより限定的な対象を指定しない限り、このスキルでは Spring Boot 4、Spring Modulith 2、Testcontainers 2 を目標スタックとして扱ってください。Boot 4 の Java ベースラインは 17 です。新しいコンパイルターゲットには Java 25 を推奨しますが、移行に実際に必要な範囲を超えてアップグレードを強制しないでください。
  • 各フェーズの後に検証し、問題が発生したら中止してください。

ワークフロー

ステップ 1:プロジェクトをスキャンする

計画や編集を始める前に、移行スキャナーを使用してください。プロジェクトにある pom.xml、build.gradle、または build.gradle.kts のいずれかに加え、Java ソース、プロパティファイル、Flyway のマイグレーションを読み取ります。

python3 "${CLAUDE_SKILL_DIR}/scripts/scan_migration_issues.py" /path/to/project

スキャン結果を使って、以下を特定してください。

  • 現在の Spring Boot のバージョン
  • スターターの名称変更が必要な箇所
  • アノテーションとインポートの移行
  • 設定の変更
  • Spring Modulith との互換性
  • Testcontainers との互換性
ステップ 2:適用する移行を特定する

コードベースに該当するリファレンスのみを読み込んでください。

移行適用条件参照先
Spring Boot 4.0Boot 3.x から 4.x へのアップグレードreferences/spring-boot-4-migration.md
Spring Modulith 2.0Modulith 1.x を既に使用しているreferences/spring-modulith-2-migration.md
Testcontainers 2.xTestcontainers 1.x を既に使用しているreferences/testcontainers-2-migration.md
複数の領域にまたがるシナリオと注意点複数のアップグレードの計画references/migration-overview.md
ステップ 3:移行を段階的に計画する

リファレンスガイドを使い、以下の順序で計画と実行を行ってください。

フェーズ 1:依存関係
  • pom.xml または build.gradle を更新する
  • 必要に応じてスターターの名称を変更する
  • 目標スタックに必要な依存関係を追加または削除する
  • バージョンプロパティをそろえる
フェーズ 2:ソースコードの変更
  • インポートとパッケージ名を更新する
  • テストアノテーションを移行する
  • Jackson 3 の問題を修正する
  • 該当する場合は Testcontainers API の変更に対応する
フェーズ 3:設定
  • application.properties または application.yml を更新する
  • Boot 4 のデフォルト設定を意図的に適用する
  • 該当する場合は Spring Modulith のイベントストア設定を更新する
フェーズ 4:検証
  • 単体テストを実行する
  • 統合テストを実行する
  • コンテナーを使ったテストがあれば実行する
  • 非推奨項目と起動時の失敗を確認する
ステップ 4:複数の領域にまたがるアップグレードでは、適切な移行順序を使う

複数のエコシステムが関係する場合は、以下の順序を使用してください。

  1. Spring Boot 4
  2. Spring Modulith 2
  3. Testcontainers 2

この順序を変更する場合は、事前に references/migration-overview.md を読んでください。

ステップ 5:各フェーズの後に進捗を報告する

各フェーズの後に、以下を報告してください。

  • 変更した内容
  • 残っている作業
  • 問題が発生した場合はその内容
  • 続行しても安全かどうか

リファレンスの読み込みガイド

  • Spring Boot 4 の移行の詳細:references/spring-boot-4-migration.md
  • Spring Modulith 2 の移行の詳細:references/spring-modulith-2-migration.md
  • Testcontainers 2 の移行の詳細:references/testcontainers-2-migration.md
  • 複数の領域にまたがるシナリオと一般的な問題:references/migration-overview.md

利用可能なスクリプト

  • scripts/scan_migration_issues.py

出力形式

移行を計画または報告する際は、以下の形式で出力してください。

## Migration scope
- Current versions:
- Target versions:

## Planned phases
1. ...
2. ...
3. ...

## Files expected to change
- `path/to/file`

## Verification
- Tests or checks to run

このスキルを使用しない場合

  • Spring Boot プロジェクトを新規作成する場合
  • 実際の移行作業を伴わない、広範なアーキテクチャに関するアドバイス
  • spring-data-jpa に属する、JPA 固有の実装作業

コメント