monorepo 構成
フォルダ構成上級
monorepoは強力ですが、その規模と複雑さでAIコーディングアシスタントを圧倒する可能性があります。この構成パターンはClaude Codeがアプリと共有パッケージ間を効率的にナビゲートできるようmonorepoを整理する方法を示します。鍵となるのは階層的CLAUDE.mdファイルです -- 共有コンベンションのためのルートファイルとパッケージ固有ルールのための個別ファイル。
monorepoTurborepopnpmワークスペースフォルダ構成
パターンコード
my-monorepo/
├── apps/
│ ├── web/ # Next.js frontend
│ │ ├── src/
│ │ ├── CLAUDE.md # Web-specific rules
│ │ ├── package.json
│ │ └── tsconfig.json
│ ├── api/ # Express/Fastify backend
│ │ ├── src/
│ │ ├── CLAUDE.md # API-specific rules
│ │ ├── package.json
│ │ └── tsconfig.json
│ └── mobile/ # React Native app
│ ├── src/
│ ├── CLAUDE.md
│ └── package.json
├── packages/
│ ├── shared/ # Shared types & utils
│ │ ├── src/
│ │ │ ├── types/ # Cross-app type definitions
│ │ │ ├── utils/ # Shared helper functions
│ │ │ └── index.ts # Barrel export
│ │ └── package.json # @repo/shared
│ ├── ui/ # Shared UI component library
│ │ ├── src/
│ │ │ ├── Button/
│ │ │ ├── Input/
│ │ │ └── index.ts
│ │ ├── CLAUDE.md # Component conventions
│ │ └── package.json # @repo/ui
│ └── config/ # Shared configs
│ ├── eslint/
│ ├── tsconfig/
│ └── tailwind/
├── tooling/ # Build & dev tooling
│ ├── scripts/
│ └── docker/
├── CLAUDE.md # Root: shared conventions
├── turbo.json # Turborepo pipeline
├── pnpm-workspace.yaml
└── package.json
# Root CLAUDE.md:
# - Use pnpm only. Never npm or yarn.
# - Import between packages via @repo/* alias.
# - All packages use TypeScript strict mode.
# - Run single package: pnpm --filter @repo/api test
# - Run affected: pnpm turbo test --filter=...[HEAD~1]
# - Dependency graph:
# packages/shared → packages/ui → apps/web
# packages/shared → apps/api
# packages/shared → apps/mobile
このパターンをプロジェクト設定にコピーして適用してください。
実行プレビュー
monorepo 構成
monorepo 構成について
Claude Codeパターンは、複雑な開発シナリオに対応するための実証済みアーキテクチャ設計とワークフロー構造です。monorepo 構成は上級レベルのフォルダ構成パターンで、プロジェクトに合わせて応用できるテスト済みの再現可能なアプローチを提供し、より効率的で一貫した成果を実現します。