Agent-skills-standard 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)
install
source · Clone the upstream repo
git clone https://github.com/HoangNguyen0403/agent-skills-standard
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/HoangNguyen0403/agent-skills-standard "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/dart/dart-tooling" ~/.claude/skills/hoangnguyen0403-agent-skills-standard-dart-tooling && rm -rf "$T"
manifest:
skills/dart/dart-tooling/SKILL.mdsource content
Tooling & CI
Priority: P1 (HIGH)
Implementation Guidelines
- Linter: Use
. Enforceanalysis_options.yaml
andalways_use_package_imports
.require_trailing_commas - Formatting: Use
. Run on every commit.dart format . --line-length 80 - DCM: Use
for complexity checks (Max cyclomatic complexity: 15).dart_code_metrics - Build Runner: Always use
with code generation.--delete-conflicting-outputs - CI Pipeline: All PRs MUST pass
,analyze
, andformat
steps.test - Imports: Group imports:
,dart:
, then relative.package: - 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
in sync with analyze/format/metrics commands.lefthook.yml
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