mcpField
F
flutter-mcp-toolkit-dogfood-iterations

flutter-mcp-toolkit-dogfood-iterations

github.com/arenukvern测试与质量39448 次安装2 周前更新
代码仓库

关于 flutter-mcp-toolkit-dogfood-iterations

用于 flutter-mcp-toolkit 的迭代测试技能,指导开发者运行评测、记录分数与警告,并根据结果调整代码和文档。

主要功能

  1. 01运行 Web 端评测流程
  2. 02执行静态评测门禁
  3. 03记录分数与警告
  4. 04比较各维度得分
  5. 05整理重复问题与修复建议

适用场景

  1. 01验证 Web showcase 的运行时行为
  2. 02在 CI 或 PR 中运行静态检查
  3. 03追踪多轮评测的质量变化

MCP 相关

通过评测流程验证 MCP 工具调用、连接及 WebMCP 一致性;也记录 exec 与 MCP 的命名差异。

安装

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

$npx skills add https://github.com/arenukvern/mcp_flutter --skill flutter-mcp-toolkit-dogfood-iterations

安装后在 Claude Code 中输入/flutter-mcp-toolkit-dogfood-iterations确认已加载。

详细介绍

Dogfood 迭代

跟踪文件:docs/evidence/dogfood/dogfood_web_eval.yaml
评分标准:docs/superpowers/evals/tool_quality_rubric.yaml
概览:docs/superpowers/evals/README.md

通过阈值

加权得分 ≥80/100;达到 ≥90 或接受 pass_with_warnings 时即可发布。

维度权重
connectivity20
schema_validity10
handler_correctness20
capture_quality10
visual_fidelity10
webmcp_parity10
intentcall_authoring10
docs_truth10

迭代工作流

Task Progress:
- [ ] Start app (web-showcase or make showcase)
- [ ] Fresh WS_URI from log (not stale after hot reload)
- [ ] Run battery
- [ ] Record score + warnings in tracker
- [ ] Promote recurring patterns if repeated ≥2 times
Web 迭代
make web-showcase
export WS_URI="$(grep -Eo 'ws://127\.0\.0\.1:[0-9]+/[A-Za-z0-9_=-]+/ws' .showcase/web_app.log | tail -1)"
bash tool/evals/run_dogfood_eval.sh --ws-uri "$WS_URI" --merge --skip-visual   # yq or dart fallback
# or without merge:
bash tool/evals/run_dogfood_eval.sh --ws-uri "$WS_URI"

自动运行:静态门禁 + validate-runtime + webmcp verify。

仅静态检查(CI / PR)
make dogfood-eval-static
Makefile
make dogfood-eval          # needs WS_URI in env
make dogfood-eval-static

产物

  • 每次运行:.showcase/eval_runs/<timestamp>/eval_run.yaml
  • 快照:.showcase/eval_run_<timestamp>.yaml
  • 使用 --merge 时:更新 docs/evidence/dogfood/dogfood_web_eval.yaml(通过 yq 或 dart run mcp_server_dart/tool/merge_dogfood_tracker.dart)

评估结果

评估结果含义
pass得分 ≥80,无阻塞性警告
pass_with_warnings得分 ≥80,例如 visual_capture_truth_mode
fail得分 <80
blocked_no_runtime仅适用于 --skip-runtime

Exec 与 MCP 名称

测试调用时,在迭代备注中记录:

  • **exec:**裸名称(get_recent_logs、dogfood_ping)——也接受 fmt_* 别名
  • MCP:fmt_ 前缀(fmt_get_recent_logs、fmt_client_tool,以及列表中的 name)
  • **连接:**全局 --vm-service-uri(而非 exec --target)
dart run mcp_server_dart/bin/flutter_mcp_toolkit.dart \
  --vm-service-uri "$WS_URI" exec --name get_recent_logs --args '{}'

Chrome 测试套件说明

  • 跳过视觉测试轨道(--skip-visual):其测试夹具主页(外部 flutter_harness)已停用,因此视觉证据暂停收集,无法重新生成
  • validate-runtime --save-images 在 Chrome 上可能挂起超过 5 分钟;除非设置 DOGFOOD_SAVE_IMAGES=1,否则测试套件会跳过此步骤

CI(分支)

.github/workflows/intentcall_eval.yml——PR:dogfood-eval-static;每周 / main:intentcall 包测试 + 静态检查。

完整的 Chrome 运行时 Dogfood 仍在本地进行,直到无头 WebMCP 具备成本效益。

每次迭代后

  1. 对比跟踪文件中本次与上次迭代的 dimension_scores。
  2. 对于重复出现的问题,将其添加到 recurring_warnings / recurring_errors。
  3. 使用可执行的文档 / 代码变更更新 fix_recommendations。
  4. 不要在未运行最新测试套件的情况下,将跟踪文件 YAML 视为门禁。

相关技能

  • flutter-mcp-toolkit-maintain-web——WebMCP 启动与验证
  • flutter-mcp-toolkit-maintain-macos——macOS 展示
  • flutter-mcp-toolkit-repo-maintainer——编辑此技能后运行 make sync-skills

评论

支持 Markdown