SuperAPI AI 工具集

fix-issue

通用与其它

查看项目

更新于 10-16 09:50

技能介绍

用途:依据 Remix(remix-run/remix)仓库的说明,fix-issue 用于从 GitHub issue 出发修复报告中提到的缺陷:读取 issue、验证复现、定位代码、先写失败测试再实现修复,最后提交 PR;对追踪类 issue(含实现计划复选框)还需在 PR 合并后更新进展。

主要能力与流程:从干净工作树开始,基于 main 新建 {author}/{semantic-branch-name} 分支;用 gh issue view <number> --repo remix-run/remix 或 WebFetch 读取 issue,提取缺陷描述、期望与实际行为、Remix 版本与涉及包(如 remix/router、remix/route-pattern、remix/cli)、代码片段、复现链接及实现计划复选框。对追踪类 issue 视为进度记录,不重复已完成工作,用 gh pr view <number> --repo remix-run/remix --json state,mergedAt,url 确认关联 PR 状态,并为当前 PR 选择一组连贯的未勾选项。

用法要点:Remix 是 pnpm monorepo,产品代码主要在 packages/<name>/src/,各包 package.json 的 exports 映射到顶层 src/*.ts,实现在 src/lib/;测试与源码同目录,命名为 src//<name>.test.ts,直接以源码运行。单文件测试:cd packages/<package> && pnpm test src//<filename>.test.ts;也可用 pnpm run test:changed。修复前测试必须失败,修复后通过,再执行 pnpm run lint、pnpm run typecheck:changed、pnpm run test:changed,大范围改动运行 pnpm test 与 pnpm run typecheck。若为面向用户的修复,需在 packages/<package>/.changes/ 添加变更文件,0.x 包的缺陷修复为 patch,Remix 导出变更就地更新 packages/remix/.changes/minor.remix.update-exports.md。

适用场景与限制:适用于按 issue 修复 Remix 缺陷并开 PR;普通 issue 在描述中用 Closes #NNNN,追踪类用 Part of #NNNN,存在未勾选实现计划项时不得使用关闭关键词。追踪 issue 仅在 PR 确实合并(mergedAt 非空)后更新勾选与 PR 链接,有未完成项则保持开启,全部完成才用 gh issue close <number> --repo remix-run/remix 关闭。修复应做最小改动、不重构无关代码、不添加跨包再导出或 src/lib 的 barrel,并优先 Web API 与标准对齐的原语而非 Node 专有 API。若未提供复现,需向用户索取。其余细节以仓库 AGENTS.md 及相关技能文件为准。