flutter_archx 2.1.0 copy "flutter_archx: ^2.1.0" to clipboard
flutter_archx: ^2.1.0 copied to clipboard

A production-ready CLI tool to scaffold enterprise-grade Flutter projects with a scalable, clean architecture template featuring GetX state management, Dio networking, secure storage, and modular feat [...]

Changelog #

2.1.0 #

Added #

  • --color / -c. Sets the palette written into the generated lib/app/theme/app_colors.dart. Takes a name — mono, blue, indigo, teal, green, purple, orange, red — or any hex code (--color "#0f766e", --color 0f766e, --color "#4af"). From a hex seed the tints, shades, 50–900 swatch, hue-rotated secondary, and readable button foregrounds are all derived. The wizard asks for it as step 7, with a Custom… choice for typing a hex code, and remembers the answer in ~/.flutter_archx.json. create --list now prints the palettes too.
  • AppColors.onPrimary, AppColors.primaryDarkMode, and AppColors.onPrimaryDarkMode in generated projects, wired into both themes' ColorScheme and button styles. The dark theme no longer reuses a brand color that a dark palette would make invisible against a dark scaffold.

Changed #

  • The default theme is now monochrome: black on a pure white background (#ffffff scaffold and surfaces, #111111 primary and body text, #e5e5e5 borders), inverting to white on near-black in dark mode. Pass --color blue for the palette 2.0.x generated. Colored palettes keep the slate neutrals.
  • Splash screen, drawer header, and AppButton's loading spinner take their foreground from colorScheme.onPrimary instead of hardcoded Colors.white, so a light brand color stays readable.
  • success, warning, error, and info are deliberately unchanged by the palette — a red error reads faster than a brand-tinted one.

2.0.1 #

Fixed #

  • Generated projects were stuck on the splash screen. SplashBinding registered SplashController with Get.lazyPut, but SplashView is a static branded screen that never touches controller, so the controller was never instantiated and the onReady() that routes the app onward never ran. It is now registered eagerly with Get.put.

2.0.0 #

Added #

  • Interactive create wizard. Running flutter-arch create with no flags now walks through project name, organization, description, preset, features, add-ons, and extras, then shows a summary and asks for confirmation before writing anything.
  • flutter-arch add feature <name>. Scaffolds a feature module inside an existing project (binding, controller, view, models, widgets) and registers its route in app_routes.dart and app_pages.dart — the two files you would otherwise edit by hand for every new screen. --no-route skips registration, --path overrides the route path. If the routing files can't be patched they are left untouched and the snippet to paste is printed.
  • Template presets — minimal, starter, enterprise, and custom (--preset).
  • Selectable features (--features): splash, onboarding, login, register, forgot password, home, bottom-navigation shell, notifications, profile, settings, and an end-to-end CRUD module with search, pagination, detail, create/edit, and delete.
  • Selectable add-ons (--add-ons): persisted theme switcher, localization (English + Arabic with RTL), offline banner, cached images with shimmer, build flavors, test scaffolding, GitHub Actions CI, and generated docs.
  • --list prints every preset, feature, and add-on with its id.
  • --yes skips all prompts for unattended and CI use.
  • Remembered organization: the wizard pre-fills your previous answer from ~/.flutter_archx.json. Unattended runs ignore it and stay deterministic.
  • --git / --no-git and --pub-get / --no-pub-get flags.

Changed #

  • Routing is now generated from the selection. app_routes.dart and app_pages.dart contain constants and GetPage entries only for the screens the project actually has — no dead routes, no unresolved imports.
  • pubspec.yaml is generated from the selection. Only add-ons that were chosen contribute dependencies.
  • Replaced the eight hardcoded HR modules (employees, attendance, payroll, leave, recruitment, reports) with the generic feature catalog above.
  • The app drawer is built from the selected screens instead of a fixed HR menu, and is omitted entirely when the bottom-navigation shell is used.
  • Initialization moved into lib/bootstrap.dart so every entry point shares one startup path; AppConfig.instance.init() is now actually called.
  • Git initialization now runs git init explicitly. Previously --no-git passed an unrelated --no-pub flag to flutter create and never affected git at all.

Fixed #

  • Generated projects did not compile on current Flutter: SystemUIOverlayStyle should be SystemUiOverlayStyle, and CardTheme should be CardThemeData.
  • ItemRepository and other repositories are plain classes rather than GetxService, so they can be mocked in tests without GetX lifecycle errors.
  • Selecting register or forgot_password without login now pulls login in automatically instead of generating links to a missing route.

1.0.0 #

  • Initial release
  • flutter-arch create <project_name> command
  • Enterprise architecture template with 8 feature modules
  • GetX state management and routing
  • Dio-based networking layer with interceptors
  • Secure and local storage wrappers
  • Clean Architecture layers (data, domain, features)
  • Shared widgets, components, dialogs, and layouts
  • Configurable organization identifier (--org)
  • Environment and flavor configuration support
1
likes
140
points
146
downloads

Documentation

API reference

Publisher

verified publisherineelakandan.in

Weekly Downloads

A production-ready CLI tool to scaffold enterprise-grade Flutter projects with a scalable, clean architecture template featuring GetX state management, Dio networking, secure storage, and modular feature-based structure.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

args, mason_logger, path

More

Packages that depend on flutter_archx