Agent Skills: Tooling & CI

Dart static analysis, linting, formatting, and code-generation standards. Use when touching analysis_options.yaml, running build_runner, configuring dart format line length, setting up DCM metrics, or adding pre-commit hooks via lefthook — and whenever a CI job fails on analyze or format steps. (triggers: analysis_options.yaml, build.yaml, build_runner, lefthook.yml, dart format, dart_code_metrics)

UncategorizedID: hoangnguyen0403/agent-skills-standard/dart-tooling

Install this agent skill to your local

pnpm dlx add-skill https://github.com/HoangNguyen0403/agent-skills-standard/tree/HEAD/skills/dart/dart-tooling

Skill Files

Browse the full folder contents for dart-tooling.

Download Skill

Loading file tree…

skills/dart/dart-tooling/SKILL.md

Skill Metadata

Name
dart-tooling
Description
Dart static analysis, linting, formatting, and code-generation standards. Use when touching analysis_options.yaml, running build_runner, configuring dart format line length, setting up DCM metrics, or adding pre-commit hooks via lefthook — and whenever a CI job fails on analyze or format steps.

Tooling & CI

Priority: P1 (HIGH)

Implementation Guidelines

  • Linter: Use analysis_options.yaml. Enforce always_use_package_imports and require_trailing_commas.
  • Formatting: Use dart format . --line-length 80. Run on every commit.
  • DCM: Use dart_code_metrics for complexity checks (Max cyclomatic complexity: 15).
  • Build Runner: Always use --delete-conflicting-outputs with code generation.
  • CI Pipeline: All PRs MUST pass analyze, format, and test steps.
  • Imports: Group imports: dart:, package:, then relative.
  • Documentation: Use /// for public APIs. Link symbols using [Class].
  • Linting Commands:
  • flutter analyze --fatal-infos --fatal-warnings
  • dart run dart_code_metrics:metrics analyze lib
  • Pre-commit: Keep lefthook.yml in sync with analyze/format/metrics commands.

Code

# analysis_options.yaml
analyzer:
  errors:
    todo: ignore
    missing_required_param: error
linter:
  rules:
    - prefer_single_quotes
    - unawaited_futures

Anti-Patterns

  • No build_runner without --delete-conflicting-outputs: Causes stale generated file conflicts that break compilation.
  • No flutter build before flutter analyze: Analyze fast; always fail fast before building.
  • No ignore comment without explanation: Always annotate why lint ignore justified.
  • No skipping dart format in pre-commit: Unformatted code breaks CI; enforce via lefthook.yml.

References

  • language | testing