Skip to main content

🏆 プロジェクト構造最適化ガイド

🎯 目的

Nekomataプロジェクトの構造をAI開発(Claude Code等)に最適化し、効率的で保守性の高い開発環境を構築する。

📁 推奨プロジェクト構造

モノレポ構成

contents-print/
├── apps/ # フロントエンドアプリケーション
│ ├── brands/ # ブランド別アプリ
│ │ ├── neko/ # 猫ブランド
│ │ │ ├── web/ # Next.js Webアプリ
│ │ │ └── mobile/ # Expo モバイルアプリ
│ │ └── dog/ # 犬ブランド(将来)
│ └── admin/ # 管理系アプリ
│ └── dashboard/ # 管理画面
├── services/ # バックエンドサービス
│ ├── api/ # API層
│ │ ├── bff-workers/ # Backend for Frontend
│ │ └── webhooks/ # Webhook処理
│ └── integrations/ # 外部サービス連携
│ ├── shopify/ # Shopify API
│ └── firebase/ # Firebase連携
├── factory/ # 工場システム
│ └── electron-app/ # デスクトップアプリ
├── packages/ # 共通ライブラリ
│ ├── shared/ # 共通ユーティリティ
│ └── ui/ # UIコンポーネント
├── tools/ # 開発ツール
└── docs/ # ドキュメント

🔧 AI開発最適化の原則

1. 明確な役割分離

  • 各ディレクトリは単一責任を持つ
  • フォルダ名から機能が推測できる
  • 依存関係が明確

2. 一貫した命名規則

  • ケバブケース使用(例:user-profile)
  • 機能を表す明確な名前
  • 省略語の統一

3. 適切な抽象化

  • 共通コードの packages/ への配置
  • ブランド固有とブランド横断の分離
  • 環境別設定の明確な管理

📊 構造の利点

開発効率の向上

  • 構造の理解: 新規開発者が短時間で全体を把握
  • 機能追加: 適切な場所への配置が明確
  • デバッグ: 問題の発生箇所を特定しやすい

保守性の向上

  • 変更の影響範囲: 局所化された変更
  • テスト: 機能別の独立したテスト
  • 依存関係: 明確で管理しやすい関係

スケーラビリティ

  • 新ブランド追加: brands/ 下に新ディレクトリを作成
  • 新機能追加: 既存構造に沿った配置
  • チーム拡大: 責任範囲が明確

🛠️ 実装ガイドライン

ディレクトリ作成順序

  1. 基本構造: apps/, services/, packages/ の作成
  2. ブランド構造: brands/neko/ の設定
  3. 共通ライブラリ: packages/shared の整備
  4. 開発ツール: tools/ とスクリプトの配置

ファイル配置ルール

  • 設定ファイル: 各アプリのルートに配置
  • 共通設定: packages/shared/configs に配置
  • 型定義: packages/shared/types に配置
  • ユーティリティ: packages/shared/utils に配置

📋 移行プラン

Phase 1: 基盤整備(1週間)

  • 基本ディレクトリ構造の作成
  • 既存コードの分類・整理
  • 共通ライブラリの抽出

Phase 2: 構造最適化(1週間)

  • ブランド別構造への移行
  • 共通コンポーネントの整理
  • 設定ファイルの統一

Phase 3: 品質向上(1週間)

  • TypeScript設定の統一
  • Linting・Formatting ルールの適用
  • CI/CDパイプラインの最適化

⚠️ 注意事項

避けるべき構造

  • 深すぎる階層(3階層まで推奨)
  • 曖昧な名前(util, misc, common等)
  • 単一ファイルの巨大化

品質維持のために

  • 定期的な構造レビュー
  • 命名規則の徹底
  • 依存関係の監視

関連ドキュメント: システム設計 | 開発環境