arcle 2.1.3
arcle: ^2.1.3 copied to clipboard
Agentic Flutter Development Platform — scaffold Clean Architecture projects with BLoC, GetX, or Riverpod, and configure AI agent support.
2.1.3 #
Changes #
- Removed arrow-key TUI menu — state management selection reverts to the simple numbered prompt (
1. BLoC / 2. GetX / 3. Riverpod). The ANSI raw-mode approach causedStdinExceptionon Windows terminals and added unnecessary complexity. The--stateflag continues to work as before for non-interactive use. interactive_menu.dartremoved.configure-aiagent selection also uses a numbered prompt.
2.1.2 #
Documentation #
- Updated README to reflect v2.1.x commands — removed unreachable commands, added
arcle configure-aiandarcle reviewsections, updated "What's New" from 2.0.0 to 2.1.x.
2.1.1 #
Bug Fixes #
- Fixed crash on Windows when launching the arrow-key state selection menu —
StdinException: Error setting terminal echo modewas thrown on certain Windows terminals (cmd.exe, some PowerShell hosts) that reportstdin.hasTerminal = truebut do not support raw mode. Raw-mode setup now happens before any rendering;StdinExceptionis caught inselect()and silently falls back to the numbered list (1. BLoC / 2. Riverpod / 3. GetX).
2.1.0 #
Improvements #
- Decoupled AI scaffolding from
arcle create— default project creation now generates only the Flutter Clean Architecture structure. AI agent config (.ai/,.claude/,.codex/,.gemini/,scripts/) is no longer generated automatically. - New command:
arcle configure-ai(alias:arcle agent-init) — interactive one-question wizard to scaffold AI agent context files for an existing project. Detects state management fromarcle.yaml; prompts if not found. Supports Claude Code, OpenAI Codex, Google Gemini, or all three. - Arrow-key TUI menu for state management selection — replaced the text-based prompt (typing
bloc/getx/riverpod) with an ANSI arrow-key navigable menu. Falls back to a numbered list automatically in CI/CD and non-TTY environments. The--stateflag still bypasses the menu for scripted use. - New command:
arcle review(aliases:arcle audit,arcle -r) — pre-commit quality gate that runs:dart analyze— static analysisdart format --output=none --set-exit-if-changed— format check- Missing-tests scan — checks only files changed in the current git diff; warns on any
lib/file with notest/counterpart flutter test(opt-in via--test)flutter test --coveragewith percentage report (opt-in via--coverage)- AI-assisted diff review via configured agent binary (opt-in via
--ai)
2.0.0 #
ARCLE Agentic Flutter Development Platform
New Commands #
arcle agent add <claude|codex|gemini|custom>— scaffold agent-specific config files (.claude/,.codex/,.gemini/,.custom-agent/)arcle agent remove <agent>— remove an agent configuration directoryarcle agent switch <agent>— setactive_agentin.ai/settings.yamlarcle agent list— list all configured AI agents in the projectarcle agent validate— validate that all required.ai/files existarcle ai init [--state]— generate.ai/project context & rules directoryarcle ai sync— sync.ai/settings.yamlstate fromarcle.yamlarcle ai validate— check all required.ai/config filesarcle ai doctor— diagnose AI configuration healtharcle upgrade [--force]— upgrade an existing ARCLE project to v2.0.0 (SDK, analysis, dimensions,.ai/, scripts)
Project Scaffolding #
- New projects now include
.ai/directory with 6 AI agent context files:settings.yaml,project-context.md,architecture-rules.md,coding-rules.md,security-rules.md,permissions.yaml - New projects now include Claude Code integration (
.claude/CLAUDE.md,.claude/settings.json) - New projects now include OpenAI Codex integration (
.codex/instructions.md,.codex/settings.json) - New projects now include Gemini integration (
.gemini/GEMINI.md,.gemini/settings.json) - New projects now include
scripts/setup.sh,scripts/setup.ps1,scripts/doctor.sh,scripts/doctor.ps1
Breaking Changes #
- Replaced
DimensionsTemplates.dimensions(state)with universalDimensionsTemplates.dimensions()— new implementation usesdart:uiPlatformDispatcher directly (works for all state management, no GetX dependency) - Updated
analysis_options.yamltemplate: replacedprefer_relative_importswithalways_use_package_imports, addedavoid_unnecessary_containers,prefer_single_quotes,unnecessary_const,unnecessary_new - Minimum Dart SDK raised from
^3.5.4to>=3.7.0 <4.0.0
Improvements #
- Generated project
pubspec.yamlSDK constraint is now automatically set to>=3.7.0 <4.0.0 buildCommonProjectFilesnow acceptsprojectNameparameter for proper AI context generation
1.0.4 #
- Reworked localization management around dedicated top-level commands:
arcle add locale <code>adds a single locale to the project; on first use it creates the localization infrastructure, and on later calls it appends the locale to the existing setup.arcle delete locale <code>removes a single locale's JSON file, updatessupportedLocales/isSupportedinapp_strings.dart, removes the GetX locale section when applicable, and cleans theassets/langs/pubspec entry when the last locale is removed.
- Added localization command aliases:
arcle add loc <code>,arcle delete loc <code>,arcle del locale <code>, andarcle del loc --<code>. - Added
--<code>flag shorthand for locale commands such asarcle add loc --myandarcle del loc --my. add localenow supports any ISO 639-1 locale code, with built-in country-code mappings for 60+ languages; unknown locales receive English-value placeholder JSON so the app stays runnable while translations are filled in.- Updated localization injection so feature keys are added to every JSON file under
assets/langs/and every// arcle:keys_*marker ingetx_localization.dart. - Added
arcle verify --check-featuresto scan every module underlib/features/and report missing data, domain, or presentation layer files for the project's state management. - Added
arcle verify --check-assetsto verify that every asset path declared inpubspec.yamlexists on disk. - Added
arcle verify --check-l10nto verify that each feature has its{feature}_titletranslation key present inassets/langs/en.json(BLoC/Riverpod) orlib/core/localization/getx_localization.dart(GetX). - Added
arcle verify --fullto run--check-features,--check-assets, and--check-l10nin a single pass.
1.0.3 #
Platform Configuration Improvements:
- [CRITICAL FIX] Added automatic iOS Podfile configuration with minimum deployment target of iOS 13.0.
- [CRITICAL FIX] Added automatic iOS Info.plist generation with essential permission descriptions (camera, photos, microphone, location, contacts, calendar).
- [CRITICAL FIX] Added post-install hooks to Podfile to ensure consistent iOS build settings across all targets.
- [CRITICAL FIX] Fixed iOS builds that would previously fail due to missing Info.plist permission descriptions.
- Added automatic iOS deployment target enforcement to prevent compatibility issues.
- Updated iOS configuration to match Android's rigorous platform setup standard.
- Both Android and iOS are now configured equally during project creation for production-ready apps.
- Created comprehensive
PLATFORM_CONFIGURATION_GUIDE.mdwith setup details, checklists, and troubleshooting.
Build & DI Improvements:
- Added persistent build version updates in
arcle build apkwith--version-nameand--version-code, which rewrite the target project'spubspec.yaml. - Added persistent environment updates in
arcle build apk --env prod|stag|local, which rewrite the target project'slib/core/env/env_factory.dart. - Added static 16 KB Android APK compatibility checks with
arcle verify --check-16kb. - Added separated
gen-diandauto-gen-dicommands with clear documentation on when/why to use each. - Added comprehensive DI_COMMANDS_GUIDE.md explaining command differences and use cases.
Developer Experience:
- Added optional short command aliases such as
new,feat,health,autodi,di,docs,ver,b,br, andbdwhile keeping all existing commands unchanged. - Platform configuration status now shown during project creation (Android & iOS setup feedback).
1.0.2 #
- Added
doctorcommand for ARCLE project health checks. - Added
doctor --fixfor safe ARCLE-owned repairs. - Added
verifycommand to run analyze, test, and BLoC codegen verification. - Added generated
core/utils/date_formatter.dartwith UTC/local conversion and UX-friendly date helpers. - Added automatic
intldependency injection to generated projects. - Updated generated notification service to be platform-safe across Android, iOS, macOS, and unsupported platforms.
- Updated generated permission service to use platform-aware permission handling and safe fallbacks.
- Updated README with platform notes for Android, iOS, macOS, and web behavior.
- Removed generated
lib/features/README.mdfrom new projects across all state management options.
1.0.1 #
- Fixed pubspec description length.
- Added usage example.