getx_clean_arch 0.1.6
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:
gencommand now generatesassets.dartintolib/core/utils/instead oflib/common/utils/to align with the project's Clean Architecture structure.
0.1.5 #
- Localization (Lang Command):
- New
langcommand 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 inapp_translations.dart. - Updates the
translations.dartbarrel file to export all generated language files. - Integrated into
initcommand to automatically setup localization on project creation.
- New
- Gemini Localization Improvements:
translatecommand 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
supportedLocalesto a dedicatedlib/core/constants/support_language.dartfile 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.
- Moved
0.1.4 #
- Localization (Gemini AI):
- New
translatecommand added to automatically translate localization files inlib/core/translations/using Gemini AI. - Utilizes the Gemini CLI for high-quality, context-aware translations.
- New
- Version Sync & Refactoring:
- Synced CLI functionality with the latest features from the
exoversion. - Internal refactoring: Replaced all
package:exoreferences withpackage:getx_clean_archfor consistency.
- Synced CLI functionality with the latest features from the
- Infrastructure & CLI Improvements:
- Updated
initcommand with additional support for storage service selection (--storage SP|GS). - Enhanced
createcommand with improved auto-routing and barrel file exports. - Fixed various template issues and import errors for smoother initialization.
- Updated
0.1.3 #
- Android Build Configuration:
initcommand now automatically sets upandroid/app/build.gradle.ktsandandroid/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_iconsconfiguration topubspec.yamlduring initialization. - Automatically adds
flutter_launcher_iconstodev_dependencies.
- Added standard
- Pubspec Optimization:
- Cleaned up
pubspec.yamlgeneration by stripping instructional comments. - Added
firebase_messaging,firebase_analytics, andfirebase_crashlyticsto default dependencies. - Implemented dependency grouping to organize all
#firebaserelated packages together.
- Cleaned up
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, anddcli(major upgrade to v8).
0.1.1 #
- Named Nested Barrel Files:
create:featurenow generates named barrel files (<folder_name>.dart) for each subdirectory (e.g.,bindings/bindings.dart) instead of genericindex.dartfiles.- 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 thepages/directory). - Ensures a 100% pure Clean Architecture structure without redundant Flavorizr files.
- Automatically removes all boilerplate generated by
- Template Enforcement:
- Forced overwriting for
app.dartandmain.dartto ensure the GetX/Clean Architecture templates are always applied, even if secondary tools attempt to create their own versions.
- Forced overwriting for
0.0.9 #
- Initialization Flow Optimization:
- Reordered
initcommand steps to ensureflutter_flavorizrruns after dependencies and Firebase placeholders are created, but before the custom Clean Architecture setup. - This prevents Flavorizr from overwriting
main.dartandapp.dartwith its own boilerplate. - Added automatic deletion of the generated
lib/flavor.dartfile to maintain a clean project structure.
- Reordered
- Firebase Configuration:
_createFirebaseConfignow 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:featurenow 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
detailtosuccessfor better visibility.
- Flavorizr Fixes:
- Fixed "No terminal attached to stdout" error by adding the
-f(force) flag to skip confirmation prompts. - Upgraded
_runFlavorizrto useProcess.startfor real-time output streaming and better user feedback.
- Fixed "No terminal attached to stdout" error by adding the
- Template Cleanup:
- Refactored
app_pages.dartandapp_routes.darttemplates to be more minimal and less prone to registration conflicts.
- Refactored
0.0.7 #
- Router & GetX Integration:
initcommand now always adds thegetdependency, fulfilling the requirement for state management even when using GoRouter.create:featurenow automatically registers new features inapp_pages.dartandapp_routes.dartfor both GetX and GoRouter.
- Enhanced Flavorizr setup:
- Moved
flutter_flavorizrtodev_dependencies. - Automatically runs
flutter pub getafter 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.
- Moved
- Template Fixes:
- Fixed GoRouter
app_pages.darttemplate to correctly importapp_routes.dartand removed redundantRoutesclass definition.
- Fixed GoRouter
0.0.6 #
- Router Selection:
initcommand now supports--router(-r) option to choose betweengetx(default) andgo(GoRouter).- Added GoRouter templates:
app_routes.dart,app_pages.dart, andapp.dartwithMaterialApp.router.
- Enhanced Dependencies:
initcommand now automatically addsflutter_localizations(SDK),firebase_core, andgoogle_fonts.- Router-specific dependency:
getfor GetX orgo_routerfor 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:
initcommand now generateslib/common/themes/withm_color.dart,m_text_theme.dart,m_theme.dart.- Includes complete light/dark theme configuration with Material 3 and GoogleFonts support.
- Firebase & Flavorizr Setup:
initcommand now creates.firebase/dev/and.firebase/prod/withgoogle-services.jsonandGoogleService-Info.plistplaceholders.- Generates
lib/firebase_options.dartwith flavor-aware configuration. - Automatically appends
flavorizrconfiguration topubspec.yaml. - Runs
flutter pub run flutter_flavorizrafter setup.
- Cleanup:
- Removed unused
lib/core/stylefolder generation.
- Removed unused
0.0.4 #
- App Entry Point Generation:
initcommand now generateslib/app.dartwithGetMaterialAppconfiguration.initcommand now overwriteslib/main.dartwith proper service initialization template.- Supports automatic package name detection from
pubspec.yaml.
0.0.3 #
- Router Support:
initcommand now generateslib/routeswithapp_routes.dartandapp_pages.dart.create:featureautomatically 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_flavorizrdependencies. - Configures Clean Architecture structure in the new project.
- Added support for creating a new Flutter project from scratch:
0.0.1 #
- Initial Release:
- Project Scaffolding:
initcommand to setup Clean Architecture structure (Core, DI, Theme). - Feature Generation:
create:featurecommand to generate Modules (Bindings, Controllers, Pages, Models, Widgets). - Asset Management:
generate:assetscommand to scan and generate type-safe asset constants. - Utilities:
refresh: Shortcut forflutter 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.
- Project Scaffolding: