body method

  1. @override
String body(
  1. String baseName,
  2. String className
)
override

Defines the actual body code. path is passed relative to lib, baseName is the filename, and className is the filename converted to Pascal case.

実際の本体コードを定義します。pathlibからの相対パス、baseNameにファイル名が渡され、classNameにファイル名をパスカルケースに変換した値が渡されます。

Implementation

@override
String body(String baseName, String className) {
  return r"""
## フォルダ・ファイル構成

アプリケーション開発で利用するフォルダ・ファイル構成を下記に記載。

```
/
├── .cursor/ # カーソルの設定ファイル
│   └── rules/ # カーソルルールの設定ファイル
│       ├── docs/ # Masamuneフレームワーク向けのドキュメントフォルダ
│       │   ├── masamune.mdc # Masamuneフレームワーク向けのドキュメント
│       │   └── ...
│       ├── designs/ # 設計書用のフォルダ
│       │   ├── model_design.mdc # Model設計書作成用のルール
│       │   ├── theme_design.mdc # Theme設計書作成用のルール
│       │   ├── metadata_design.mdc # MetaData設計書作成用のルール
│       │   ├── plugin_design.mdc # Plugin設計書作成用のルール
│       │   ├── controller_design.mdc # Controller設計書作成用のルール
│       │   ├── page_design.mdc # Page設計書作成用のルール
│       │   └── ...
│       └── impls/ # 実装用のフォルダ
│           ├── model_impl.mdc # Model実装用のルール
│           ├── theme_impl.mdc # Theme実装用のルール
│           ├── metadata_impl.mdc # MetaData実装用のルール
│           ├── plugin_impl.mdc # Plugin実装用のルール
│           ├── controller_impl.mdc # Controller実装用のルール
│           ├── page_impl.mdc # Page実装用のルール
│           └── ...
├── .github/ # Github向けの設定ファイル
│   └── workflows/ # GithubActions用のワークフロー
│       ├── build_android_[ApplicationID].yaml
│       ├── build_ios_[ApplicationID].yaml
│       └── build_web_[ApplicationID].yaml
├── android/ # Android向けの設定ファイル
│   ├── app/
│   │   ├── ...
│   │   ├── appkey_fingerprint.txt # keystoreのフィンガープリント
│   │   ├── appkey_keyhash.txt # keystoreのキーハッシュ
│   │   ├── appkey_password.key # keystoreのパスワード
│   │   ├── appkey.keystore # keystore
│   │   ├── appkey.p12 # keystoreをp12に変換したファイル
│   │   └── google-services.json # Firebaseの設定ファイル(必要な場合)
│   ├── ...
│   ├── config.properties # build.gradle用の設定
│   ├── key.properties # keystore用の設定
│   └── xxxxxx.json # GooglePlayデプロイ用のサービスアカウントキー
├── ios/ # IOS向けの設定ファイル
│   ├── ...
│   ├── Runner/
│   │   ├── ...
│   │   ├── GoogleService-Info.plist # Firebaseの設定ファイル(必要な場合)
│   │   └── Info.plist # IOS用プロジェクトの設定ファイル
│   ├── ...
│   ├── AuthKey_xxxx.p8 # AppStoreデプロイ用の認証キー
│   ├── CertificateSigningRequest.certSigningRequest # CertificateSigningRequest用のファイル
│   ├── development.cer # 開発用Certificateファイル
│   ├── development.p12 # 開発用Certificateをp12に変換したファイル
│   ├── development.pem # 開発用Certificateをpemに変換したファイル
│   ├── ExportOptions.plist # デプロイ用の設定ファイル
│   ├── ios_certificate_password.key # 開発用Certificateを変換する際のパスワード
│   └── ios_enterprise.key # CertificateSigningRequestを出力した際のキー
├── web/ # Web向けの設定ファイル
│   ├── ...
│   └── index.html # WebのトップページのHTML
├── assets/ # 画像や映像、テキスト、音楽などのアセットファイルの格納フォルダ
│   └── images/ # 画像の格納フォルダ
│   │   └── ...
│   └── videos/ # 映像の格納フォルダ
│   │   └── ...
│   └── texts/ # テキストの格納フォルダ
│   │   └── ...
│   └── sounds/ # 音楽の格納フォルダ
│       └── ...
├── fonts/ # フォントファイルの格納フォルダ
│   └── ...
├── documents/ # 開発に関わるドキュメント類の格納フォルダ
│   ├── store/ # ストア用の画像
│   │   └── ...
│   ├── designs/ # AIが出力する設計書を格納するフォルダ
│   │   ├── model_design.md # **Model設計書**
│   │   ├── theme_design.md # **Theme設計書**
│   │   ├── metadata_design.md # **MetaData設計書**
│   │   ├── plugin_design.md # **Plugin設計書**
│   │   ├── controller_design.md # **Controller設計書**
│   │   ├── page_design.md # **Page設計書**
│   │   └── ...
│   └── ...
├── firebase/ # Firebase(バックエンド)用の設定フォルダ
│   ├── ...
│   ├── functions/ # CloudFunctions for Firebaseの設定フォルダ
│   │   ├── src/ # FunctionsのTypeScript実装ファイル
│   │   │   ├── functions/ # 独自のバックエンド関数実装フォルダ
│   │   │   │   └── ...
│   │   │   └── index.ts # CloudFunctions for Firebaseで利用する全関数設定ファイル
│   │   ├── test/ # Functionsのテストファイル
│   │   │   └── ...
│   │   ├── ...
│   │   └── .env # Functions用環境変数ファイル
│   ├── hosting/ # Firebase Hostingの設定フォルダ
│   │   ├── ja/ # 利用規約やプライバシーポリシーページ(日本語)
│   │   │   └── ...
│   │   ├── en/ # 利用規約やプライバシーポリシーページ(英語)
│   │   │   └── ...
│   │   ├── zh/ # 利用規約やプライバシーポリシーページ(簡体字)
│   │   │   └── ...
│   │   └── index.html # Firebase用Indexファイル
│   ├── ...
│   ├── .firebaserc # FirebaseプロジェクトIDが保管されているファイル
│   ├── firestore.indexes.json # FirestoreのIndex設定ファイル
│   ├── firestore.rules # Firestoreのルール設定ファイル
│   ├── storage.rules # CloudStorage for Firebaseのルール設定ファイル
│   └── firebase.json # Firebaseプロジェクト設定
├── lib/ # Flutter/Dart用実装フォルダ
│   ├── adapters/ # 各種独自`Adapter`を作成する場合はここに格納
│   │   └── my_model_adapter.dart
│   ├── dataconnect/ # FirebaseDataConnect用自動生成フォルダ
│   │   └── ...
│   ├── controllers/ # `Controller`を作成する場合はここに格納
│   │   ├── upload.dart
│   │   └── upload.m.dart # 自動生成ファイル
│   ├── functions/ # `Functions`を作成する場合のDartコードはここに格納
│   │   └── func.dart
│   ├── enums/ # `Enum`を実装する場合はここに格納
│   │   ├── age.dart
│   │   └── gender.dart
│   ├── modals/ # 独自`Modal`を作成する場合はここに格納
│   │   ├── subscription.dart
│   │   └── start.dart
│   ├── models/ # `Model`を実装する場合はここに格納
│   │   ├── user.dart
│   │   ├── user.g.dart # 自動生成ファイル
│   │   ├── user.freezed.dart # 自動生成ファイル
│   │   ├── user.m.dart # 自動生成ファイル
│   │   ├── product.dart
│   │   ├── product.m.dart # 自動生成ファイル
│   │   ├── product.freezed.dart # 自動生成ファイル
│   │   └── product.m.dart # 自動生成ファイル
│   ├── pages/ # `Page`を実装する場合はここに格納
│   │   ├── profile.dart
│   │   ├── profile.page.dart # 自動生成ファイル
│   │   ├── home.dart
│   │   ├── home.page.dart # 自動生成ファイル
│   │   ├── index.dart
│   │   └── index.page.dart # 自動生成ファイル
│   ├── redirects/ # `RedirectQuery`を実装する場合はここに格納
│   │   └── login_required.dart
│   ├── widgets/ # `Page`以外の`Widget`を実装する場合はここに格納
│   │   ├── header.dart
│   │   ├── user_tile.dart
│   │   └── footer.dart
│   ├── adapter.dart # `Adapter`の定義を設定するファイル
│   ├── config.dart # その他の設定ファイル
│   ├── firebase_options.dart # Firebaseの設定ファイル(必要な場合)
│   ├── localize.dart # `Localization`の設定ファイル
│   ├── localize.localize.dart # `Localization`設定の自動生成ファイル
│   ├── theme.dart # `Theme`の設定ファイル
│   ├── theme.theme.dart # `Theme`設定の自動生成ファイル
│   ├── router.dart # `Router`の設定ファイル
│   └── main.dart # Dartのエントリポイント
├── test/ # Flutter/Dart用テストコードフォルダ
│   ├── controllers/ # `Controller`のテストはここに格納
│   │   └── upload.dart
│   ├── pages/ # `Page`のテストはここに格納
│   │   ├── profile.dart
│   │   ├── home.dart
│   │   └── index.dart
│   └── widgets/ # `Page`以外の`Widget`のテストはここに格納
│       ├── header.dart
│       ├── user_tile.dart
│       └── footer.dart
├── ...
├── requirements.md # **要件定義書**
├── katana_secrets.yaml # `Masamuneフレームワーク`で利用するセキュアな設定
├── katana.yaml # `Masamuneフレームワーク`で利用する設定
├── pubspec.yaml # Flutterの設定
├── pubspec_overrides.yaml # Flutterのローカル限定の上書き設定
└── README.md # プロジェクトのReadMe
```
""";
}