VibeCode QA natively supports Dart and Flutter projects — same 34 checks, adapted to the Dart ecosystem.
npx @vibecodeqa/cli
npx @vibecodeqa/cli init # creates .github/workflows/vibecodeqa.yml npx @vibecodeqa/cli fix # auto-fix lint issues + show fix suggestions
Auto-detects: pubspec.yaml, analysis_options.yaml, Flutter vs pure Dart, test runner, melos workspaces.
When pubspec.yaml exists, VibeCode QA switches to Dart mode:
| Signal | Detection |
|---|---|
pubspec.yaml contains flutter: | Flutter project |
flutter_test: in dev_dependencies | Test runner: flutter_test |
test: in dev_dependencies | Test runner: dart_test |
analysis_options.yaml exists | Linter: dart_analyze |
melos.yaml exists | Monorepo: melos workspace |
pubspec.lock | Package manager: pub |
| Check | Dart Adaptation | Tool |
|---|---|---|
| Structure | Checks pubspec.yaml, analysis_options.yaml, LICENSE, .gitignore. Source in lib/ (not src/) | built-in |
| Lint | Runs dart analyze --format=machine | dart analyze |
| Type Safety | Counts dynamic type usage, as dynamic casts, // ignore: directives, late without final | built-in |
| Check | Dart Adaptation | Tool |
|---|---|---|
| Test Discovery | Finds *_test.dart files in test/ directory | built-in |
| Test Execution | Runs flutter test or dart test | flutter_test |
| Pyramid | Classifies tests into unit/widget/integration/golden layers | built-in |
| Check | Dart Adaptation | Tool |
|---|---|---|
| Outdated | Runs dart pub outdated --json | dart pub |
| Major Outdated | Flags packages behind by a major version | built-in |
Complexity, duplication, error handling, secrets, security patterns, architecture, confusion, context, docs, best practices, performance — all work on Dart code files.
Detected via melos.yaml. When found:
packages: section for workspace globspackages/*/lib/ for source and packages/*/test/ for tests# melos.yaml name: my_project packages: - packages/* - apps/*
# Core (included with Flutter SDK) dart analyze # lint dart test / flutter test # tests dart pub outdated # dependency freshness # Security brew install gitleaks # secret detection # Code quality (no extra install needed) # VibeCode QA handles complexity, duplication, architecture
| Pattern | Severity | Why |
|---|---|---|
dynamic type annotation | Warning | Bypasses static analysis — use Object or proper types |
as dynamic cast | Warning | Unsafe cast — will crash at runtime if wrong type |
// ignore: directive | Error | Disables analyzer for a line — hiding real issues |
// ignore_for_file: | Error | Disables analyzer for entire file — very dangerous |
late without final | Info | Mutable late vars can throw if accessed before init |
flutter_lintsdart analyze