All notable changes to FlutterForge are documented in this file.
Format follows Keep a Changelog. Versioning follows Semantic Versioning.
.claude-plugin/marketplace.json— marketplace catalog manifest enabling installation via/plugin marketplace add Yakoub-ai/flutterforge+/plugin install flutterforge@flutterforge.- CI validation in
plugin_lint.yml: new steps assertmarketplace.jsonexists, parses as JSON, and matchesplugin.jsononname,version, andsourcepath — prevents silent regression. - skills.sh compatibility docs and CI validation via
npx skills add . --list, so FlutterForge skills are discoverable by the openskillsCLI for Claude Code, Codex, Cursor, and other supported agents.
- README
## Installsection restructured: marketplace install is now Option A (recommended); local clone via--plugin-diris Option B (contributors / offline). - Removed the repo-local
skills.shinstaller in favor of the officialnpx skills add Yakoub-ai/flutterforgeworkflow.
- Claude Code plugin validation now passes after quoting command argument hints that contain YAML-sensitive characters.
- Blocking hooks now return Claude Code's JSON
decision: "block"response correctly and coverMultiEditwrites. - Default MCP configuration is public-install safe: only no-auth
context7andpub-devare enabled by default; credentialed integrations live inmcp-servers/optional-mcp.json. pub-devMCP now bootstraps dependencies into Claude plugin data or a user cache and has been verified end to end against live pub.dev metadata.- Documentation and examples now use namespaced
/flutterforge:*command invocations consistently. flutter-accessibilitycommand was registered inplugin.jsonbut missing from the README Commands table and from theflutterforge.mdhub menu — added as mode 10 with routing trigger10 | accessibility | a11y | flutter-accessibility.skills/flutter-documentation/SKILL.mdreferenced "Phase 7" of/flutterforge:build-flutter-feature, which only has 5 phases — corrected to "Phase 5".commands/improve-ux.md,commands/prepare-release.md, andcommands/refactor-flutter.mdwere missing the "You are running …" orientation header present in all other commands — added for consistency.scripts/verify_mcps.shcomment described--from-dir <path>as a named flag but the script treats$1as a positional argument — comment corrected to[<plugin-root>].scripts/README.mddid not documentverify_mcps.sh/verify_mcps.ps1despite those scripts being referenced in the main README troubleshooting section — added entry with usage and behaviour notes.
- Rewrote all 5 hook scripts in Node.js (
hooks/lib-node/*.cjs), replacing bash scripts that were non-functional on Windows. Hooks now run on Windows, macOS, and Linux via the Node.js runtime that ships with Claude Code. _common.cjs— shared helpers:readStdin()(parses JSON from stdin),findFlutterProjectRoot(),block(),allow(),runCmd()withshell: truefor cross-platformflutter/dartinvocation.session_start_flutter_context.cjs— SessionStart hook emitting project context (app name, state management, router, Flutter version, doc presence). No-ops outside Flutter projects.post_edit_format.cjs— Runsdart format --fixafter every.dartfile edit; always exits 0 (non-blocking).post_edit_analyze.cjs— Opt-in analyzer (setFLUTTERFORGE_AUTO_ANALYZE=1); writes findings to stdout.pubspec_sync.cjs— Runsflutter pub getwhenpubspec.yamlis saved.secret_detect.cjs— Pre-tool-use secret detection with 8 regex patterns + Firebase service-account JSON detection + bare.envfile blocking. Allowlist for placeholder values. Escape hatch viaFLUTTERFORGE_SKIP_SECRET_CHECK=1.pre_commit_quality.cjs— Pre-commit gate (format → analyze → test). Gates internally ontool_input.commandmatchinggit commit, fixing the brokenBash.*git commitregex matcher.- Fixed
hooks/hooks.json: all commands now invokenode, notbash; Bash pre-commit matcher changed from broken regex to"Bash"(script gates internally); secret detect added to Bash matcher. - Added legacy headers to all 7 existing
hooks/lib/*.shand*.ps1files noting they are no longer wired.
- Fixed install path: removed incorrect
~/.claude/plugins/local/path; replaced with/plugin install --from-dir <path>(the supported local-dev mechanism). - Added marketplace path:
/plugin marketplace add Yakoub-ai/flutterforge. - Removed invalid
/reload-pluginshint. - Added Prerequisites section (Flutter SDK ≥ 3.x, Node.js ≥ 18, Claude Code).
- Removed undocumented
FLUTTERFORGE_DEFAULT_ARCHandFLUTTERFORGE_DEFAULT_STATEenv vars. - Added Troubleshooting section.
commands/flutter-accessibility.md— new command for accessibility auditing and fixes. Phases: scope resolution, accessibility audit (using theflutter-accessibilityskill), implementation pass (viaux-mobile-designeragent), and findings report atdocs/quality/accessibility_review.md.- Registered in
plugin.jsoncommands list. - Fixes dangling reference in
commands/flutterforge:improve-ux.mdthat linked to this command.
mcp-servers/pub-dev-mcp/— local Node.js MCP server for pub.dev queries. No authentication required.- Tools:
searchPackages,getPackage,getPackageScore,getPackageVersions,checkCompatibility(checks Flutter SDK constraint). - Wired in
.mcp.jsonaspub-dev. - Referenced from
flutter-architect,api-integration-engineer, andcodebase-auditoragents.
references/dart-error-mapping.md— canonicalAppExceptionhierarchy andmapDioException()for data/domain layers.references/state-management-snippets.md— Riverpod (AsyncNotifier, NotifierProvider, StreamProvider, family, testing) and Bloc/Cubit canonical code examples.references/feature-layer-template.md— feature-first folder structure, file naming conventions, and per-layer Dart snippets.
build-flutter-feature.mdPhase 5: usesflutter-documentationskill to update README, create feature doc, and append ADR after successful feature build.prepare-release.mdPhase 3: usesflutter-documentationskill to updateCHANGELOG.mdwith release entry.
- All 13 active skills trimmed to ~180–300 lines (from 296–697 lines). Inline Dart code moved to
references/shared docs. - Added
version: 1.0.0to all skills that were missing it. - Cross-references added from each skill to relevant
@references/files and agents. flutter-documentationskill wired into/flutterforge:build-flutter-featurePhase 7 and/flutterforge:prepare-releasePhase 1.
- All 12 agent
description:blocks compressed from ~30–40 lines (with examples/commentary) to 2-line summaries. flutter-architectagent: removed hardcoded package version pins; replaced with instruction to query pub-dev MCP before pinning.api-integration-engineer: added pub-dev MCP query instruction before adding packages.codebase-auditor: added pub-dev MCP query instruction for dependency version checks.
- Added explicit
"hooks": "./hooks/hooks.json"field. - Added
flutter-accessibilitycommand entry. - Version bumped to
0.3.0.
- Added Node.js syntax check (
node --check) for allhooks/lib-node/*.cjsscripts. - Added hook smoke tests: secret_detect blocks Google API key pattern, allows placeholder values; post_edit_format exits 0 for non-Dart files.
- Added
shellcheckpass onscripts/*.sh. - Added pub-dev-mcp JSON and syntax validation.
- Added flutter-accessibility command registration check.
- Wired
firebase-tools experimental:mcpas thefirebaseMCP server in.mcp.json. Provides live inspection of Firestore collections, Authentication providers, Storage buckets, Cloud Functions, and App Hosting — used by theapi-integration-engineeragent andflutter-api-integrationskill before writing backend integration code. - Documented the community fallback (
@gannonh/firebase-mcp) for headless / CI environments that cannot runfirebase logininteractively. - Updated
mcp-servers/README.mdwith Firebase setup steps, authentication options, troubleshooting, and a comparison table of official vs community approaches.
templates/github_workflows/flutter_ci.yml— Format check + analyze + test + coverage on every push/PR tomain/develop.templates/github_workflows/android_build.yml— Release App Bundle + split APKs with documented signing setup via repository secrets.templates/github_workflows/ios_build.yml— iOS archive onmacos-latestwith no-codesign default and documented signing steps for production use. Fulfils PRD §20 (CI/CD requirements).
hooks/lib/session_start_flutter_context.sh(+.ps1Windows mirror) — On each session start, auto-detects the Flutter project root, readspubspec.yaml, and outputs a concise context block (app name, Flutter version, state management library, router, presence of planning docs and CI). No-ops outside Flutter projects.- Wired in
hooks/hooks.jsonas aSessionStarthook — eliminates per-session re-discovery overhead.
/flutterforgecan now dispatch sub-commands directly when given an unambiguous mode keyword or number (/flutterforge plan a fitness app→ invokes/flutterforge:plan-flutter-appimmediately). Natural-language inputs still route via a one-confirmation step to avoid accidental dispatch.
- Added MCP Tool Routing section: instructs the agent to use the
firebaseMCP for live schema/auth/storage inspection,supabaseMCP for table validation, andcontext7for current package API docs before writing any integration code.
- Added MCP Tool Usage section with specific tool calls (
firestore/listCollections,auth/listProviders,storage/listBuckets,functions/list) to consult before generating DTOs or repository code.
README.mdMCP table updated from 4 → 5 servers.mcp-servers/ROADMAP.mdstatus table updated: Firebase marked as Shipped.plugin.jsonversion bumped from0.1.0to0.2.0.
/flutterforge— Main entry point with 9-mode workflow router/flutterforge:plan-flutter-app— Greenfield product brainstorm to architecture plan/flutterforge:new-flutter-app— Scaffold a production-ready Flutter project/flutterforge:build-flutter-feature— Feature development workflow with tests/flutterforge:audit-flutter-app— Comprehensive brownfield app audit/flutterforge:debug-flutter— Root-cause debugging workflow/flutterforge:generate-tests— Test generation for features and widgets/flutterforge:improve-ux— UX analysis and improvement workflow/flutterforge:prepare-release— Android + iOS release readiness checklist/flutterforge:refactor-flutter— LSP-guided safe refactoring workflow
product-strategist— App idea to product briefflutter-architect— Architecture, folder structure, state management decisionsux-mobile-designer— Screen flows, design system, accessibilityflutter-implementation-engineer— Clean, tested Flutter codestate-management-specialist— Riverpod, Bloc, Cubit patternsapi-integration-engineer— REST, Firebase, Supabase data layerflutter-test-engineer— Unit, widget, integration test strategiesflutter-debugger— Stack trace analysis and fix verificationmobile-performance-engineer— Rebuild analysis, list optimization, profilingmobile-security-reviewer— Secrets, permissions, auth flowsrelease-engineer— Android/iOS build readiness, store checklistcodebase-auditor— Architecture drift, anti-patterns, tech debt
flutter-app-discovery— Understand an existing Flutter codebaseflutter-product-brief— Product discovery and MVP definitionflutter-architecture— Architecture decisions and folder structureflutter-ux-design— Mobile UX design workflowflutter-feature-dev— Feature planning and implementationflutter-state-management— State management selection and patternsflutter-api-integration— API, Firebase, Supabase integrationflutter-testing— Testing strategy and generationflutter-debugging— Debugging classification and fix workflowflutter-performance— Performance audit and optimizationflutter-accessibility— Accessibility audit and semantic improvementsflutter-security— Security audit and hardeningflutter-release-readiness— Release preparation for Android and iOSflutter-documentation— Documentation generation and maintenance
- Post-edit Dart format (
dart format .) - Post-edit analyzer (opt-in via
FLUTTERFORGE_AUTO_ANALYZE=1) - Pre-commit quality gate (format + analyze + test)
- Secret detection (blocks API keys, tokens,
.envin commits) - Post-pubspec
flutter pub get
context7— Flutter/Dart/pub.dev documentation lookupgithub— PR and issue workflowssupabase— Supabase schema and auth integrationfigma— Design-to-Flutter component mapping
- App brief, technical plan, ADR, feature spec, UX review, test plan, release checklist, debug report, CLAUDE.md project memory
- Flutter doctor check, analyze, test, format, Android build, iOS build, log collection
- Todo app, Firebase auth app, ecommerce app, maps/upload app