getx_clean_arch 0.1.6 copy "getx_clean_arch: ^0.1.6" to clipboard
getx_clean_arch: ^0.1.6 copied to clipboard

A CLI tool for scaffolding and managing Flutter projects with GetX and Clean Architecture.

0.1.6 #

  • Asset Generation Path Fix:
    • gen command now generates assets.dart into lib/core/utils/ instead of lib/common/utils/ to align with the project's Clean Architecture structure.

0.1.5 #

  • Localization (Lang Command):
    • New lang command added to synchronize localization configurations.
    • Automatically generates language constants and lists in AppConstants.dart.
    • Automatically creates missing translation files (e.g., ja.dart, es.dart) and registers them in app_translations.dart.
    • Updates the translations.dart barrel file to export all generated language files.
    • Integrated into init command to automatically setup localization on project creation.
  • Gemini Localization Improvements:
    • translate command now supports a --source (or -s) option to specify the source of truth for translations (e.g., getxcli translate --source vi).
    • Improved Gemini prompt for better accuracy and context.
  • Localization Architecture:
    • Moved supportedLocales to a dedicated lib/core/constants/support_language.dart file for better organization.
    • Updated templates (appConstants, supportLanguage, localeHelper, App) to be more dynamic and handle custom locales efficiently.
    • Fixed path escaping issues in templates to ensure correct import paths in generated projects.

0.1.4 #

  • Localization (Gemini AI):
    • New translate command added to automatically translate localization files in lib/core/translations/ using Gemini AI.
    • Utilizes the Gemini CLI for high-quality, context-aware translations.
  • Version Sync & Refactoring:
    • Synced CLI functionality with the latest features from the exo version.
    • Internal refactoring: Replaced all package:exo references with package:getx_clean_arch for consistency.
  • Infrastructure & CLI Improvements:
    • Updated init command with additional support for storage service selection (--storage SP|GS).
    • Enhanced create command with improved auto-routing and barrel file exports.
    • Fixed various template issues and import errors for smoother initialization.

0.1.3 #

  • Android Build Configuration:
    • init command now automatically sets up android/app/build.gradle.kts and android/settings.gradle.kts.
    • Replaces legacy Groovy configurations with modern Kotlin DSL templates.
    • Includes boilerplate for key.properties, signing configs, and versioning based on Flutter build arguments.
  • Flutter Launcher Icons:
    • Added standard flutter_launcher_icons configuration to pubspec.yaml during initialization.
    • Automatically adds flutter_launcher_icons to dev_dependencies.
  • Pubspec Optimization:
    • Cleaned up pubspec.yaml generation by stripping instructional comments.
    • Added firebase_messaging, firebase_analytics, and firebase_crashlytics to default dependencies.
    • Implemented dependency grouping to organize all #firebase related packages together.

0.1.2 #

  • Maintenance & Dependency Updates:
    • Upgraded core CLI dependencies to their latest versions for improved stability and performance.
    • Updated args, mason_logger, path, dart_style, and dcli (major upgrade to v8).

0.1.1 #

  • Named Nested Barrel Files:
    • create:feature now generates named barrel files (<folder_name>.dart) for each subdirectory (e.g., bindings/bindings.dart) instead of generic index.dart files.
    • Updated the main feature barrel template to automatically export these named sub-barrels, improving project clarity and navigation.
    • Ensures that every directory in a new feature follows the project's architectural standards for exports.

0.1.0 #

  • Aggressive Project Cleanup:
    • Automatically removes all boilerplate generated by flutter_flavorizr (main_*.dart, flavors.dart, app.dart, and the pages/ directory).
    • Ensures a 100% pure Clean Architecture structure without redundant Flavorizr files.
  • Template Enforcement:
    • Forced overwriting for app.dart and main.dart to ensure the GetX/Clean Architecture templates are always applied, even if secondary tools attempt to create their own versions.

0.0.9 #

  • Initialization Flow Optimization:
    • Reordered init command steps to ensure flutter_flavorizr runs after dependencies and Firebase placeholders are created, but before the custom Clean Architecture setup.
    • This prevents Flavorizr from overwriting main.dart and app.dart with its own boilerplate.
    • Added automatic deletion of the generated lib/flavor.dart file to maintain a clean project structure.
  • Firebase Configuration:
    • _createFirebaseConfig now runs earlier to provide the necessary files (google-services.json, GoogleService-Info.plist) required by Flavorizr for platform linking.

0.0.8 #

  • Robust Route Registration:
    • create:feature now uses feature-specific imports to verify registration, preventing false positives from commented-out code in templates.
    • Improved insertion logic using class markers (abstract class Routes {) for more reliable code generation.
    • Changed route registration logs from detail to success for better visibility.
  • Flavorizr Fixes:
    • Fixed "No terminal attached to stdout" error by adding the -f (force) flag to skip confirmation prompts.
    • Upgraded _runFlavorizr to use Process.start for real-time output streaming and better user feedback.
  • Template Cleanup:
    • Refactored app_pages.dart and app_routes.dart templates to be more minimal and less prone to registration conflicts.

0.0.7 #

  • Router & GetX Integration:
    • init command now always adds the get dependency, fulfilling the requirement for state management even when using GoRouter.
    • create:feature now automatically registers new features in app_pages.dart and app_routes.dart for both GetX and GoRouter.
  • Enhanced Flavorizr setup:
    • Moved flutter_flavorizr to dev_dependencies.
    • Automatically runs flutter pub get after appending flavorizr configuration to ensure the environment is ready.
    • Uses non-interactive execution (yes | dart run flutter_flavorizr) to improve automation reliability.
    • Improved error reporting and logging for flavorizr execution.
  • Template Fixes:
    • Fixed GoRouter app_pages.dart template to correctly import app_routes.dart and removed redundant Routes class definition.

0.0.6 #

  • Router Selection:
    • init command now supports --router (-r) option to choose between getx (default) and go (GoRouter).
    • Added GoRouter templates: app_routes.dart, app_pages.dart, and app.dart with MaterialApp.router.
  • Enhanced Dependencies:
    • init command now automatically adds flutter_localizations (SDK), firebase_core, and google_fonts.
    • Router-specific dependency: get for GetX or go_router for GoRouter.
  • Bug Fix:
    • Fixed path resolution issue when creating new projects - now uses absolute path to ensure all commands run correctly in the new project directory.

0.0.5 #

  • Theme Generation:
    • init command now generates lib/common/themes/ with m_color.dart, m_text_theme.dart, m_theme.dart.
    • Includes complete light/dark theme configuration with Material 3 and GoogleFonts support.
  • Firebase & Flavorizr Setup:
    • init command now creates .firebase/dev/ and .firebase/prod/ with google-services.json and GoogleService-Info.plist placeholders.
    • Generates lib/firebase_options.dart with flavor-aware configuration.
    • Automatically appends flavorizr configuration to pubspec.yaml.
    • Runs flutter pub run flutter_flavorizr after setup.
  • Cleanup:
    • Removed unused lib/core/style folder generation.

0.0.4 #

  • App Entry Point Generation:
    • init command now generates lib/app.dart with GetMaterialApp configuration.
    • init command now overwrites lib/main.dart with proper service initialization template.
    • Supports automatic package name detection from pubspec.yaml.

0.0.3 #

  • Router Support:
    • init command now generates lib/routes with app_routes.dart and app_pages.dart.
    • create:feature automatically registers new pages and routes in the Router files.

0.0.2 #

  • Enhanced Init Command:
    • Added support for creating a new Flutter project from scratch: getxcli init <project_name>.
    • Automatically adds get, dio, flutter_flavorizr dependencies.
    • Configures Clean Architecture structure in the new project.

0.0.1 #

  • Initial Release:
    • Project Scaffolding: init command to setup Clean Architecture structure (Core, DI, Theme).
    • Feature Generation: create:feature command to generate Modules (Bindings, Controllers, Pages, Models, Widgets).
    • Asset Management: generate:assets command to scan and generate type-safe asset constants.
    • Utilities:
      • refresh: Shortcut for flutter clean && flutter pub get.
      • git:branch: Shortcut for creating new git branches.
      • run:flavor: Shortcut for running specific environment flavors.
    • Router Support: Integrated with GetX router.
1
likes
160
points
172
downloads

Documentation

API reference

Publisher

verified publisherrithamto.site

Weekly Downloads

A CLI tool for scaffolding and managing Flutter projects with GetX and Clean Architecture.

Repository (GitHub)
View/report issues

Topics

#cli #flutter #getx #clean-architecture #generator

License

MIT (license)

Dependencies

args, dart_style, dcli, dio, flutter, get, mason_logger, path, recase, yaml

More

Packages that depend on getx_clean_arch