一句话 :把团队约定拆成 Rules(自动约束)、Commands(斜杠命令)、Skills(工作流) 三层。提交到 Git 后 pull 即用 ,不需要 每个人跑 /create-skill。Cursor 读 .cursor/rules/ + .cursor/commands/ + .cursor/skills/;Claude Code 读 CLAUDE.md。
一、三层分别做什么
| 层级 | 位置 | 工具 | 作用 | 怎么触发 |
|---|---|---|---|---|
| Rules | .cursor/rules/*.mdc |
Cursor | 后台约束(SDS、命名、import 等) | 自动加载(alwaysApply 或 globs) |
| Commands | .cursor/commands/*.md |
Cursor | 可复用斜杠命令(/sds、/style、/review 等) |
输入 / 从菜单选择,出现高亮命令块 |
| Skills | .cursor/skills/*/SKILL.md |
Cursor Agent | 多步骤工作流(读规范、多语言推送等) | 被 Commands 引用,或 Agent 按需读取 |
| Legacy | .cursorrules |
Cursor | 旧版单文件规范(仍可用) | 打开项目即加载 |
| Claude | CLAUDE.md |
Claude Code CLI | 命令行工作手册 | claude 启动时向上查找 |
我们主要约束三件事 :组件用 @shoplazza/sds、图标用 @shoplazza/sds-icons、样式优先 Tailwind 预设 class。完整 SDS 规范见仓库 cursorrules.txt 或 SDS 文档。
二、推荐目录结构
bash
.cursor/
├── rules/
│ └── shoplazza-sds-components.mdc # globs: **/*.{tsx,jsx}
├── commands/
│ ├── sds.md # /sds --- SDS 组件库规范
│ ├── style.md # /style --- SDS + Tailwind 完整样式规范
│ ├── review.md # /review
│ └── fix.md # /fix
└── skills/
├── sds/
│ ├── SKILL.md
│ └── sds-rules.md # SDS 规范正文(单一来源)
├── style/
│ └── SKILL.md # 引用 ../sds/sds-rules.md
└── chinese-replace-i18n/
└── SKILL.md
- Rules :轻量、按文件类型自动注入;不要把 300+ 行规范全塞进
alwaysApply: true。 - Commands :出现在 Cursor
/菜单,带高亮命令块 UI,适合「加载规范 / 检查 / 修复」等模式切换。 - Skills:存放执行逻辑与长文档;Commands 通过引用 Skill 加载规范,避免重复维护。
⚠️ 路径规范 :Skills 目录是 .cursor/skills/(没有 中间的 .)。旧路径 .cursor/.skills/ 已废弃,请迁移。
.cursorrules 仍有效;新规范建议逐步拆到 .cursor/rules/ 和 .cursor/skills/,内容与 cursorrules.txt 保持同步即可。
二点五、如何创建新指令(团队共享)
以新增 /review 为例,3 步完成 ,提交 Git 后全团队 pull 即用,不需要 /create-skill。
步骤 1:创建 Command 文件
在 .cursor/commands/ 下新建 review.md,文件名即斜杠命令名:
yaml
---
description: 对选中代码做 SDS 合规检查
---
对选中代码做 SDS 合规检查,输出替换清单。
输出格式:🔴 必须修复 / 🟡 建议修复,每条附正确代码。
description会显示在 Cursor/菜单中- 正文即 Agent 收到指令后应执行的内容
步骤 2(可选):创建配套 Skill
指令逻辑较复杂、或需要引用长文档时,在 .cursor/skills/review/SKILL.md 补充执行步骤:
yaml
---
name: review
description: Review code for SDS compliance. Use when user invokes /review.
disable-model-invocation: true
---
# /review --- SDS 合规检查
1. 读取相关规范文件
2. 逐条检查选中代码
3. 输出 🔴 必须修复 / 🟡 建议修复清单
然后在 commands/review.md 中引用:加载并遵循 .cursor/skills/review/SKILL.md。
简单指令(如「直接修复,不输出报告」)可只写 Command,不必建 Skill。
步骤 3:提交并验证
git add .cursor/commands/review.md(及 skills 文件)git commit+git push- 用 Cursor 打开对应项目文件夹(非 monorepo 根目录)
- 输入
/→ 应出现review→ 选中后出现高亮命令块 - 若未出现,执行 Reload Window(Cmd+Shift+P → Reload Window)
快速判断:我需要建什么?
| 需求 | 建 Command | 建 Skill | 用 /create-skill |
|---|---|---|---|
团队共享的 /xxx 斜杠命令 |
✅ | 复杂时加 | ❌ |
| 引用长规范文档(如 sds-rules.md) | ✅ | ✅ | ❌ |
| 仅自己用的跨项目能力 | ❌ | ❌ | ✅ |
参考:micro-loyalty 已有指令
| 命令 | Command 文件 | Skill 文件 |
|---|---|---|
/sds |
.cursor/commands/sds.md |
.cursor/skills/sds/SKILL.md |
/style |
.cursor/commands/style.md |
.cursor/skills/style/SKILL.md |
三、团队共享 vs /create-skill(重要)
| 方式 | 存放位置 | 是否随 Git 同步 | 是否需要 /create-skill |
|---|---|---|---|
| 项目 Commands | .cursor/commands/*.md |
✅ pull 即用 | ❌ 不需要 |
| 项目 Skills | .cursor/skills/*/SKILL.md |
✅ pull 即用 | ❌ 不需要 |
| 个人 Skills | ~/.cursor/skills/ |
❌ 仅本机 | ✅ 用 /create-skill 创建 |
结论:
- 团队共享的
/sds、/style等指令 → 写在仓库.cursor/commands/+.cursor/skills/,提交 Git 即可。 /create-skill创建的是个人全局 Skill,不会同步给同事,也不会替代项目级斜杠命令。- 斜杠命令的高亮标签框 来自
.cursor/commands/,不是/create-skill。
工作区注意 :做 micro-loyalty 开发时,请用 Cursor 直接打开 micro-loyalty 文件夹 作为工作区根目录。若打开上层 git/ monorepo 根目录,/sds 等命令可能无法出现在菜单中。
四、快捷指令对照(重点)
Cursor vs Claude Code
| 场景 | Cursor | Claude Code |
|---|---|---|
| 生成时带 SDS 规范 | /s(后缀)或 Rules 自动生效 |
--sds |
| 加载 SDS 组件库规范 | /sds(斜杠命令) |
--sds |
| 加载完整 SDS + Tailwind 样式 | /style(斜杠命令) |
--sds 或 @cursorrules.txt |
| 合规检查 | /review |
--review |
| 直接修复 | /fix |
--fix |
| 上线检查 | /ship |
--ship |
| 只解释不修改 | /why |
--why |
/sds 与 /style 的区别
| 指令 | 侧重 | 规范来源 |
|---|---|---|
/sds |
SDS 组件库 + 图标库选型 | .cursor/skills/sds/sds-rules.md |
/style |
SDS 组件 + 图标 + Tailwind 样式 token | 同上(共用 sds-rules.md) |
/s(后缀) |
轻量约束,写在 Rules 里 | 不加载完整规范文件 |
两者共用同一份 sds-rules.md,避免重复维护。需要完整规范时优先用 /sds 或 /style 斜杠命令。
为什么 Claude 不能用 /fix,而要用 --fix?
Claude Code 里,以 / 开头的是内置 Slash 命令 (如 /help、/clear),由 CLI 自己解析,不会 去读项目里的 .cursorrules 或 CLAUDE.md 里写的「/fix = 修复模式」。
因此在 Claude 里:
- ❌ 写
选中这段代码 /fix---/fix会被当成 Claude 内置命令,不会触发 SDS 修复逻辑。 - ✅ 写
选中这段代码 --fix--- 这是写在CLAUDE.md里的后缀约定,Claude 会按文档说明执行。
Cursor 不同 :/fix、/sds、/style 来自 .cursor/commands/*.md,会出现在 / 菜单并显示高亮命令块;也可以写在 Rules 里作为后缀约定(如 /s)。
对照关系:Cursor 的 /fix (commands)≈ Claude 的 --fix (CLAUDE.md) 。同理 /s ↔ --sds,/review ↔ --review。
指令说明与示例
/sds --- 加载 SDS 组件库与图标库规范
按 Figma 实现这个 Banner
(输入 / 选择 sds 后补充任务描述)
/style --- 加载完整 SDS + Tailwind 样式规范
按 Figma 实现这个 Banner
(输入 / 选择 style 后补充任务描述)
/s / --sds --- 生成时遵守 SDS 规范(后缀,不加载完整文件)
bash
帮我实现筛选区域 /s
根据 task.md 生成商品列表页 --sds
/review / --review --- 合规检查,输出 🔴 必须修复 / 🟡 建议修复
bash
检查这个组件的 SDS 合规性 /review
检查这个组件的 SDS 合规性 --review
/fix / --fix --- 直接修复,不输出报告
matlab
/fix
(选中代码后)把选中代码按 SDS 规范直接改掉 --fix
/ship / --ship --- 上线前检查(阻塞上线 / 上线后跟进)
bash
根据 task.md 实现订单详情页 /s /ship
根据 task.md 实现订单详情页 --sds --ship
/why / --why --- 只解释,不修改
bash
这个筛选区域为什么没用 AdvancedFilter?/why
叠加规则 :多个指令空格分隔,先生成,再检查。
bash
帮我生成用户列表页 /s /review
帮我生成用户列表页 --sds --review
五、Claude Code 怎么配
- 在项目根目录(或子项目如
loyalty/)放CLAUDE.md,提交 Git。 - 不会自动读
.cursorrules/.cursor/rules/,需二选一:
-
- 推荐 :
@.cursor/rules/sds-components.mdc或@cursorrules.txt引用同一份规范 - 或在
CLAUDE.md里写精简约定 + 指向规范文件
- 推荐 :
- 必须 在
CLAUDE.md里写## 指令约定,把/映射为--(见上表)。 - 在对应子目录 启动:
cd loyalty && claude,否则读不到子项目CLAUDE.md。
CLAUDE.md 片段示例:
bash
# 项目约定
- 回复使用简体中文
- 组件优先 @shoplazza/sds,图标优先 @shoplazza/sds-icons
@.cursor/rules/sds-components.mdc
## 指令约定
- --sds:生成时遵守 SDS 规范(等同 Cursor 的 /s 或 /sds)
- --review:合规检查(等同 /review)
- --fix:直接修复 SDS 不合规(等同 /fix)
- --ship:上线检查(等同 /ship)
- --why:只解释不修改(等同 /why)
六、Cursor Commands 示例
.cursor/commands/sds.md(micro-loyalty 已配置):
yaml
---
description: 生成或修改 UI 时遵守 Shoplazza SDS 组件库与图标库使用规范
---
加载并遵循项目 skill `sds`(`.cursor/skills/sds/SKILL.md`)及
sds-rules.md 中的组件库规范要求,对当前任务生成或修改 UI 代码。
必须遵守:
- 组件优先 `@shoplazza/sds`,禁止用 div/CSS 自行实现已有组件
- 图标优先 `@shoplazza/sds-icons`,禁止手写 SVG 或引入第三方图标库
- 样式优先 Tailwind 预设 class,避免任意值写法
- SDS 无对应组件/图标时先说明再实现
.cursor/commands/style.md:
yaml
---
description: 生成或修改 UI 时遵守 Shoplazza SDS 组件、图标与 Tailwind 样式规范
---
加载并遵循项目 skill `style`(`.cursor/skills/style/SKILL.md`)及其中引用的 SDS 规范,
对当前任务生成或修改 UI 代码。
.cursor/commands/fix.md:
yaml
---
description: 直接修复选中代码中的 SDS 不合规项
---
直接修复选中代码中所有 SDS 不合规的地方,不输出报告,直接给修复后的代码。
七、和 ESLint 怎么分工
| Rules / Commands | ESLint | |
|---|---|---|
| 时机 | 生成代码前影响 AI 默认选择 | 保存 / CI 时检查已写出的代码 |
| 力度 | 软约束(建议性) | 硬约束(可阻断 CI) |
| 擅长 | 「该用 Modal 而不是 div 弹层」 | text-[14px] 等可规则化语法 |
四层防护:Rules 引导生成 → Commands/Skills 按需检查 → ESLint 兜底 → Code Review。
八、日常怎么用
原则 :Rules 配好后,日常写代码不必每次加 /s;需要切换模式(加载完整规范 / 检查 / 修复 / 上线审查)时,再用斜杠命令或后缀指令。
8.1 日常开发 --- 生成 / 修改 UI
Cursor (micro-loyalty 已配 shoplazza-sds-components.mdc,编辑 *.tsx 时自动注入 SDS 约束):
帮我在 Preview 页接入 EnrollCard,逻辑参考 api.md 2.6.1
需要完整 SDS 组件库规范时,输入 / → 选择 sds:
按 Figma 实现这个 Banner
需要完整 SDS + Tailwind 映射时,输入 / → 选择 style。
Claude Code(loyalty 需在子目录启动):
bash
cd loyalty && claude
css
帮我在 Preview 页接入 EnrollCard,逻辑参考 api.md 2.6.1 --sds
8.2 按需求文档生成页面
bash
根据 loyalty-workflow/v4.2/overview/api.md 实现 SuggestEnableCard 的展示逻辑 /s
bash
根据 loyalty-workflow/v4.2/overview/api.md 实现 SuggestEnableCard 的展示逻辑 --sds
8.3 理解现有代码(只解释,不修改)
bash
这段 useAutoMonitorCrossGuide 为什么区分 isEnroll 和 isJoin?/why
8.4 提交 PR 前自检
bash
检查选中代码的 SDS 合规性 /review
8.5 不合规代码直接修复
Cursor:选中代码后输入 /fix,或:
bash
把选中代码按 SDS 规范直接改掉,不要输出报告 /fix
8.6 上线前全面检查
bash
检查当前改动能否上线 /ship
8.7 多语言替换与推送
micro-loyalty 、loyalty 均已配置 chinese-replace-i18n Skill。在 Cursor Agent 中说:
帮我把这次改动里的中文替换成 i18n
推送多语言
Skill 流程:git diff 找变更文件 → 用 useTranslate / t() 替换硬编码中文 → 写入 locale/zh_CN.ts → 等你确认后再推送到多语言平台。
micro-loyalty 推送命令(确认后执行):
css
npx shoplazza-i18n upload -p 'src/**/locale/zh_CN.ts' -a 会员系统___micro-loyalty -l zh_CN
只维护 zh_CN,不要改 en-US;英文由产品在多语言平台翻译。
8.8 速查表
| 我要... | Cursor | Claude Code |
|---|---|---|
| 写新页面 / 改 UI | 直接描述需求(Rules 已配则自动遵守 SDS) | 同上,或末尾 --sds |
| 加载 SDS 组件库规范 | /sds |
--sds |
| 加载完整 SDS + Tailwind | /style |
--sds 或 @cursorrules.txt |
| 提交前自检 | 选中代码 + /review |
--review |
| 不想手改不合规代码 | /fix |
--fix |
| 上线前 | /ship |
--ship |
| 理解代码 | /why |
--why |
| 多语言 | 说「推送多语言」触发 Skill | --- |
8.9 各项目已配内容(clone 即生效)
git 仓库根(规范源,全团队共用)
| 文件 | 作用 |
|---|---|
cursorrules.txt |
SDS 完整规范(组件 / 图标 / Tailwind token 映射) |
CLAUDE.md |
Claude Code 等价规范 + --sds / --fix 等指令约定 |
micro-loyalty
| 文件 | 作用 |
|---|---|
.cursor/rules/shoplazza-sds-components.mdc |
编辑 tsx 时自动约束 SDS 组件选型 |
.cursor/commands/sds.md |
/sds --- 加载 SDS 组件库与图标库规范 |
.cursor/commands/style.md |
/style --- 加载完整 SDS + Tailwind 样式规范 |
.cursor/skills/sds/SKILL.md |
/sds 执行逻辑 |
.cursor/skills/sds/sds-rules.md |
SDS 规范正文(与 cursorrules.txt 对齐) |
.cursor/skills/style/SKILL.md |
/style 执行逻辑(引用 sds-rules.md) |
.cursor/skills/chinese-replace-i18n/SKILL.md |
多语言替换 + 推送工作流 |
loyalty
| 文件 | 作用 |
|---|---|
CLAUDE.md + AGENT.md |
Claude 项目约定(lint/build、Git 限制等) |
.cursor/rules/shoplazza-sds-components.mdc |
SDS 组件约束 |
.cursor/rules/i18n.mdc |
多语言规则(alwaysApply,禁止写 en-US) |
.cursor/.skills/chinese-replace-i18n/SKILL.md |
多语言工作流(⚠️ 待迁移至 .cursor/skills/) |
.cursor/.skills/check-figma/SKILL.md |
对照 Figma 检查实现(⚠️ 待迁移) |
完整 SDS 组件 / 图标清单 见 cursorrules.txt 或 SDS 文档,本文不重复。