Harnais de vérification QA

Exécute le harnais de vérification du projet (analyse, lint, format, tests) après les modifications de code. Prend en charge les niveaux rapide, standard et complet.

Spar Skills Guide Bot
TestingIntermédiaire
1028/07/2026
Claude CodeCursorWindsurf
#qa#verification#dart#flutter#testing

Recommandé pour


name: qa description: Run the project's verification harness (analyze, lint, format, tests) after code changes. Use after editing Dart code to verify the change before declaring it complete. argument-hint: "[quick|standard|full]"

QA Verification Harness

Run the appropriate verification tier based on $ARGUMENTS. If $ARGUMENTS is empty, run standard.


Tier 1 — quick

Minimum check. Run from the repository root — do NOT cd into subdirectories, because this is a Pub Workspaces project and fvm dart analyze at the root inspects all packages in one pass.

fvm dart analyze

Expected output: No issues found!

If issues are found, fix them and re-run before proceeding.


Tier 2 — standard (default when $ARGUMENTS is empty)

Pre-PR baseline. Run all three steps in sequence; stop and fix before continuing if any step fails.

# Step 1 — static analysis across all packages
fvm dart analyze

# Step 2 — format check (read-only, does NOT modify files)
fvm dart run melos run format:ci --no-select

Expected output for each: No issues found! (analyze) or a clean exit (format:ci).

If format:ci reports a diff, fix formatting with:

fvm dart format packages/

Then re-run fvm dart run melos run format:ci --no-select to confirm the diff is gone.


Tier 3 — full

Heavy verification including tests. Run standard first, then add:

# All packages
fvm dart run melos run test:ci --no-select

# Or, for a specific package only
fvm dart run melos exec --scope=<package_name> -- flutter test

All tests must pass. Do not declare the task complete while any test is red.


Code-generation prerequisite

If the change touches any of the following, run fvm dart run melos run gen before running any QA tier:

  • Riverpod providers annotated with @riverpod
  • Drift database table definitions
  • i18n YAML files (app_en.yaml / app_ja.yaml)
  • Freezed data classes
fvm dart run melos run gen

For i18n changes only:

fvm dart run melos run slang

Completion criteria

Do NOT declare the task complete until all of the following are true for the chosen tier:

  • fvm dart analyzeNo issues found!
  • fvm dart run melos run format:ci --no-select → clean (standard / full)
  • fvm dart run melos run test:ci --no-select → all tests pass (full only)
Skills similaires