跳转至

Rules 索引

工作流 / 工具使用 / 操作步骤的规则集。遇到对应触发场景立即查询

元规则(最高优先级)

文档 描述 何时用
元规则:按需建档机制 按需建档机制:用户首次描述某工具用法/工作流时,AI 立即落档 ⭐ 每次会话开始就要记住,用户讲新规则时触发

通用流程规则

文档 描述 何时用
版本发布流程 从「备份」到「打 zip」的完整版本更新流程 用户说「升版本」「构建」「打包」
备份与开发日志 改代码前备份 + 全程开发日志规范 每次版本更新(必读)
改设置项 / UI 文案 — 前置自查 改 settings 字段或调度 label/helper 前的必做检查 用户说「label 不对」「文案误导」「加新设置」

工具使用 / 兜底方案

文档 描述 何时用
中文标点 → Edit 工具兜底方案 Edit 报 String to replace not found 时改用 Python 切片 Edit 失败 2 次后立即换方案

性能 / 数据查询

文档 描述 何时用
扫描类计数 — countByQuery 优先 / 警惕 50k 窗口家族 bug 写或改派生计数(KPI / sidebar / stats)前必看;ISSUE-0018/0050/0051/0074 4 次复发的根因 写新 KPI / sidebar count;改 selectByQuery 派生统计

UI 列 / 表格设计

文档 描述 何时用
UI 改动前置自查清单 改 UI 文案 / 颜色 / chip / 渲染逻辑前必跑 — 防"改了 A 漏了 B" 改字段渲染 / 加新列
UI 列维度一致性 同一行各列必须看同一对象;row 字段 + URL 聚合混搭必然矛盾 加新 UI 列
分组聚合取代表 — 必须按 score useMemo / Map dedupe 取「第一个」是隐性 bug;要按价值 score 写去重视图 / group by

调试 / 修 bug 流程

文档 描述 何时用
Fix-Regression 防御 — 修 A 不引入 B impact-trace 列触发路径;兜底文案不假定;副作用矩阵;本项目 4 次连环 fix-regression 案例 修任何 bug 前
空体 async 函数扫描 — 防迁移空壳静默丢数据 scan:empty-async-fn 揪 async (...) => {} 空壳;baseline + 豁免注释;ISSUE-0086 沉淀 迁移整库 / 改 async 函数 / pre-commit 报新增空体

状态机 / 缓存 / 抓取设计

文档 描述 何时用
信号维度纪律 — 页级信号不能升级到站级 抓取/状态/缓存设计区分 row/URL/domain/global 维度;ISSUE-0075/0076 家族根因 写新状态机规则 / 缓存层 / 黑名单
数据提取质量防御 — 写入/读取/存量三层 任何抽取+共享类字段都要三层防污染;ISSUE-0080 phone 误抓坐标教训 加新抽取字段 / 设计共享池 schema

外部工具集成 / 版本控制

文档 描述 何时用
GitHub 推送规则 首次推送 + 日常同步 + 同步策略(什么推什么不推) 用户说「推 github」「同步」「初始化 git」
批量 rm untracked 文件 — 安全清单 清 untracked 前必先 git add 新建文档 + dry-run 看清单;防误删(ISSUE-0079) 跑 git clean / rm untracked / xargs rm 前

占位(按需建档)

文档 描述 何时建
~~picgo-图片上传.md~~ TODO:用户首次描述 picgo 接口用法时建 用户说「用 picgo 上传」时

~~划线~~ 的代表「等用户首次描述时再建」—— 遵守元规则。建好后从此列移到正常索引。

新增规则的检查表

新增 rules/<主题>.md 时:

  • _template.md 起手
  • 头部元数据填全(描述 / 最后更新 / 触发场景)
  • 「什么时候用」给 3 个具体场景,让未来 AI 能直接判断
  • 标准操作步骤可复制粘贴
  • 「易错点」/「完成后必做」非空
  • 回到本文件新增一行

命名约定

  • 中文标题文件名:<主题>.md(如 version-release-flow.md
  • 元文档加 00- 前缀:表示「最高优先级,先读」
  • 工具名连字符:picgo-图片上传.mdgithub-推送时机.md

全部 rules

标题 描述 链接
元规则:按需建档机制 用户首次描述某工具用法/工作流时,AI 必须立即落档,杜绝重复描述 打开
备份与开发日志 改代码前必做的备份 + 全程开发日志记录规范 打开
Rule — 修 bug 必走全字典扫描(防补丁不彻底家族) 每修一个 ISSUE 后必扫所有同模式 — 防止"修了触发点,漏了姊妹 打开
Cloudflare Pages 部署指引 MkDocs site 发布到 Cloudflare Pages 的一次性配置 + 后续 push 自动部署 打开
批量 rm untracked 文件 — 安全清单(防误删新建文档) ISSUE-0079 复盘 — rm untracked 前必先 git add 新建文档 + dry-run 看清单 打开
扫描类计数 — countByQuery 优先 / 警惕 50k 窗口家族 bug 任何 selectByQuery({limit, order:id desc}) + 循环计数 都是隐性 bug;4 次复发的家族 打开
数据提取质量防御 — 写入/读取/存量三层防污染(共享池必备) ISSUE-0080 phone 误抓 GPS 坐标教训;任何字段抽取都要三层防御 打开
文档目录规范 — 什么在根 / 什么在 docs/ repo 根目录与 docs/ 二分规则;防文档散落破坏五层漏斗结构 打开
Fix-Regression 防御 — 修 A 不要引入 B,修 B 不要引入 C 修 bug 前必做 impact-trace 列举所有触发路径;兜底文案不假定单一原因;同文件改动追踪 打开
GitHub 推送规则 首次推送到 github + 日常同步策略 + 推哪些不推哪些 打开
分组聚合取代表 — 必须按 score,不能取"第一个 useMemo / Map.set 分组去重时取"第一遇到的"是隐性 bug;要按价值 score 选最佳代表 打开
Rule — 独立 agent 审查(消除作者 anchor bias) 关键代码必须由没参与原始实现的独立 agent 复核 打开
Rule — MV3 持久化陷阱清单(每次 background 改动跑一遍) setTimeout / module-let / SW kill 等 MV3 通用陷阱的自查清单 打开
Rule — 禁止阉割式修复(功能不工作 ≠ 删功能) 遇到「点了没反应」不能用 disabled / sortable:false / hidden 偷懒 — 99% 是「客户端能做但要写代码」,不是真做不到 打开
每版本沉淀检查表 — 何时必建 ISSUE / wiki / SPEC 版本完成 commit 前的强制自查清单,防"小修不归档"积累成历史空白 打开
Rule — 重构后语义清单(防 hook 化丢副作用) 大重构(hook 抽取 / 组件拆分 / 模块化)后必做的副作用语义对账,防丢 useEffect/setState 的次生行为 打开
Rule — React 前端 lifecycle 清单 useEffect cleanup / unmount race / setInterval 在组件内 等 React 通用陷阱 打开
抓取 pipeline 决策表 / mstage 标签速查 SPEC-004 多阶段抓取 — 每种 mstage 标签的含义、UI 颜色、DB 行为速查;改 UI 或逻辑前必看 打开
改设置项 / UI 文案 — 前置自查 改 settings 字段或调度相关 label/helper 前的必做检查 打开
信号维度纪律 — 页级信号不能升级到站级状态 状态机 / 缓存 / 黑名单设计时区分 row / URL / domain / global 维度;错位升级 = 隐性 bug 打开
Rule — 待办登记("想做但先不做"的归宿) 用户/AI 想到要做但当前不做的事情如何登记,确保不遗忘 打开
UI 改动前置自查清单 改 UI 文案 / 颜色 / chip / 渲染逻辑前,必跑的"扫描所有重复渲染点"清单 — 防"改了 A 漏了 B 打开
UI 列维度一致性 — 同一行各列必须看同一对象 列 A 看 row 字段、列 B 看 URL/全局聚合 是隐性 bug;同一行视觉上必然矛盾 打开
用户反馈前置查询 — 先查 INDEX 再动代码 用户报 bug / 提需求时,按反馈类型给具体 grep 命令清单,防直接读代码错过历史 打开
版本发布流程 每次版本更新的标准动作 — 从「准备」到「发布」的完整流程 打开
版本发布铁律 — 项目版本更新总规范 改设置页/调度逻辑/文案前必读;第七章 MV3 持久化陷阱 16 条铁律 打开
中文标点 → Edit 工具兜底方案 含中文标点的旧 JSX/TS 改不动时,用 Python 切片替换 打开