Phase 1 Setup 0-1: monorepo 構造整理 PR
概要
リポルートに散在している既存資材を webapi/ サブディレクトリへ集約し、web/ / keycloak/ / infra/ の配置先を確保する。1 PR で全 path 変更 + CI workflow path 更新 + Gradle multi-project 化を実施する。
詳細仕様は docs/architecture/infrastructure-plan.md v5 §5.1 を参照。
背景
Phase 1 Sprint 0(#121「scaffold ↔ 設計書整合実装」、2026-06-14 開始)着手のクリティカルパス。以下 3 つの新規ディレクトリを後続作業で使うため、リポ構造の整理が前提:
web/ — Phase 1 Setup 1 で Frontend skeleton を作成
keycloak/ — Phase 1 Setup 2 + Sprint 1 Infra で Custom Image を作成
infra/ — Phase 1 Sprint 0 Infra 以降で Terraform IaC を配置
実装内容
A. ディレクトリ移動
[現状] [新構造]
src/ webapi/src/
build.gradle webapi/build.gradle
gradlew webapi/gradlew (or root に残す)
gradlew.bat webapi/gradlew.bat (or root)
gradle/ webapi/gradle/ (or root)
settings.gradle root に維持(multi-project 化)
api/ webapi/api/ または root の api/ を維持
bin/ 削除 or webapi/bin/
build/ webapi/build/(`.gitignore`)
docs/ .github/ .claude/ docker-compose.local.yml(将来作成)renovate.json などは root に維持。
B. Gradle multi-project 化
ルート settings.gradle を以下に修正:
rootProject.name = 'tasks-webapi-monorepo'
include 'webapi'
// keycloak は Phase 1 Sprint 1 Infra で追加
webapi/build.gradle は現 build.gradle の内容を移動。./gradlew :webapi:build で動作確認。
C. 新規空ディレクトリの placeholder
web/.gitkeep
keycloak/.gitkeep
infra/.gitkeep
D. CI workflow path 更新
.github/workflows/*.yml 内の path 参照を更新:
src/** → webapi/src/**
build.gradle → webapi/build.gradle
./gradlew check → ./gradlew :webapi:check
- 等
claude-automation の shim workflow も同様に。
E. CLAUDE.md / 各種 docs の path 更新
.claude/CLAUDE.md の Project Overview / Commands セクションの path を webapi/ 配下に更新
docs/specs/設計規約.md / docs/specs/コーディング規約.md の path 参照確認
受入条件
想定影響範囲
| 領域 |
影響 |
| Spring Boot アプリ起動 |
./gradlew :webapi:bootRun で動作する(env vars は変更なし) |
| 既存テスト |
カバレッジ 80% 維持、ApplicationModules.verify() も green |
| Spotless 自動整形 |
./gradlew :webapi:spotlessApply で動作 |
| Renovate |
path 別ラベル分離は Setup0-2 で対応(本 PR では既存 renovate.json のまま) |
| ADR |
構造変更を ADR 化するか別途検討(本 PR には含めない) |
リスクと対応
| リスク |
対応 |
| PR が大きすぎてレビュー困難 |
claude-automation-review が自動レビューしつつ、人手で最終確認。差分が大きいので意図しない削除に注意 |
gradlew script の path 解決失敗 |
webapi/ 配下から実行する場合 vs root から ./gradlew :webapi:... 実行する場合の両方をテスト |
| CI workflow path 漏れ |
grep -r "src/" .github/workflows/ で全 path 参照を洗い出す |
サンドボックスから見える幻のファイル(.git/packed-refs 等)による混乱 |
sandbox/Windows host の差を意識、host(WSL)で git 操作を実施 |
関連
備考
- task-type:
task-type:impl
- 優先度:
priority/p0
- area:
area/infra 相当(なければ area/ci)
Phase 1 Setup 0-1: monorepo 構造整理 PR
概要
リポルートに散在している既存資材を
webapi/サブディレクトリへ集約し、web//keycloak//infra/の配置先を確保する。1 PR で全 path 変更 + CI workflow path 更新 + Gradle multi-project 化を実施する。詳細仕様は
docs/architecture/infrastructure-plan.mdv5 §5.1 を参照。背景
Phase 1 Sprint 0(#121「scaffold ↔ 設計書整合実装」、2026-06-14 開始)着手のクリティカルパス。以下 3 つの新規ディレクトリを後続作業で使うため、リポ構造の整理が前提:
web/— Phase 1 Setup 1 で Frontend skeleton を作成keycloak/— Phase 1 Setup 2 + Sprint 1 Infra で Custom Image を作成infra/— Phase 1 Sprint 0 Infra 以降で Terraform IaC を配置実装内容
A. ディレクトリ移動
docs/.github/.claude/docker-compose.local.yml(将来作成)renovate.jsonなどは root に維持。B. Gradle multi-project 化
ルート
settings.gradleを以下に修正:webapi/build.gradleは現build.gradleの内容を移動。./gradlew :webapi:buildで動作確認。C. 新規空ディレクトリの placeholder
D. CI workflow path 更新
.github/workflows/*.yml内の path 参照を更新:src/**→webapi/src/**build.gradle→webapi/build.gradle./gradlew check→./gradlew :webapi:checkclaude-automationの shim workflow も同様に。E. CLAUDE.md / 各種 docs の path 更新
.claude/CLAUDE.mdのProject Overview/Commandsセクションの path をwebapi/配下に更新docs/specs/設計規約.md/docs/specs/コーディング規約.mdの path 参照確認受入条件
webapi/web/keycloak/infra/の 4 subdir が存在(.gitkeep含む)src/build.gradle等がwebapi/配下に移動済(root の元 path は削除)settings.gradleでinclude 'webapi'設定済./gradlew :webapi:buildが成功(local 動作確認)./gradlew :webapi:checkが成功(Spotless + NullAway + Error Prone + JaCoCo すべて green、80% カバレッジ維持).github/workflows/ci.yml等)が新しい path で動作する(PR で CI green).claude/CLAUDE.mdの path 参照が更新済想定影響範囲
./gradlew :webapi:bootRunで動作する(env vars は変更なし)ApplicationModules.verify()も green./gradlew :webapi:spotlessApplyで動作renovate.jsonのまま)リスクと対応
gradlewscript の path 解決失敗webapi/配下から実行する場合 vs root から./gradlew :webapi:...実行する場合の両方をテストgrep -r "src/" .github/workflows/で全 path 参照を洗い出す.git/packed-refs等)による混乱関連
Phase 1 Setup 0(due 2026-05-30)docs/architecture/infrastructure-plan.mdv5 §5.1備考
task-type:implpriority/p0area/infra相当(なければarea/ci)