用途:这是针对 genui 仓库的开发辅助技能,当用户询问 GenUI 工作流、运行测试、创建组件或查找 A2UI / Dart 相关信息时使用。
主要工作流:
- 运行测试与修复。仓库使用自定义工具在提交前运行测试、应用修复并格式化代码,通常只应在提交前运行,因为每次改动都跑效率低且慢。该命令会对仓库中所有包执行 dart fix --apply、dart format 和 flutter test。命令:dart run tool/test_and_fix/bin/test_and_fix.dart。适用时机:提交改动前确保项目健康;替代手动为每个项目运行 flutter test。
- 在 genui 包中创建新组件。组件文件放置在 packages/genui/lib/src/components/;组件必须继承 UiComponent;需符合 A2UI 规范;遵循严格的 Dart 文档标准。
- 更新文档。文档事实来源在 docs/;若提到 mkdocs 上下文可用,但主要直接编辑 markdown 文件;需严格遵循“自然写作”标准,避免 AI 腔。
关键常量与模式:当前 A2UI 版本为 v0.9;状态管理使用 genui 的 SurfaceController。
参考资料:A2UI 规范位于子模块 @submodules/a2ui,文档在 @submodules/a2ui/specification/v0.9/docs,schema 在 @submodules/a2ui/specification/v0.9/json;由于是子模块,可能需要更新子模块以获取最新规范。查询 Dart 编译器诊断消息详情使用格式 https://dart.dev/tools/diagnostics/<message_id>,例如 https://dart.dev/tools/diagnostics/ambiguous_import。查询分析器 lint 消息详情使用格式 https://dart.dev/tools/linter-rules/<lint_rule_id>,例如 https://dart.dev/tools/linter-rules/always_declare_return_types。
代码可见性:每个代码元素(类、函数、方法、属性、参数、变量)应尽可能设为私有。
限制:未提供收费、价格、平台支持范围等具体信息;测试工具为仓库内自定义脚本,需在仓库环境中运行。