TL;DR: faf-cli 7.2.1 ships Dart/Flutter knowledge v2 — an Aug 2026 community receipt on top of the 6.13.0 Dart Edition. Architecture unchanged. Knowledge fresher. Your pubspec.yaml is still classified by what it contains, not by the filename alone.

npm install -g faf-cli@7.2.1 cd your-dart-or-flutter-repo && faf auto

What it is

Content-aware Dart & Flutter detection in faf-cli. You run faf auto on a repo with pubspec.yaml; it classifies from what the pubspec contains — not from the filename — and writes that shape into project.faf so agents know whether they’re in a Flutter app, a pure Dart package, a server, a CLI, or an MCP.

Knowledge v2 (this release) is a fresher dependency map on that same architecture — not a rewrite. Origin receipt: Run It, Don't Grep It — The Dart Edition.

Why it exists

Every Dart project has a pubspec. Not every Dart project is Flutter.

Most tools see pubspec.yaml and shout “Flutter.” Pure Dart packages, CLIs, Shelf servers, Serverpod backends, Dart Frog apps, and MCP servers all ship a pubspec — none of them are Flutter just because the file is named that way.

Wrong shape at the root means wrong AI context: the agent brief, the export, the next edit. Kill line: pubspec ≠ Flutter.

What’s in it for Dart & Flutter devs

  • Flutter only when it’s Flutter. The flutter SDK dep is the signal — not the filename. Pure Dart stays Dart.
  • Real project shape. Flutter app vs package · Dart server · CLI · MCP · library — so the .faf reads like an engineer who opened the repo.
  • Stack signals that matter. State (Riverpod, Bloc, Hooks…), routing (go_router, Beamer…), servers (Serverpod, Dart Frog, Shelf, Jaspr…) — written into context the agent can use.
  • Zero new config. Uses the pubspec you already ship. No tags, no extra manifest.

What’s new in v2

Fresher high-signal deps the community actually ships with:

  • State: riverpod_annotation, flutter_hooks
  • Routing: beamer, routemaster
  • Servers: jaspr, relic
  • MCP: dart_mcpserver

Try it

npm install -g faf-cli@7.2.1 cd your-dart-or-flutter-repo faf auto && faf score

Point it at a Flutter app, a pure Dart package, a Shelf server, or a Dart MCP — the .faf should say what the pubspec actually describes.

Same binary also on npm as faf@7.2.1 if you want the short name.

Bounds

  • Does: content-aware Dart/Flutter classification from pubspec content (parity suite: 20 shared fixtures).
  • Does not: know every package on pub.dev, or treat every pubspec as Flutter.

If this saves you a wrong agent brief, a star helps the next package find it.

Star faf-cli