用途:把 Patrol monorepo 的 bug 报告转化为已验证、可评审的 PR。该技能是编排流程加仓库特定知识,规范以 CONTRIBUTING.md 为准。
主要能力:按阶段推进——理解 issue(用 gh issue view <n> --repo leancodepl/patrol 读取正文与评论,提取命令/API、配置、版本、预期与实际行为);按症状映射到 packages/ 下正确的包(patrol_cli、patrol_finders、patrol、patrol_devtools_extension、patrol_log、patrol_mcp,原生方法契约需改 schema.dart 并运行 ./gen_from_schema);本地复现;无回归修复;验证;写 CHANGELOG 并开 PR。
使用方式:优先用仓库自带 fixture(dev/e2e_app、dev/cli_tests)复现,必要时才建最小项目并事后删除。运行本地 CLI 有两种方式:dart pub global activate --source path packages/patrol_cli,或 dart run packages/patrol_cli <command...>;前者在激活时快照代码,改动后需重新激活,迭代时优先用后者。让队友测试分支可用 dart pub global activate --source git https://github.com/leancodepl/patrol.git --git-ref <branch> --git-path packages/patrol_cli。修复时先读目标文件与现有测试,做最小根因修改,分支名 fix/<short-description>。验证顺序:包内单元测试(cd packages/<pkg> && dart test test/<area>_test.dart 及全量)、dart analyze 与 dart format、涉及文件系统或环境时用真实类驱动、最后用 dev/e2e_app 端到端确认。提交需在对应包 CHANGELOG.md 的 ## Unreleased 下加条目(括号内为 PR 号),提交信息 fix(<package>): <summary>,用 gh pr create --base master 开 PR 并在正文链接 issue。
适用场景:修复 Patrol 仓库中已报告的缺陷。限制:外部贡献者的 Android 模拟器工作流会因权限失败,需维护者重跑;开 PR 即流程结束,评审异步处理,需另行运行,逐条判断评论是否正确后再修复或说明理由。