Upgrade to Pro — share decks privately, control downloads, hide ads and more …

monorepo.pdf

Avatar for Suzu Ito Suzu Ito
June 11, 2026
48

 monorepo.pdf

Avatar for Suzu Ito

Suzu Ito

June 11, 2026

Transcript

  1. 今⽇話すこと • カウシェのモノレポ (歴史と現状) • モノレポのメリット • モノレポのデメリット • まとめ

    ⼀⾔で... AIが普及した今、「全部1つのレポにある」ことの価値が⼀気に上がった!
  2. カウシェの モノレポ 2023年代 レポジトリ⼀覧 • kauche-app(BE) • kauche-mobile(iOS) • kauche-android(Android)

    • kauche-terraform(Infra) • kauche-ope-frontend(Web/社内向け管理画⾯) • kauche-partner-frontend(Web/出品者向け管理画⾯) • kauche-farm-frontend(Web/カウシェファーム) • その他 昔はマルチレポだった!
  3. カウシェの モノレポ モノレポ移⾏プロジェクト • (2025/04)最初、iOSレポとAndroidレポを統合することから始まる ◦ 当時AI⽂脈はなく、ネイティブアプリエンジニアがiOSとAndroidを両⽅触れるようにするため だった。 • 💡AIとの相性が良いことに気づく

    ◦ AIへ⼊⼒する情報量が⼤きいほど、より多くの⽂脈を踏まえた実装を出⼒する • 現在の組織規模なら、モノレポの旨味も享受できるはず‧‧‧ • (2025/07)全部をモノレポに統合するPrjが始まる
  4. メリット 事例紹介① 不具合の原因調査 「⽔くみ」機能の不具合 Farm は WebView(React) / Native (Swift

    / Kotlin) / API(Go) から成る Farmチーム 配属2週⽬。NativeApp知識不⾜。午後から全社 会(仕事できない) → Claude Code へ 雑に原因調査を依頼 原因: Android側のとある変更の副作⽤で、WebViewリロー ドのタイミング が変わったこと
  5. メリット 事例紹介① なぜ原因特定できた? • カウシェの全履歴が Git に1本化されている ◦ フェーズ(設計/実装/保守) x

    レイヤー(BE/FE/Infra/NativeApp) x リリース が全部 Git に紐づく ◦ → AIがこの履歴を 頑張って追ってくれる (Gitの履歴を追うための SubAgent による) • 症状に「プラットフォーム」のヒント(Androidだけで起きている) ◦ →モノレポなので、Androidのコードに0ステップで到達(clone / 権限不要) • AIが⼈間の知識ギャップを埋めた ◦ → Swift / Kotlin 読めなくても、AI が 代読 してくれる
  6. メリット 事例紹介② ⼊出⼒が1レポで完結すると開発体験が良い • カウシェの開発フロー(3ステップ) ◦ Design Docの作成 ← AIと⼀緒に

    + AIレビュー + ⼈間レビュー ◦ 実装計画の作成 ← AIと⼀緒に + AIレビュー + ⼈間レビュー ◦ 実装 ← AIがやる + AIレビュー • 各ステップとも Claude Code に進めてもらう ◦ 草案作成 → 壁打ち → コミット/プッシュ/PR作成/レビュー対応 補⾜: Farmチームでは1機能を1⼈が FE + BE 両⽅担当
  7. メリット 事例紹介② なぜ開発体験が良いのか? • ステップ(1)の⼊⼒以外、全部レポ経由 • 全情報が1レポにあるので、Claude Codeが勝⼿に情報を集めて⾃⾛ • 結果

    ◦ 端末を開いて Claude Code と会話するだけで進む ◦ レポ外へのアクセス不要 → 速い ◦ → 開発体験がすごく良い ステップ 入力(どこから?) 出力(どこへ?) (1) DesignDoc作成 PRD / お客様問合せ / 過去の Design 等 (レポ外) Design Doc → レポ (2) 実装計画作成 Design Doc (レポ) 実装計画 → レポ (3) 実装 Design Doc + 実装計画 (レポ) ソースコード → レポ
  8. メリット 事例①と②を振り返る • 共通点 ◦ 全レイヤー / 全履歴が1レポにある ◦ →

    情報のアクセスコストがゼロ ◦ → 💡新参者でも知らない領域でも素早く動ける 事例① 事例② 主役メリット 履歴の集約 (時間軸) 情報の同居 (空間軸) 何が効いた 「昨日 / Android だけ」のヒントを 全レイヤーの履歴に当てて1発抽 出 入出力が全部レポ経由 → Claude Codeが情報を集めて自走 副次的な効用 知らない領域をAIが代読 会話だけで開発が進む
  9. デメリット 正直⾔ってあまりデメリットを感じてないが‧‧‧ • ⼊社5ヶ⽉だからかもしれない‧‧‧あるいは • 多分、2つの理由から ◦ (A) 先⼈たちの努⼒ で、デメリットが解消されている。

    ◦ (B) カウシェがまだ⼩さい ため、デメリットが顕在化していない。 ここから先は仮説。 「先⼈がどんな努⼒をしたか」「規模はどの程度か」 を考えることを、デメリットを考えることのヒントとしたい
  10. デメリット解消 (A) 先⼈たちの努⼒ - 構造の把握 モノレポは階層‧ファイルが増え、レポの構造が分かりにくく、全体を把握しにく くなりがち 先⼈たちの対策が、構造‧全体感の把握を助けている。 • CLAUDE.md

    で地図化 - 21ファイル (どこに何があるか / 規約) • docs/ を書く⽂化 - 全800以上のファイル (頻繁に更新) • API 仕様ファーストな開発 - protoに記述 (仕様=コードなので腐らない) これらは AI が情報へアクセスする上でも効く
  11. デメリット解消 (A) 先⼈たちの努⼒ - CI管理 複雑になりがちなCIへの対策: • 差分ビルド設定 - 172ワークフロー

    ◦ paths フィルターで変更したサービスの CI だけ起動 • マージの承認ルール - 複数の仕組みを組み合わせている ◦ upsidr/merge-gatekeeper ◦ PRに設定できる「承認⼈数」 ◦ Claude Code を⽤いた⾃動レビュー 〜 ⾃動承認
  12. まとめ メリット側: • 全レイヤー (Web/BE/Mobile/API/Infra)も、全履歴も、1レポに集約 • → AI の 情報アクセスコストがゼロ

    • → Claude Code が 勝⼿にレポから情報を集めて⾃⾛ • → 新参者でも、知らない領域でも 素早く動ける • → 開発者体験がすごく良い デメリット側: • (A) 先⼈たちの努⼒ - CLAUDE.md地図 / docs⽂化 / API仕様ファースト / pathsフィルター • (B) まだ規模が⼩さい - モノレポのコストはまだ顕在化していない