VIP 优惠价 · 非 VIP 标准价

让 Cursor 少踩一次生产坑

不是再搜一遍网上的 React 模板。这是从还在跑的国内全栈产品里抽出来的规则: 按功能提交、禁止 git clean、API 怎么返回、小程序审核怎么写、时间怎么存。

VIP
¥66 / 年
非 VIP
¥199 / 年

免费公开 3 条可直接复制;另外 25 条开通后下载。登录后按身份计价。

为什么值得装

网上规则教模型「怎么写 React」。这包教它「怎么别把正在跑的产品搞砸」。

1

工程纪律

按功能提交、禁止 git clean、定位到 bug 直接修、大文件只拆当前域。少一次灾难性误操作。

2

国内栈

生产 Python 老版本、微信小程序审核用语、WXML 不解析实体、跨云 OSS 不要改内网地址。

3

增长与交付

登录带来源、点击要打点、新功能进搜索、发布清单写全路径。独立开发者最容易漏的那些。

免费公开 3 条

先看、先复制。付费包是同一套风格的完整版,并随我们自己的生产实践更新。

禁止 git clean

生产目录常有未跟踪的数据库、上传和密钥,git clean 会一并删掉。

免费
查看完整 .mdc
---
description: 仓库禁止 git clean,以免删除未跟踪的运行时文件
alwaysApply: true
---

# 禁止 git clean

本仓库禁止执行 `git clean`(任何参数),尤其是:

- `git clean -fd`
- `git clean -xffd`
- 除 dry-run 以外、会删除未跟踪文件的用法

发布 / checkout 只用 `git checkout -f <sha>` 或等价 reset。不要为了「工作区干净」去 clean。

## 原因

生产与开发目录都有未跟踪运行时文件(数据库、uploads、`.env`、logs、session 等)。
`.gitignore` 只能让 checkout 不覆盖,挡不住 `git clean`。

## 禁止

- 发布脚本、运维说明里写 `git clean -fd`
- 把生产目录「整理干净」当成 `git clean`
- 用 `git clean` 删除误生成文件(改为指定路径 `rm`,并确认不是运行时目录)

小程序益智文案避开游戏用语

非游戏类目里写「游戏/失败/成功」,审核很容易卡。

免费
查看完整 .mdc
---
description: 益智/工具类小程序避免游戏向审核敏感词
alwaysApply: true
---

# 小程序审核用语(益智/工具)

面向用户的标题、按钮、Toast、分享文案,默认不要出现:

- 游戏、小游戏、网游、手游、页游
- 游玩、玩家
- 失败、成功(强胜负联想)

可改用:本轮结束、挑战结束、练习数据、最近练习、小工具、益智挑战、完成、达成。

可保留中性词:关卡、本关、过关、益智、挑战、练习、工具。

定位到 bug 后直接修

根因已经清楚还问「要不要修」,会把对话耗在确认上。

免费
查看完整 .mdc
---
description: 根因明确后直接修复,无需再确认要不要改
alwaysApply: true
---

# 定位到 Bug 后直接修复

调查过程中,一旦根因明确、可复现或日志已指向具体代码,直接修复。
先修,再在结论里说明原因、改了什么、如何验证。

仍需先问的情况:产品取舍、破坏性操作、根因不明、用户明确只要分析。

原则:最小改动,只修根因,能做的验证做掉。

开通后还有 25 条

每条都来自线上产品的真实实践,带可直接照抄的写法与检查清单。

按生产 Python 版本写代码

本地高版本能跑、线上 3.6 导入失败,是国内老服务最常见的坑。

国内栈
  • 一份「高版本写法 → 生产可用写法」对照表,本地能跑、线上别炸
  • 上线前自检命令与常见导入失败排查思路

API 统一 JSON 响应

成功失败都带 success/message;未预期异常要记日志,不要把堆栈丢给用户。

工程纪律
  • 统一的 success/message/code/data 四字段返回模板
  • 预期失败与未预期异常的区分写法:异常记日志、message 只给用户能看懂的

禁止对外暴露内部用户主键

递增 user_id 便于枚举撞库;对外用 username 或业务 slug。

工程纪律
  • 一张「哪些出口会泄露内部主键」的对照清单(API/错误/日志/模板)
  • 对外改用 username 或业务 slug 的推荐写法

时间:存 UTC,展示再转本地

直接把库里的 UTC 绑到页面,用户会觉得慢 8 小时。

工程纪律
  • 「入库存 UTC、展示转北京时间」的字段处理约定
  • 避开两个最坑的错误:直接把 UTC 绑 UI(慢 8 小时)、本地时间再 +8(快 8 小时)

按当前功能提交,禁止一锅端

多需求混在一次 commit 里,无法单功能上线也无法回滚。

工程纪律
  • 每次 commit 只含当前功能的 git add 步骤与自检
  • 同一文件被多个功能改到时,怎么拆分提交的决策

说「推送」= 先自测再推

未验证就 push,线上会变成用户的测试场。

工程纪律
  • 用户说「推送」时的完整动作序列:独立可发布 → 自测 → 通过再推
  • 自测失败先修、修到通过才 commit 的强制流程

每次 push 必须可独立上线

半成品进远程,发布清单和回滚都会乱。

工程纪律
  • 「可独立上线」判定清单:主路径可用、配套齐全、生产不退化
  • 识别半成品(入口 404 / 只改一端 / 先推再补)并收束到成品的方法

大文件只拆当前业务域

主路由文件膨胀后,冲突和回归成本会指数上升。

工程纪律
  • 新业务一律独立 *_routes.py、主入口只留 import + 注册的落点
  • 存量超大文件的渐进拆分法:改到哪个业务域就拆哪块,禁止大爆炸

ORM 只用一套 db

多套 SQLAlchemy 实例会导致表未注册、查错库、蓝图 404。

工程纪律
  • 全站只用一套 db:新模型放 models/、用 init_*_models(database) 工厂
  • 避开循环导入与「表未注册 / 查错库 / 蓝图 404」的坑

改 CSS/JS 必须 bump 版本号

用户浏览器会继续用旧缓存,表现为「代码已改、页面没变」。

增长与交付
  • 改 CSS/JS 后同步更新每一处 ?v= 版本号的操作清单
  • 版本号命名约定,防止用户浏览器继续用旧缓存

实心主色底必须用白字

绿底绿字看不清;全局链接色还会把按钮字色盖回去。

增长与交付
  • 绿底白字 + 覆盖全局链接色的完整 CSS 模板(含各伪类与 text-fill)
  • 规避「绿底绿字看不清」与「白字被全局 a 盖回绿色」

网页弹窗 / Toast 用统一组件

自建 toast 容易和全局样式打架,参数顺序反了会出现红底 success。

增长与交付
  • 全站统一弹窗/Toast 的调用 API 与参数顺序(文案在前、类型在后)
  • 不再手写 Bootstrap toast/alert,避免样式打架与红底 success

Nginx 改动写进仓库配置

只口头说「去服务器改」,过两周谁也说不清线上到底是哪份 conf。

增长与交付
  • 改 Nginx 先查仓库 nginx-pro/ 直接改 conf 的工作流
  • 多站点域名 conf 同步检查与 nginx -t && reload 发布操作

脚本 / SQL / 文档分目录

运维脚本、一次性生成器和正式 SQL 混在一起,发布时会拷错。

增长与交付
  • deploy / script / sql / docs 四类目录的分工与随站发布范围
  • 避免把生产运维脚本塞进本机目录、把一次性 SQL 混进正式发布

新功能必须接入可用性探测

上线了但探测没有,回归时这条路径会成为盲区。

增长与交付
  • 新路由/API/管理后台入口补进 API TEST 的落点与写法
  • 探测粒度「够用即可」示例与计数一致的注意点

探测只增不减

「两条路上传差不多」不是删探测的理由,编辑器发布和表单上传不是同一个口。

增长与交付
  • 全平台探测「只增不减」原则,改探测不删旧项
  • 上传/编辑器双路径并存的典型示例与关键字误伤排查

需登录功能记录注册来源页

没有 register_page,后台就无法统计「哪个功能带来了新用户」。

增长与交付
  • 登录/注册 URL 带 register_page + next 的写法与 key 命名规范
  • 后台来源中文名登记与漏参时的 next 兜底推断

网页可点入口默认打点

没有点击日志,落地页转化只能靠猜。

增长与交付
  • 网页各可点入口统一上报 /api/log_click 的约定与写法
  • action 命名稳定可读、上报失败静默不挡跳转

新网页功能写入搜索目录

功能上了但顶栏搜不到,等于没上线。

增长与交付
  • 新网页功能追加 FEATURE_CATALOG 的字段模板与路径要求
  • keywords 口语别名与豁免范围(后台/纯 API/static 页)

协议与隐私政策多端同步

网站改了、小程序还是旧文,属于合规风险。

国内栈
  • 网页 ↔ 小程序 ↔ 商店审核副本的同步文件清单
  • 同一任务内双端对齐,避免两端条款不一致

WXML 不要用 HTML 实体当图标

微信小程序不解析 `&#x...;`,会原样显示成乱码式文字。

国内栈
  • 避开「WXML 不解析 HTML 实体 → 显示成乱码式文字」
  • 图标用 CSS 简笔 / Canvas / 包内静态图的实现优先级

新功能入口默认红点

用户不知道上了新能力;点进去一次后本地记已读。

增长与交付
  • 版本号 + storageKey 的红点管理方案(不依赖服务器)
  • 点进一次即已读、需登录功能登录前不清红点的规则

可传播页面默认带分享

缺分享入口,工具只能靠你自己发链接。

增长与交付
  • 小程序页 onShareAppMessage + 可见分享按钮的最小接入模板
  • 网页复制链接/分享到微信复用站内既有能力,不重写一套

发布提醒必须列出完整文件清单

写「等相关文件」等于没提醒,漏发一个就会出现目录不一致。

增长与交付
  • 交付结论「发布提醒」的固定结构(服务器清单/操作/小程序)
  • 文件逐条枚举、禁止「等相关文件」的写法

跨云 OSS 不要改内网 endpoint

对象存储和应用服务器不在同一云内网时,internal 地址根本不通。

国内栈
  • 跨云架构下判断「不存在 internal 通路」的部署事实
  • OSS 慢/超时的正确优化方向:本地读 / 缓存 / 直链,而不是上内网

常见问题

买之前最常问的几件事。

和网上 awesome-cursorrules 有什么不同?

那些是按框架抄的通用模板。这包来自一个还在跑的国内产品:提交纪律、审核用语、发布时间、探测覆盖,都是真踩过坑才写成规则。

VIP 是免费的吗?

不是。VIP 按 ¥66/年开通本包,非 VIP 为 ¥199/年。规则库只对已付费年费开放;VIP 到期不影响已买年费的有效期。

怎么装进 Cursor?

开通后下载 zip,把 `.mdc` 放到项目的 `.cursor/rules/`。可按仓库改 globs。免费 3 条也可以现在就复制。

会不会把你们内部路径卖给我?

不会。对外包已去掉内部文件路径、账号和表名,改成可迁移的工程约定。