- Flutter SDK: 3.35.4
- CocoaPods: 1.16.2
- JVM: 17+
- cd to root folder of project
- Run
make gen_env - Run
make sync - Run app via IDE
- Enjoy!
// table of content
- 1. Reset Project
- 2. Init Project
- 3. Config Firebase
- 4. Config Lefthook
- 5. Config Fastlane
- 6. Generate All Pages
- 7. Generate App Colors
- 8. Generate All APIs
- 9. Generate UI from Figma
- 10. Other Tools
- Run
make resetto clean up example code and reset project to initial state
- Run
make gen_envto generate setting_initial_config.md file - Fill the JSON values in the setting_initial_config.md file
- Run
make init
- Android: Paste your google services files to:
- iOS: Paste your google services files to:
- Install lefthook
- Run
lefthook install - Update commit message rule: commit-msg.sh and check_commit_message.sh
- Update branch name rule: pre-commit.sh and bitbucket-pipelines/pull-requests
- Install Fastlane
- Run
make fastlane_update_plugins - Put the .p8 file in folder ios
- Update config values in:
- Fill all pages need to be generated in lib/ui/page/input_pages.md file
- Run
make gapto generate all empty pages including*.freezed.dart,*.gr.dartfiles without running the commandmake fb
- Make sure Figma MCP is running
- Use the generate_app_colors_prompt with [YOUR_FIGMA_LINK] replaced by your Figma link to generate app colors in lib/resource/app_colors.dart file
- Place your OpenAPI JSON specification file in the
docs/api_docfolder - Run
make gen_apito generate API methods and model classes with default settings (append mode, using docs/api_doc) - Run
make fbto generate the necessary build files after API generation
# Basic usage (uses default input_path=docs/api_doc, replace=false)
make gen_api
# Generate specific APIs only
make gen_api apis=get_v1/users,post_v1/auth,get_v2/profile
# Replace all existing generated code instead of appending
make gen_api replace=true
# Use custom input path
make gen_api input_path=custom/swagger/docs
# Use custom output path
make gen_api output_path=lib/custom/api
# Combine multiple options
make gen_api input_path=swagger/docs replace=true apis=get_v1/search,post_v2/city- API Methods: Added to
lib/data_source/api/app_api_service.dart(after the generated marker) - Model Classes: Created in
lib/model/api/folder with Freezed annotations - Nested Classes: Automatically generated for complex response structures
- The tool uses
_authAppServerApiClientby default for all APIs - Manually modify methods that should use
_noneAuthAppServerApiClientif needed - Generated code is marked with
// GENERATED CODE - DO NOT MODIFY OR DELETE THIS COMMENT - In append mode (default), new methods are added without removing existing ones
- In replace mode, all code below the marker is replaced
- Make sure Figma MCP is running
- Download all images used in the Figma design to assets/images folder
- Run
make gato generate all assets in app_images.dart file - Fill screen spec in *_spec.md file in the page folder
- Attach the image (.png) of design from Figma to the /design folder (same level as the *_test.dart file in the widget_test folder)
- Use the generate_page_prompt with:
- [YOUR_FIGMA_LINK] replaced by your Figma link to generate
- [SNAKE_CASE_SCREEN_NAME] replaced by your screen name in snake_case
- Attach the image (.png) of design from Figma to the prompt