Files
hotime/.cursor/rules/hotime-doc-tdd.mdc
T

46 lines
3.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
description: HoTime Doc-Driven + TDD 门禁
alwaysApply: false
---
# HoTime 工作流
**不可跳过。** Doc-Driven 与 TDD 缺一不可。日常五步:①定位 → ②修改 → ③补/改行为测试并针对性跑至绿 → ④跨模块边界 → ⑤回写文档。未测绿或未回写 = **未完成**。中文回复。
## 定位
- 先锁约 **3~4 个文件**(文档 1~2 + 源码 1~2);跨模块扩到合计约 **4~6**,禁止散改全仓。本次新增或修改的**测试文件计入锁定范围**。先读流程与规则边界再改。口径不清 **先问**。
- 入口:`docs/README.md`、仓根 `README.md`;测试细则 → `docs/Testing_API测试框架.md` / skill `hotime-tdd-testing`。
- 配置 / 部署 / 发版 / 密钥 / 脚本等运维操作:**先查仓内相关 docs**(计入锁定)定可改边界与回滚点,未读禁动手;偏离文档先说明并回写。
## 改与测
- 改接口、ctr、业务逻辑或测试框架:对应 `*_test` 中**无则补、有则改**用例,并跑通至绿;**禁**只改实现不补测;**禁全量**;编译不算测完。
- 单接口样板(`example` 根):`go test ./app/ -count=1 -run 'TestApi/app/<ctr>/<action>'`。可收窄到 1N 个相关子用例(更长 `-run`;名以 `*_test.go` / `go test -list` 为准);**改哪测哪**。
- 用户要求全量或以编译代替行为测时,**明确拒绝**并仍按本条执行。
## 文档
- **有旧改旧**;无篇目且确有缺口才新建,禁不查就建、禁同一入口重复建档;旧文日常只补受影响节。
- 业务/工程文写**流程与口径、规则边界、职责与影响、怎么测**,字段按需、必要处配 mermaid;**禁** UI 皮相与实现转法(for/if、组包细节堆砌);对照源码是核验不是抄写。只写最终态、禁臆测。
- **触改即升级**:回写正文时该篇明显不合规 → 先通读全文并核验源码/测试/必要上下游,**整篇重写**为该入口完整最终态;**禁**删成只剩本次内容、禁借机扫仓瘦身。
- 路径用相对 Markdown 链接;**禁**绝对路径、`file:///`、`~/`。archive / 审计目录 **不作**依据。新建须回写 `docs/README.md`。
## Git 合并冲突
- 解冲突时:**禁止**用 `ours` / `theirs` 或「以一侧为准」整文件覆盖,从而丢掉另一侧有效改动。
- **尽量保存两边代码**:对照两侧 diff,把两边意图合进同一最终文件。
- **业务冲突由 AI 合成**:读懂两边改动后产出可运行结果;仅当同一字段互斥才给出合成结论,并在回报里说明取舍理由。
- modify/delete:先判断删除侧是否为有意清理、修改侧是否仍有业务价值;能保留则保留或迁到合理路径,禁不读 diff 就整侧丢弃。
- **Swagger 例外(硬规则)**`tpt/swagger/`、`example/tpt/swagger/` 等为测试框架生成物,**永不**纳入版本管理、**永不**为 swagger 解冲突或花精力合并;遇相关冲突直接按「移出跟踪 + 忽略」处理。
## 回复
- 先结论;对话摘要 + 文档路径 + **改动定位(文件·位置·原因)**;禁大段复述 docs。
- 排障四层:正常行为 → 断点 → 故障点 → 修正与复验。
- 凡改代码或报完成:末尾必须一行 `【门禁】锁定:… | 补测并跑绿:是/否 | 文档回写:是/否/无 | 新建or旧文:…`;缺一不可。闲聊不要求。勾选空洞/矛盾/丢格式 → 宜新开窗口。
## 批量补文档(仅整包)
一文一题;按分型写完整,密度自检以「无 UI 皮相 / 无实现复述」为准;最少 2 轮自检。日常小改不适用。