Mobile workspace structure, app/package boundaries, dependency direction, and reuse rules for CleanMateX Flutter apps. Use when deciding where mobile code belongs, creating shared packages, or reviewing architectural drift in cmx_mobile_apps.
Use this skill for mobile workspace structure and app/package responsibility decisions.
Read these before changing structure:
cmx_mobile_apps/docs/MOBILE_FOUNDATION_DECISIONS.mdcmx_mobile_apps/docs/Implementation_docs/customer_app_production_milestone_plan.mdRead cmx_mobile_apps/README.md when you need current-state facts about what already exists.
customer_app ships first, but shared foundations must still be built as packages.customer_app become a monolith.mobile_core: config, exceptions, logging, core constants, shared utilitiesmobile_l10n: localization setup, EN/AR resources, locale helpers, RTL helpersmobile_ui: theme, design tokens, reusable widgets, state UIsmobile_domain: shared entities and value objects, no HTTP/storage importsmobile_services: Dio client, interceptors, secure storage, session manager, connectivitymobile_testkit: shared mobile test helpers, fakes, harnessesPut code in a shared package when it is:
Keep code in customer_app when it is:
customer_app, staff_app, or driver_app._screen.dart, _provider.dart, _widget.dart, _card.dart, _view.dart, _model.dart, _repository.dart, and {model}_db_service.dart.Reject these:
mobile_coremobile_services or mobile_domain_repo.dart, _vw.dart, or ...WidgetWidgetWhen using this skill, state:
staff_app or driver_appcustomer_app