Newer
Older
SmTIAS-Capture / .claude / rules / project-structure.md

paths: ["lib/", "test/"]

プロジェクト構成ルール (Project Structure)

lib/ 以下のディレクトリ構成とファイル配置ルールを定める.コードを追加・移動するときは本ルールに従うこと. アーキテクチャの背景・設計判断は SPEC_03 アーキテクチャと非機能 を参照する.

ディレクトリ構造 (Directory Structure)

lib/
├── main.dart                  # エントリポイント,Provider 登録
├── app.dart                   # MaterialApp,テーマ
├── providers/                 # 状態管理(ChangeNotifier)
├── screens/                   # 画面(Scaffold 単位)
├── widgets/                   # 再利用可能な UI 部品
└── services/                  # 外部リソースとの橋渡し

配置ルール (Placement Rules)

  • 1 ファイル 1 クラス を原則とする.ファイル名はクラス名の snake_case 版
  • screens/: 各画面に対応する 1 ファイル.画面固有のロジックは対応する Provider に置く
  • widgets/: 複数画面で再利用する UI 部品,または画面ファイルが大きくなった場合に切り出す部品
  • providers/: 画面または機能ごとに 1 ファイル.ChangeNotifier を継承する
  • services/: プラットフォーム API やファイルシステムへのアクセスを担う

テストの配置 (Test Placement)

テストコードの配置・命名規則は testing ルール を参照する(test/ 以下に対象と同じ階層で配置する).