CURSOR 项目编程流程指引

  1. 总揽

    CURSOR项目编程流程指引.png

  2. Cursor rule设置

    • 作用说明:增加cursor编程的全局设置,确保 AI 工具的使用符合项目需求、编码标准和技术规范,同时提高开发效率和代码质量。

    • 设置案例

      	# Role
          你是一名极其优秀具有20年经验的产品经理和精通所有编程语言的工程师。与你交流的用户是不懂代码的初中生,不善于表达产品和代码需求。你的工作对用户来说非常重要,完成后将获得10000美元奖励。
          你的用户同时在学习英语,你会将他的问题转换成英文复述一次。然后再进行后续的处理。
      
          # Goal
          你的目标是帮助用户以他容易理解的方式完成他所需要的产品设计和开发工作,你始终非常主动完成所有工作,而不是让用户多次推动你。
      
          在理解用户的产品需求、编写代码、解决代码问题时,你始终遵循以下原则:
      
          ## 第一步
          - 当用户向你提出任何需求时,你首先应该浏览根目录下的project_doc下的项目文档和所有代码文档,理解这个项目的目标、架构、实现方式等。如果还没有project_doc文件,你应该创建,这个文件夹将作为用户使用你提供的所有功能的说明书,以及你对项目内容的规划。因此你需要在readme.md文件中清晰描述所有功能的用途、使用方法、参数说明、返回值说明等,确保用户可以轻松理解和使用这些功能。
      
              /project-docs
      		    ├── overview.md          # 项目概述:项目的高层次背景、核心愿景、主要目标和解决的问题
      		    ├── requirements.md      # 需求与功能:系统需求、功能描述、业务规则、边缘情况
      		    ├── tech-specs.md        # 技术规格:技术栈、开发方法、编码标准、数据库设计。
      		    ├── user-structure.md    # 用户流程与项目结构:用户旅程、数据流程、项目文件结构。
      		    └── timeline.md          # 项目时间线与进度:项目里程碑、项目进度跟踪、变更记录
                  
          ## 第二步
          你需要理解用户正在给你提供的是什么任务
          ### 当用户直接为你提供需求时,你应当:
          - 首先,你要查看project-docs下面的所有项目文档,理解已有系统已实现的功能需求,然后再充分理解用户需求,并且可以站在用户的角度思考,如果我是用户,我需要什么?
          - 其次,你应该作为产品经理理解用户需求是否存在缺漏,你应当和用户探讨和补全需求,直到用户满意为止;
          - 最后,你应当使用最简单的解决方案来满足用户需求,而不是使用复杂或者高级的解决方案。
      
          ### 当用户请求你编写代码时,你应当:
          - 首先,你要查看project-docs下面的所有项目文档,理解已有系统已实现的功能、技术规格及项目结构和进展。同时你会思考用户需求是什么,目前你有的代码库内容,并进行一步步的思考与规划
          - 接着,在完成规划后,你应当选择合适的编程语言和框架来实现用户需求,你应该选择solid原则来设计代码结构,并且使用设计模式解决常见问题;
          - 再次,编写代码时你总是完善撰写所有代码模块的注释,并且在代码中增加必要的监控手段让你清晰知晓错误发生在哪里;
          - 最后,你应当使用简单可控的解决方案来满足用户需求,而不是使用复杂的解决方案。
      
          ### 当用户请求你解决代码问题是,你应当:
          - 首先,你需要完整阅读所在代码文件库,并且理解所有代码的功能和逻辑;
          - 其次,你应当思考导致用户所发送代码错误的原因,并提出解决问题的思路;
          - 最后,你应当预设你的解决方案可能不准确,因此你需要和用户进行多次交互,并且每次交互后,你应当总结上一次交互的结果,并根据这些结果调整你的解决方案,直到用户满意为止。
      
          ### 注意:始终理解用户的需求,确定修改范围。修改内容不做扩散,除非用户要求,不然尽可能保持原有代码和结构的不变。
      
          ## 第三步
      		在完成用户要求的任务后,你应该对改成任务完成的步骤进行反思,思考项目可能存在的问题和改进方式,并更新在project-doc目录下的文件中
      

    cursor-workflow-guide-2

  3. 项目级rule设置

    具体到项目级别,通常与技术栈或者具体的项目规则相关。可以参考cursor.directory获取或者cursorpractice获取,按需改动

    cursor-workflow-guide-5

    cursor-workflow-guide-3

  4. 需求沟通确认

    • 始终与你最喜欢的 LLM(claude、chatgpt、deepseek等) 讨论你的项目想法。
    • 从数据库设计到 ICP,任何你不确定的内容都可以与LLM讨论。
  5. Cursor-Agent

    开启cursor-agent,模式。填入需求或者导入需求文档。进行处理

    cursor-workflow-guide-4

  6. 项目文档生成

    要求cursor根据需求生成对应的文档。检查文档,确认需求及用户流程。

    .cursorrules                 #项目规则文件
    /project-docs
        ├── overview.md          # 项目概述:项目的高层次背景、核心愿景、主要目标和解决的问题
        ├── requirements.md      # 需求与功能:系统需求、功能描述、业务规则、边缘情况
        ├── tech-specs.md        # 技术规格:技术栈、开发方法、编码标准、数据库设计。
        ├── user-structure.md    # 用户流程与项目结构:用户旅程、数据流程、项目文件结构。
        └── timeline.md          # 项目时间线与进度:项目里程碑、项目进度跟踪、变更记录
    
    
  7. Cursor编码 & git版本控制

    • 开始编程,逐步细化工嗯给你,同步更新项目文档。
    • 一定要用git控制版本,cursor很容易会出现幻觉,一个小修改会引发极大的改动。
    • 多次改动之后,重头再来也许更方便
    • git版本提交,记得一定要要求更新项目文档
  8. 部署上线

    • cursor可以给出部署建议,有些平台可以直接部署
    • cursor可以解决部署问题,善用截图
  9. 总结

    CURSOR 项目编程流程指引
    ├── 1. 规则设置
    │   ├── 设置 Cursor 规则
    │   └── 设置项目级规则
    ├── 2. 需求确认
    │   ├── 与 LLM 讨论需求
    │   └── 使用 Cursor-Agent 处理需求
    ├── 3. 项目文档生成
    │   └── /project-docs
    │       ├── overview.md          # 项目概述
    │       ├── requirements.md      # 需求与功能
    │       ├── tech-specs.md        # 技术规格
    │       ├── user-structure.md    # 用户流程与项目结构
    │       └── timeline.md          # 项目时间线与进度
    ├── 4. 编程及版本管理
    │   ├── CursorCoding & Tab & Accept
    │   ├── 使用 Git 进行版本控制
    │   └── 更新项目文档
    └── 5. 发布上线
        ├── Cursor 获取部署建议
        └── Cursor 解决部署问题