Skillshub 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/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/HoangNguyen0403/agent-skills-standard/dart-tooling" ~/.claude/skills/comeonoliver-skillshub-dart-tooling && rm -rf "$T"
manifest:
skills/HoangNguyen0403/agent-skills-standard/dart-tooling/SKILL.mdsource content
Tooling & CI
Priority: P1 (HIGH)
Standards for code quality, formatting, and generation.
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
- ❌
withoutdart run build_runner build
— causes stale generated file conflicts that break compilation--delete-conflicting-outputs - ❌ Running
beforeflutter build
— analyze is fast and cheap; always fail fast by running it firstflutter analyze - ❌
without an explanation comment — always annotate why the ignore is justified// ignore: lint_rule - ❌ Skipping
in pre-commit — unformatted code breaks CI; enforce viadart formatlefthook.yml
Related Topics
language | testing