Cursor SOP 技巧 、操作步骤、示例和文档生成,这方法能够提升生成效率和代码质量:
1. 准备工作 (Documentation & Tracking):
文档化: 虽然 AI 不能物理地创建文件夹,但你可以告诉 AI 你已经将文档放在哪里,并让它知道这些文档的存在和用途。
指令示例: "请注意,项目的关键文档,包括 PRD、流程图和技术规范,都保存在 Documentation 文件夹中。" 或 "所有设计规范都在 @design_specs 文档中。"
进度追踪: 你需要手动创建这两个文件,然后指示 AI 如何使用它们。
指令示例: "我创建了 progress.md 文件来记录我们的每日进展、遇到的问题和解决方案。请在完成每个主要任务后,更新该文件。"
指令示例: "我们使用 project-status.md 文件来记录每个工作会话的总结和下一步计划。在本次会话结束时,请更新该文件。"
2. 日常 Prompting 核心步骤:
A. 清晰指令:
修复错误: 直接告诉 AI 你要修复错误,并提供相关信息。
指令示例: "代码编译时出现错误:'...'。请分析导致当前错误的根本原因,并提供修复步骤。"
新增功能: 明确说明你要添加什么功能,并引导 AI 参考相关文档。
指令示例: "我们需要添加用户注册功能,参考 @user_auth.md 文档,请说明实现此功能所需的步骤。"
结构化指令: 使用编号或其他明确的分隔符来组织你的指令。
指令示例: "请按照以下步骤操作: 1. 完成侧边栏菜单的样式调整。 2. 为主页添加一个轮播图组件。 3. 参考 @carousel_design.md 文档,说明轮播图的实现方式。"
B. 提供背景 (Context):
任务更新: 明确地告诉 AI 任务已经完成。
指令示例: "我已经完成了侧边栏菜单的样式调整。" 或 "正如你之前所建议的,菜单对齐已完成。"
进度同步: 指示 AI 更新 progress.md 文件。
指令示例: "
@progress 请更新进度文件。我们已完成用户注册功能,但遇到了数据库连接问题,通过更新数据库驱动程序解决了。"
会话总结: 指示 AI 在会话结束时更新 project-status.md。
指令示例: "@project-status 请更新会话总结。回顾我们今天完成的工作,并为下次会话制定初步计划。"
C. 控制执行 (Agent Control & Verification):
限定范围: 要求 AI 在执行任何代码更改之前,先提供详细的计划。
指令示例: "在开始集成支付功能之前,请先阅读 @payment_integration.md 文档,并使用思维链推理,详细列出支付集成的所有步骤,包括宏观和微观层面的细节。"
计划审查: 仔细阅读 AI 提供的计划,并提出问题或要求修改。
指令示例: "你提供的支付集成计划中,第 3 步似乎缺少了身份验证环节。请补充这部分内容。" 或 "这个计划看起来不错,可以开始执行了。"
3. 特殊情况:
使用 Model 01: 在 Prompt 中明确指出你需要更精确的输出,并提醒 AI 避免无关信息。
指令示例: "使用 Model 01,请提供关于用户登录流程的具体代码实现,重点关注安全方面,避免包含不必要的解释。"
关键策略:
明确地告诉 AI 你要它做什么。 不要假设 AI 知道你的意图。
引用文档时使用 @ 符号。 Cursor 可以识别并读取这些文档。
使用特定的指令词语。 例如 "请分析","请说明","请更新","请列出"。
将 SOP 的步骤转化为对 AI 的任务。 例如,SOP 说要 "记录每日进展",你就指示 AI "
@progress 请记录今天的进展..."
审查 AI 的输出。 不要盲目信任 AI,要检查它的计划和代码是否符合你的预期。
提供反馈。 如果 AI 的表现不佳,要告诉它为什么,并提供更明确的指导。
示例对话流程:
你: "我们今天要开发用户登录功能。相关的设计文档在 @login_design.md。请阅读该文档并告诉我你对登录流程的理解。"
AI: (总结文档内容)
你: "很好。现在,请根据 @login_design.md 中的描述,详细列出实现用户登录功能的所有步骤,包括前端和后端。" (对应 "清晰指令 - 新增功能" 和 "控制执行 - 限定范围")
AI: (列出步骤)
你: "在开始编写代码之前,请在
@progress 文件中记录我们即将开始用户登录功能的开发。" (对应 "提供背景 - 进度同步")
你: (审查 AI 的步骤) "你列出的步骤中缺少了密码加密环节。请在后端步骤中加入密码加密的说明。"
AI: (更新步骤)
你: "现在这个计划看起来更完整了。请开始编写用户登录功能的后端代码。"
(代码编写过程)...
你: "后端代码编写完成。请在
@progress 文件中记录后端开发已完成,并遇到了数据库连接问题,但已通过更新连接字符串解决。" (对应 "提供背景 - 进度同步")
... (继续进行前端开发或其他步骤)...
你: "今天的开发会话即将结束。请更新 @project-status 文件,总结我们今天完成的工作,并为下次会话规划任务。" (对应 "提供背景 - 会话总结")
文档包括:项目需求文档、应用流程文档、Frontent Guidelines 文档、后端结构文档、技术栈文档、文件结构文档
文档生成具体 Prompt 示例:
1. 项目需求文档 (PRD)
基础 Prompt: "请为 [你的项目名称] 撰写一份项目需求文档 (PRD)。该项目旨在 [简要描述项目目标和用途]。目标用户是 [描述目标用户群体]。核心功能包括 [列举核心功能]。请包含以下主要章节:1. 项目目标 2. 目标用户 3. 核心功能详细描述 4. 用户故事示例 5. 非功能性需求(例如性能、安全性) 6. 未来展望。"
更详细的 Prompt: "请为一款名为 [应用名称] 的移动端社交应用撰写详细的项目需求文档 (PRD)。该应用旨在帮助用户 [核心价值主张],例如“发现和分享本地美食”。目标用户是 [描述目标用户,例如“18-35岁的城市居民,喜欢探索美食并与朋友分享”]。核心功能包括:用户注册/登录、浏览附近餐厅、发布美食评价和照片、关注其他用户、搜索餐厅和菜品、以及简单的消息通知。请详细描述每个核心功能的用户流程和预期行为,并提供至少三个用户故事示例。请考虑以下非功能性需求:应用响应速度快、数据安全可靠、界面简洁易用。请以 Markdown 格式输出。"
2. 应用流程文档
基础 Prompt: "请为 [你的项目名称] 描述其主要的应用流程。从用户 [起始操作] 开始,到用户 [结束操作] 结束,详细描述每一步的操作和系统行为。请以清晰的步骤描述,并指出关键的判断节点。"
更详细的 Prompt: "请描述用户在我们的电商网站上完成一次成功购物的应用流程。从用户浏览商品开始,到用户成功支付订单结束。详细描述每一步的操作(例如:添加到购物车、填写收货地址、选择支付方式)以及系统相应的行为(例如:更新购物车数量、生成订单、调用支付接口)。请指出流程中的关键判断节点,例如:库存不足的情况、支付失败的情况等。请考虑使用流程图的文字描述方式,方便后续生成流程图。"
3. 前端 Guidelines 文档 (Frontend Guidelines)
基础 Prompt: "请为 [你的项目名称] 的前端开发团队制定一份前端开发 Guidelines 文档。包括但不限于代码风格规范、组件命名规范、目录结构建议、状态管理方案、以及常用的 UI 组件和模式。"
更详细的 Prompt: "请为 [你的项目名称] 的前端开发团队制定一份详细的前端 Guidelines 文档。该项目使用 [前端框架,例如 React/Vue/Angular]。请包含以下内容:
代码风格规范(例如:ESLint 配置建议、代码格式化工具建议)
组件命名规范(包括文件夹命名、文件命名、组件命名)
目录结构建议(如何组织 components、pages、assets 等文件夹)
状态管理方案(例如:使用 Redux/Vuex/Context API 的最佳实践)
常用 UI 组件和模式(例如:按钮、表单、列表的通用实现方式)
响应式布局的实现策略
性能优化建议
可访问性 (Accessibility) 最佳实践
请以 Markdown 格式输出。"
4. 后端结构文档 (Backend Structure)
基础 Prompt: "请为 [你的项目名称] 的后端系统设计一份架构文档。包括但不限于系统模块划分、API 设计原则、数据库设计概要、以及安全策略。"
更详细的 Prompt: "请为 [你的项目名称] 的后端系统设计一份详细的架构文档。该后端系统将使用 [后端技术栈,例如:Node.js with Express, Python with Django/Flask]。请包含以下内容:
系统模块划分和职责描述(例如:用户管理模块、商品管理模块、订单管理模块)
API 设计原则(例如:RESTful API 规范、请求方法、状态码使用)
核心 API 端点示例(列举几个重要的 API 接口及其用途)
数据库设计概要(主要数据表及其字段说明)
认证和授权方案
部署架构方案
监控和日志记录策略
请以 Markdown 格式输出。"
5. 技术栈文档 (Technical Stack)
基础 Prompt: "请列出并简要解释 [你的项目名称] 使用的技术栈。包括前端技术、后端技术、数据库、以及其他工具和服务。"
更详细的 Prompt: "请为 [你的项目名称] 编写一份详细的技术栈文档。请列出并详细解释项目中使用的每项技术,包括:
前端技术: (例如:React v18, TypeScript, Redux Toolkit, Tailwind CSS),并说明选择这些技术的原因和优势。
后端技术: (例如:Node.js v16, Express.js, NestJS),并说明选择这些技术的原因和优势。
数据库: (例如:PostgreSQL, MongoDB),并说明选择这些数据库的原因和优势,以及数据库的部署和管理方式。
中间件和工具: (例如:Nginx, Docker, Kubernetes, Redis, Kafka),并说明它们在项目中的作用。
测试框架: (例如:Jest, Cypress),并说明如何进行单元测试和集成测试。
部署平台: (例如:AWS, Azure, Google Cloud),并说明部署方案。
请以 Markdown 格式输出。"
6. 文件结构文档 (File Structure)
基础 Prompt: "请为 [你的项目名称] 的代码仓库设计一份推荐的文件结构。包括前端和后端的目录组织方式,以及核心文件的命名规范。"
更详细的 Prompt: "请为 [你的项目名称] 的代码仓库设计一份详细的文件结构文档。该项目采用 [前端框架] 和 [后端框架]。请分别描述前端和后端的目录结构,并解释每个主要目录的作用。例如:
前端目录结构:
src/: 源代码目录
components/: 通用组件
pages/: 页面组件
assets/: 静态资源
styles/: 样式文件
utils/: 工具函数
services/: API 请求服务
public/: 公共资源
后端目录结构:
src/: 源代码目录
controllers/: 控制器
models/: 数据模型
routes/: 路由定义
services/: 业务逻辑服务
middlewares/: 中间件
config/: 配置文件
database/: 数据库相关
请解释每个目录的作用,并给出关键文件的命名建议(例如:组件文件、路由文件、模型文件)。请以 Markdown 格式输出。"