# Feature catalog — flutter/flutter

> Canonical page: https://codevetter.com/unpack/flutter/feature-catalog

# Feature catalog — flutter/flutter

Scanned commit acb8fd51143a49384799557cb1df6ecead61a55a (2026-09-22). Generated by codevetter codevetter 1.12.0 on 2026-09-22.

User-facing surface is dominated by the `flutter` CLI: generateCommands() registers ~35 FlutterCommand subclasses covering the whole app lifecycle (create, run, build, test, analyze, doctor, drive, install, screenshot, symbolize, upgrade/downgrade, channel, precache, clean, config, devices, emulators, logs, attach, daemon, debug-adapter, widget-preview, shell-completion, gen-l10n, assemble, plus hidden dev commands like update-packages and ide-config). Build subcommands fan out per platform (apk, appbundle, aar, ios, ios-framework, macos, macos-framework, linux, windows, web, swift-package). The framework packages provide the runtime libraries (material, cupertino, widgets, services, etc.) and companion packages (flutter_test, flutter_driver, integration_test, flutter_goldens, flutter_localizations, flutter_web_plugins, fuchsia_remote_debug_protocol).
- generateCommands() in executable.dart is the full CLI command table: AnalyzeCommand, AssembleCommand, AttachCommand, BuildCommand, ChannelCommand, CleanCommand, ConfigCommand, CustomDevicesCommand, CreateCommand, DaemonCommand, DebugAdapterCommand, DevicesCommand, DoctorCommand, DowngradeCommand, DriveCommand, EmulatorsCommand, GenerateCommand, GenerateLocalizationsCommand, InstallCommand, LogsCommand, PackagesCommand, PrecacheCommand, RunCommand, ScreenshotCommand, ShellCompletionCommand, TestCommand, WidgetPreviewCommand, UpgradeCommand, SymbolizeCommand, IdeConfigCommand, UpdatePackagesCommand. — [packages/flutter_tools/lib/executable.dart#L231-373](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/executable.dart#L231-L373)
- RunCommandBase (shared by `flutter run` and `flutter drive`) exposes dozens of debugging flags: build modes, --dart-define, flavors, DDS options, DevTools options, trace-* profilers, --enable-impeller, --wasm, web renderer selection, wireless device refresh, and start-paused. — [packages/flutter_tools/lib/src/commands/run.dart#L36-150](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/src/commands/run.dart#L36-L150)
- `flutter run` picks HotRunner when shouldUseHotMode(buildInfo) is true (and not web), otherwise ColdRunner; the choice determines whether hot reload/restart keybindings are offered. — [packages/flutter_tools/lib/src/commands/run.dart#L611-660](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/src/commands/run.dart#L611-L660) [packages/flutter_tools/lib/src/run_hot.dart#L79-120](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/src/run_hot.dart#L79-L120) [packages/flutter_tools/lib/src/run_cold.dart](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/src/run_cold.dart)
- `flutter test` is implemented by TestCommand (commands/test.dart) and runs tests through the flutter_tester device or Chrome for web tests; it can build native assets via TestCompilerNativeAssetsBuilder. — [packages/flutter_tools/lib/src/commands/test.dart](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/src/commands/test.dart) [packages/flutter_tools/lib/executable.dart#L362-366](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/executable.dart#L362-L366)
- `flutter doctor` runs a list of DoctorValidators (android_workflow, xcode, etc.) and prints diagnostics; DoctorCommand receives the shared globals.doctor singleton until migration to DI completes. — [packages/flutter_tools/lib/src/commands/doctor.dart](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/src/commands/doctor.dart) [packages/flutter_tools/lib/src/doctor.dart](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/src/doctor.dart) [packages/flutter_tools/lib/executable.dart#L319-326](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/executable.dart#L319-L326)
- `flutter daemon` exposes a JSON-over-stdio protocol for IDEs: messages are bracketed [json] frames parsed into DaemonMessage/DaemonEventData, support binary payloads via _binaryLength, and dispatch to registered Domain handlers (device, app, devtools, emulator, daemon domains). — [packages/flutter_tools/lib/src/daemon.dart#L14-45](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/src/daemon.dart#L14-L45) [packages/flutter_tools/lib/src/commands/daemon.dart#L307-422](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/src/commands/daemon.dart#L307-L422)
- `flutter create` scaffolds projects from Mustache templates in packages/flutter_tools/templates (app, module, package, plugin, add_to_app, package_ffi, etc.) rendered via MustacheTemplateRenderer. — [packages/flutter_tools/lib/src/commands/create.dart](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/src/commands/create.dart) [packages/flutter_tools/templates](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/templates) [packages/flutter_tools/lib/executable.dart#L297-304](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/executable.dart#L297-L304)
- `flutter build` is a BuildCommand umbrella whose subcommands are defined in commands/build_*.dart; Android builds go through AndroidGradleBuilder (android/gradle.dart), Apple builds through Xcode wrappers, web through Dart->JS/Wasm compilers. — [packages/flutter_tools/lib/src/commands/build.dart](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/src/commands/build.dart) [packages/flutter_tools/lib/src/commands/build_apk.dart](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/src/commands/build_apk.dart) [packages/flutter_tools/lib/src/commands/build_web.dart](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/src/commands/build_web.dart) [packages/flutter_tools/lib/src/android/gradle.dart](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/src/android/gradle.dart)
- Feature flags gate platform support: FeatureFlags.allFeatures lists ~21 flags (web, linux/macos/windows desktop, android, ios, fuchsia, custom devices, native assets, swift package manager, windowing, lldb debugging, UIScene migration, riscv64, hcpp, tool extensions) toggled via `flutter config` and Feature.configSetting. — [packages/flutter_tools/lib/src/features.dart#L25-135](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/src/features.dart#L25-L135)
- `flutter precache` downloads DevelopmentArtifacts (android_gen_snapshot, android_maven, ios, web, macos, windows, linux, fuchsia, flutter_runner, universal, informative) into bin/cache/artifacts. — [packages/flutter_tools/lib/src/commands/precache.dart](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/src/commands/precache.dart) [packages/flutter_tools/lib/src/cache.dart#L53-120](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/src/cache.dart#L53-L120)
- packages/flutter is the framework library exporting widgets/material/cupertino/services/rendering/etc.; packages/flutter_test provides the test harness, flutter_driver and integration_test drive apps end-to-end, flutter_goldens compares golden images against Skia Gold. — [packages/flutter/lib/material.dart](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter/lib/material.dart) [packages/flutter_test/lib/flutter_test.dart](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_test/lib/flutter_test.dart) [pubspec.yaml#L70-80](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/pubspec.yaml#L70-L80)
- Hidden/dev-only commands include AssembleCommand (direct build-system target invocation used by Xcode/Gradle backends), UpdatePackagesCommand, IdeConfigCommand, DebugAdapterCommand (DAP server for editors), and ShellCompletionCommand. — [packages/flutter_tools/lib/src/commands/assemble.dart](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/src/commands/assemble.dart) [packages/flutter_tools/lib/src/commands/debug_adapter.dart](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/src/commands/debug_adapter.dart) [packages/flutter_tools/lib/executable.dart#L370-373](https://github.com/flutter/flutter/blob/acb8fd51143a49384799557cb1df6ecead61a55a/packages/flutter_tools/lib/executable.dart#L370-L373)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
