flutterforge_ai 0.3.0
flutterforge_ai: ^0.3.0 copied to clipboard
AI-Ready Flutter template with built-in DB console, API inspector, state viewer, log viewer, and AI debug snapshots. Build observable apps that AI can debug with full context.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.3.0 - 2026-04-18 #
Changed — dependency refresh (fixes pub.dev "up-to-date" score) #
All direct dependencies now accept current-major versions:
| Package | Was | Now (constraint) |
|---|---|---|
flutter_riverpod |
^2.5.1 |
>=2.5.1 <4.0.0 (3.x) |
device_info_plus |
^10.1.2 |
>=10.1.2 <14.0.0 |
flutter_dotenv |
^5.1.0 |
>=5.1.0 <7.0.0 |
package_info_plus |
^8.0.2 |
>=8.0.2 <11.0.0 |
sensors_plus |
^6.0.1 |
>=6.0.1 <8.0.0 |
share_plus |
^10.0.2 |
>=10.0.2 <14.0.0 |
⚠ Breaking — Riverpod 3 only #
FFStateObserveris rewritten for the Riverpod 3.x observer API (ProviderObserverContextreplaces the 2.x(ProviderBase, …, ProviderContainer)signature). The class is nowfinalto satisfy Riverpod'sbasesupertype modifier.- The class's public surface (
FFStateObserver({store, trackingPrefixes, maxValueLength}),.storeForTesting) is unchanged — most users won't notice. - Upgrade path for apps pinned to Riverpod 2.x: stay on
flutterforge_ai: ^0.2.x(still on pub.dev) until you bump to Riverpod 3, then move to^0.3.0.
Fixed #
share_plus 13.xdeprecations — snapshot share now usesSharePlus.instance.share(ShareParams(...))instead of the removedShare.shareXFiles/Share.sharestatic helpers.
0.2.0 - 2026-04-17 #
Added — "Diagnose with AI" (the killer moment) #
- New
src/ai/module wiring a bring-your-own-key LLM call directly into the snapshot preview:FFAiProviderenum —anthropic(Claude Messages API) +openai(Chat Completions, also works with Azure OpenAI / Ollama proxies via thebaseUrloverride).FFAiConfig— immutable config witheffectiveModel/effectiveBaseUrlfallbacks.toJsonSansKey()guarantees the API key is never serialised alongside snapshots.FFAiClient.forConfig(config)factory dispatching to the right provider implementation; tests inject a mockDio.FFAnthropicClient+FFOpenAiClient— concrete impls, both handle non-2xx responses asFFAiException(with status code + raw provider body for easier debugging).FFAiSettingsStore—SharedPreferences-backed persistence under theflutterforge.ai.*namespace.FFAiPrompt— opinionated system prompt + user-prompt builder that embeds the snapshot JSON and the problem statement.
- New UI:
AiSettingsScreen— provider picker, key/model/base-URL inputs, show/hide toggle, clear-key action.DiagnoseResultScreen— fires the diagnosis, shows a spinner, renders the response as selectable text withFFAiResponsemetadata chips (provider, model, token counts, finish reason), retry button, settings shortcut.- Snapshot preview screen now has a "Diagnose with AI" primary button (plus a settings gear in the app bar); the old "Copy AI prompt" stays as a secondary action so the manual workflow remains available.
- Tests:
FFAiConfigbehaviour,FFAnthropicClienthappy path + auth-error path (mocked Dio),FFAiProviderXdefaults.
Changed #
- Version bumped
0.1.2→0.2.0(new public API surface). - Barrel re-exports the new
ai/modules and the two new screens.
0.1.2 - 2026-04-17 #
Added #
FlutterForgeAI.generateSnapshot(problem: '…')— thin top-level facade overFFSnapshotGenerator.generate(...). Both continue to work; prefer the facade at call sites that already referenceFlutterForgeAI.
Changed #
- README: new "What's actually in the box" capability table right after the 30-second workflow, so reviewers can see the shipped feature set (DevDashboard / snapshot / interceptor / masking / etc.) without scrolling. Roadmap section rewritten with an honest shipped/next split — CLI marked ✅, cloud parked, "Diagnose with AI" flagged as the real next move.
- ECOSYSTEM.md: status table now labels the VS Code extension as v0.2 in-repo (not just a scaffold), the CLI with its current limits, and the cloud as "parked post-v1".
0.1.1 - 2026-04-17 #
Changed #
- Docs: README rewritten with sharper one-line positioning, a 30-second workflow diagram, a comparison table vs Alice / Talker / pretty_dio_logger, explicit
dependencyvsdev_dependencyguidance, and a screenshot slot reference list. - Docs: Added doc/WORKFLOW.md — step-by-step recording script and asset-layout guide for the
doc/images/screenshots + hero GIF. - Version bumped so the published pub.dev page picks up the new README.
Fixed #
FFSensitiveDataMasker.maskUrl—Uri.replaceURL-encodes the***mask as%2A%2A%2A; the masker now decodes it back so the devtools UI showstoken=***instead oftoken=%2A%2A%2A.
0.1.0 - 2026-04-17 #
Added #
- Database console with table browser, row viewer, and raw SQL runner via
FFDbHelper. - Optional
sqflite_devweb workbench enabler (no-ops if the dev package is absent). - In-app API Inspector (
FFApiStore) powered by a Dio interceptor with cURL export. - Riverpod state viewer (
FFStateObserver) tracking provider adds, updates, disposals, and failures. - Log viewer (
FFLogger+FFLogStore) with level filtering, search, and full stack traces. - AI Debug Snapshot generator (
FFSnapshotGenerator) capturing DB schema, API calls, state, logs, device, and app info as structured JSON for pasting to AI assistants. - Clipboard / share / save-to-file actions for snapshots.
- Floating access buttons (DevTools FAB + AI FAB), draggable bubble overlay, shake-to-open (mobile), and Alt+F12 keyboard shortcut (desktop).
- Automatic sensitive-data masking for headers, body keys, and URL query params.
- Release-mode safety: every devtool, snapshot generator, and trigger is automatically disabled when
kReleaseModeis true. - Cross-platform support: Android, iOS, macOS, Windows, Linux, Web.
- 80%+ unit-test coverage across ring buffer, masker, logger, API interceptor, snapshot generator, and prompt formatter.
- Fully working example app demonstrating CRUD, real HTTP calls, Riverpod state, error capture, and snapshot generation.