mcpField
D
dart-language

dart-language

github.com/thienqo开发1799 次安装1 天前更新
代码仓库

关于 dart-language

面向 Dart 项目开发的编程技能,指导代码编写遵循项目 SDK 约束、现有风格与 Effective Dart。它还涵盖 API 兼容性、生成文件边界,以及格式化、分析和测试验证。

主要功能

  1. 01检查 pubspec.yaml 中的 SDK 约束
  2. 02遵循 Effective Dart 与仓库 lint
  3. 03维护公共 API 兼容性
  4. 04避免手动编辑生成文件
  5. 05运行格式化、静态分析和相关测试

适用场景

  1. 01在既有 Dart 项目中实现功能
  2. 02设计封闭类型与清晰分支逻辑
  3. 03修改公共包 API 并检查调用方
  4. 04验证代码生成相关源文件的改动

MCP 相关

在当前环境提供相关能力时,使用 Dart MCP 进行语义查询和分析;否则检查源码并使用项目 CLI。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/thienqo/flutter-skills --skill dart-language

安装后在 Claude Code 中输入/dart-language确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
code-generation-with-build-runner.md
patterns-and-records-migration.md
sealed-class-hierarchies.md

详细介绍

Dart 语言

编写清晰的 Dart 代码,符合项目的 SDK 约束和既定风格。

决策

  • 使用较新的语法前,先查看 pubspec.yaml 中的 SDK 约束。
  • 优先使用简单类型和直接控制流,避免使用没有明确复用场景的抽象。
  • 当穷尽式切换能提升正确性时,使用密封类型表示封闭变体。
  • 小型结构化值使用记录;当身份、验证、文档说明或演进需求很重要时,使用具名领域类型。
  • 当模式匹配能让分支判断或解构更清晰时再使用,不要为了新奇而使用。
  • 除非明确要求破坏性变更,否则保持公共 API 兼容。
  • 将可变状态设为私有,并仅暴露必要的最小接口。
  • 切勿手动编辑生成文件(*.g.dart、*.freezed.dart 或任何标记为生成文件的文件);请编辑带注解的源文件,并通过项目命令重新生成。

遵循 Effective Dart 的命名、文档、用法和设计指南。遵守仓库的 lint 规则,不要添加与之冲突的风格规范。

验证

如果当前环境支持 Dart MCP 语义查找和分析,请使用;否则检查源代码并使用项目 CLI。运行格式化、静态分析和范围最小的相关测试。更改公共包 API 时,检查示例和下游调用点。

边界

  • 异步、流、取消和 isolates:使用 dart-concurrency。
  • Flutter 小部件组合或状态归属:使用相关 Flutter 技能。
  • JSON 和持久化架构行为属于相应的数据技能。
  • 代码生成器或 build_runner 版本升级后的重新生成属于 flutter-dependency-upgrades;本技能负责确保代码能正确使用已固定版本的生成器。

参考资料

来源

评论

支持 Markdown