Feature-First vs Clean is the question every Flutter team argues about. In FlutterInit both options generate lib/src/features/... with data/domain/presentation under auth. The scalable choice is about how your team talks and what AGENTS.md enforces, not a secret third folder layout.
Small team (1–3): Feature-First. Less naming ceremony. Same escape hatches when a feature needs a repository interface.
Larger team / regulated domain: Lean Clean in language and reviews — domain interfaces, no SDK imports in entities — even if folders look familiar.
Agents: Both get architecture rules in AGENTS.md. Wrong choice is letting Cursor invent a third layout.
MVVM is the other fork
If you want data + ui without feature packages, use MVVM instead of this debate.
Decision rule
If your PR template already says “don’t import Firebase in widgets,” you’re doing Clean. If your board says “finish the billing feature folder,” you’re Feature-First. FlutterInit supports both labels — pick the one your team will enforce.