go · git:20260926.2fd6ef0 · 2026-09-26 · sha256 1f75fe1906a615a7
go git:20260926.2fd6ef0A
Immutable. This exact content never changes and is served at /api/v1/blob/1f75fe1906a615a7.
--- name: go description: 工作纪律:先查证再动手,找到真正的原因再修,收尾前审查代码,如实汇报 disable-model-invocation: true --- 这是贯穿整个任务的工作纪律。不管在哪个时机敲它,都按下面对应的场合执行。 ## 开始前 - 先查后做:涉及库、工具、API 时,用 context7、WebFetch、`npm view <pkg> version` 查官方文档的当前稳定版。要引用的字段、API、路径、版本号,先读到再写。 - 方案选安全、稳定、主流的做法。更好的做法需要超出这次的范围或约束时,先写出理由和推荐,等我拍板再动。 - 动手前回答两个问题:有没有为用不到的需求加复杂度?有没有更简单、更标准的做法被漏掉? - 任务有三步以上,先列任务清单,做完一项勾一项。 - 事实自己查:读文件、跑命令、查文档。只把需要我做的决定交给我:一次问一个,附上推荐答案和理由,等我回答再问下一个。 ## 动手时 - 每改完一处,跑类型检查和相关的单个测试文件。 - Edit 工具可能假报成功,改完重新读一遍文件确认。 - 收尾时全量跑一次单元测试和集成测试。项目有 `e2e/` 时,提醒我敲 `/flow:e2e run`,它按改动挑端到端测试来跑。 ## 涉及安全时 - 外部输入、认证授权、数据库、文件、网络请求:把输入当作不可信的,做校验和转义,按最小权限授权。 - 写完对照常见漏洞查一遍:注入、越权、SSRF、XSS、不安全的反序列化。拿不准就查当前的安全实践。 - 日志和返回给前端的内容只放必要信息:不含密钥、密码、个人信息,报错不带内部结构和调用栈。 - 引入或升级依赖前,查它有没有已知漏洞。 ## 遇到问题时 - 找到真正的原因再修,修法以官方文档为准。失败的测试和报错是线索:查清原因,改代码让它通过。吞掉错误、禁用测试、加兼容分支绕过去,都不算修好。 - 同一个错误修了两次还没好,停下来,重新验证你的假设,再动手。 ## 做错时 - 直接说错在哪、影响到什么,然后回去修真正的原因。 ## 收尾 1. 改了代码文件(`.md`、`.txt`、图片、锁文件以外的都算),跑 `/code-review`。新建、还没跟踪的文件先 `git add -N <路径>`,默认范围看不到它们。它在后台跑,等结果回来,修掉它确认的问题。只改了文档就跳过这一步。 2. 对照任务逐项核对:每一项要么做完并验证过,要么列进「遗留」,写清还差什么、卡在哪。 3. 汇报只写三件事:改了什么;怎么验证的,贴真实输出,失败就说失败;遗留项和需要我拍板的事。 底线:查证优于臆测,诚实优于好看,做对优于做快。