AGENT SKILL
dart-tooling
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)
适用职业开发工程师
- License 许可
- MIT
- 最近更新
- 2026-06-24
- Stars
- ★ 66
- Forks
- 24
01 前言 Front Matter
- 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. (triggers: analysis_options.yaml, build.yaml, build_runner, lefthook.yml, dart format, dart_code_metrics)
02 资源文件 30
- 参考文档references/coordinator_runtime_contract.md2.6 KB
- 参考文档references/coordinator_summary_contract.md1009 B
- 参考文档references/input_resolution_pattern.md1.9 KB
- 参考文档references/meta_analysis_protocol.md1.5 KB
- 参考文档references/risk_based_testing_guide.md3.0 KB
- 脚本references/scripts/coordinator-runtime/lib/artifacts.mjs2.4 KB
- 脚本references/scripts/coordinator-runtime/lib/cli-helpers.mjs3.5 KB
- 脚本references/scripts/coordinator-runtime/lib/core.mjs18.6 KB
- 脚本references/scripts/coordinator-runtime/lib/loop-health.mjs7.5 KB
- 脚本references/scripts/coordinator-runtime/lib/runtime-constants.mjs3.8 KB
- 脚本references/scripts/coordinator-runtime/lib/schemas.mjs37.2 KB
- 脚本references/scripts/coordinator-runtime/lib/validate.mjs4.8 KB
- 脚本references/scripts/coordinator-runtime/lib/worker-guards.mjs3.1 KB
- 脚本references/scripts/coordinator-runtime/lib/worker-runtime.mjs6.0 KB
- 脚本references/scripts/task-plan-worker-runtime/cli.mjs7.2 KB
- 脚本references/scripts/task-plan-worker-runtime/lib/guards.mjs920 B
- 脚本references/scripts/task-plan-worker-runtime/lib/phases.mjs987 B
- 脚本references/scripts/task-plan-worker-runtime/lib/store.mjs2.1 KB
- 脚本references/scripts/test-planning-runtime/cli.mjs7.5 KB
- 脚本references/scripts/test-planning-runtime/lib/guards.mjs3.8 KB
- 脚本references/scripts/test-planning-runtime/lib/phases.mjs629 B
- 脚本references/scripts/test-planning-runtime/lib/store.mjs3.7 KB
- 脚本references/scripts/test-planning-worker-runtime/cli.mjs7.2 KB
- 脚本references/scripts/test-planning-worker-runtime/lib/guards.mjs932 B
- 脚本references/scripts/test-planning-worker-runtime/lib/phases.mjs1.3 KB
- 脚本references/scripts/test-planning-worker-runtime/lib/store.mjs2.0 KB
- 参考文档references/task_plan_worker_runtime_contract.md2.4 KB
- 参考文档references/test_planning_runtime_contract.md1.6 KB
- 参考文档references/test_planning_summary_contract.md766 B
- 参考文档references/test_planning_worker_runtime_contract.md2.8 KB
03 SKILL.md 正文
Tooling & CI
Priority: P1 (HIGH)
Standards for code quality, formatting, and generation.
Implementation Guidelines
- Linter: Use
analysis_options.yaml. Enforcealways_use_package_importsandrequire_trailing_commas. - Formatting: Use
dart format . --line-length 80. Run on every commit. - DCM: Use
dart_code_metricsfor complexity checks (Max cyclomatic complexity: 15). - Build Runner: Always use
--delete-conflicting-outputswith code generation. - CI Pipeline: All PRs MUST pass
analyze,format, andteststeps. - Imports: Group imports:
dart:,package:, then relative. - Documentation: Use
///for public APIs. Link symbols using[Class]. - Linting Commands:
flutter analyze --fatal-infos --fatal-warningsdart run dart_code_metrics:metrics analyze lib
- Pre-commit: Keep
lefthook.ymlin 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
- ❌
dart run build_runner buildwithout--delete-conflicting-outputs— causes stale generated file conflicts that break compilation - ❌ Running
flutter buildbeforeflutter analyze— analyze is fast and cheap; always fail fast by running it first - ❌
// ignore: lint_rulewithout an explanation comment — always annotate why the ignore is justified - ❌ Skipping
dart formatin pre-commit — unformatted code breaks CI; enforce vialefthook.yml
Related Topics
language | testing