使用 Cursor 进行 AI 辅助开发,用于配置或约束 Cursor 遵循的各种规则的文件及位置如下
src/
├── AGENTS.md # 项目规范
├── .cursor/
│ ├── mcp.json # mcp 配置文件
│ └── rules/
│ ├── code.mdc # 编码规则
│ └── workflow.mdc # 工作流程规则
├── docs_ai/
│ ├── summaries/ # AI开发计划文档
│ └── requirements/ # AI开发需求文档
├── docs/ # 项目文档
├── finance/ # 财务系统功能文件,所有二次开发的功能文件目录
│ ├── xxx.php # xxx 功能文件
│ └── xxx_json.php # 对应 xxx 功能文件的 API 接口
└── config/ # 数据库等配置参数
Cursor 规则文件优先级
Cursor按以下优先级读取规则:
.cursor/rules/*.mdc- 最高优先级(项目特定规则),即 Cursor 编辑器菜单下的Settings - Rules & Memories - Project Rules规则.cursorrules- 次优先级(项目根目录规则)- 全局设置 - 最低优先级,即 Cursor 编辑器菜单下的
Settings - Rules & Memories - User Rules规则。注:对话回复没有权限获取此规则内容。
也可以直接在对话进行临时约束。
配置好规则文件后,也可以直接在对话说,同步最新的规则文件并严格遵循,AI 会输出在项目中当前遵循的编码规则,可以对着确认一遍。
Cursor 约束相关文件
目前在用的约束文件
-
项目规范 AGENTS.md
# 项目开发规范 ## 项目信息 - **项目名称**:FinanceProject - **项目类型**:中小微企业代账系统 ## 文档结构 ```bash src/ ├── AGENTS.md # 项目规范 ├── .cursor/ │ ├── mcp.json # mcp 配置文件 │ └── rules/ │ ├── code.mdc # 编码规则 │ └── workflow.mdc # 工作流程规则 ├── docs_ai/ │ ├── summaries/ # AI开发计划文档 │ └── requirements/ # AI开发需求文档 ├── docs/ # 项目文档 ├── finance/ # 财务系统功能文件,所有二次开发的功能文件目录 │ ├── xxx.php # xxx 功能文件 │ └── xxx_json.php # 对应 xxx 功能文件的 API 接口 └── config/ # 数据库等配置参数 ``` ## 技术栈 - 前端:Vue `3.5.2` + Element Plus `2.11.2` + Axios `1.11.0` + icons-vue `2.3.2` - 后端:兼容 PHP `5.3`及 PHP `7.4` + PDO MySQL - PHP 文件禁止使用操作符 `??` - PHP 文件必须使用 `array()` 代替短数组 `[]` - 数据库:MySQL `5.7.26` - 所有 JS 和 CSS 引入方式必须与现有页面保持一致(参考 `finance/system_prompt.php`) - 数据返回格式为 JSON,接口规范与 `finance/system_prompt_json.php` 保持一致 ## UI 要求 - 使用 Element Plus 组件 - 列表用 el-table,新增/编辑用 el-drawer,详情用 el-dialog - 支持响应式布局,避免横向滚动条 - 状态用 el-tag 显示,时间格式 `YYYY-MM-DD HH:mm:ss` ## 开发规范 - 前端代码导入 `Vue`、`Element Plus` 等前端框架,参考 `finance/system_prompt.php`,保持一致的结构和引用方式 - 后端代码数据库连接和接口输出,参考 `finance/system_prompt_json.php`,保持一致的接口风格 - 所有 SQL 必须考虑 **SQL 注入防护**(使用 `mysqli_real_escape_string` 或 `PDO 参数绑定`) - 所有接口返回 JSON 数据,需包含 `success` 和 `msg` 字段 - 前端 axios 请求需处理 `success=false` 的情况,并在页面上提示 `msg` 内容 - 所有 Element 标签使用闭合写法,如 `<el-option></el-option>`,禁止直接 `<el-option />` - 列表 Element 表格,如果单元格内容为空,默认显示 `-` - API 接口规范,所有 API 返回格式示例: - **成功接口示例** ```json { "code": 0, "success": true, "msg": "操作成功", "data": { ... } } ``` - **失败接口示例** ```json { "code": 1, "success": false, "msg": "用户名不能为空", } ``` ## 本地测试 1. **使用域名及账号密码** | 环境名称 | 测试环境值 | 备注描述 | |------|----------|----------| | 测试域名/地址 | http://192.168.81.129:58001 | | 登录用户名 | admin | | | 登录密码 | 123456 | | 2. **接口测试方法** 比如测试项目文件 `finance/system_prompt_json.php`,使用`域名 + 文件`测试: ```bash curl "http://192.168.81.129:58001/finance/system_prompt_json.php?ajax=1&action=list" ``` ## 数据字典 **项目数据字典文件`sql/finance.sql`,获取具体表结构查看文件对应建表语句查询**。 ## 前端模板 保留 Element Plus 和 Vue 导入的方法,实现功能,最终输出一个可运行的单个前端文件。 ```php ``` ## 后端模板 ```php ``` -
工作流程规则 .cursor/rules/workflow.mdc
--- alwaysApply: true --- # 项目开发规则 ## 角色 你是 Cursor IDE 的 AI 编程助手,遵循核心工作流(研究->构思->计划->执行->评审)用中文协助用户,面向专业程序员,交互应简洁专业,避免不必要解释。 ## 项目信息 - **项目名称**:FinanceProject - **项目类型**:中小微企业代账系统 - **详细规范**:参考 `AGENTS.md` 文件 ## 沟通守则 1. 始终使用简体中文回复 `Always respond in Chinese-simplified`。 2. 响应以模式标签 `[模式:X]` 开始,初始为 `[模式:研究]`。 3. 核心工作流严格按 `研究->构思->计划->执行->评审` 顺序流转,用户可指令跳转。 ## 核心工作流 1. [模式:研究] - 分析需求,理解现有代码 2. [模式:构思] - 提供至少两种可行方案及评估(例如:`方案1:描述`) 3. [模式:计划] - 创建文档框架,制定详细实施计划将选定方案细化为详尽、有序、可执行的步骤清单(含原子操作:文件、函数/类、逻辑概要;预期结果;新库用 `Context7` 查询)。不写完整代码。 4. [模式:执行] - 必须用户批准方可执行。严格按计划编码执行。计划简要(含上下文和计划)存入`./docs_ai/summaries/YYYYMMDD_任务名_summary.md`。关键步骤后及完成时反馈。 5. [模式:评审] - 对照计划评估执行结果,报告问题与建议。完善文档,确保完整性。 ## 快速模式 [模式:快速]:跳过核心工作流,快速响应。 ## 文档要求 * **任务计划**:计划阶段必须将详细计划存入 `./docs_ai/summaries/YYYYMMDD_任务名_summary.md` * **文档结构**:包含任务背景、实施计划、代码变更、数据表变更SQL、预期结果、执行状态 * **状态跟踪**:使用复选框跟踪执行进度 * **版本控制**:文档与代码同步提交 ## 技术规范 - **编码规范**:参考 `.cursor/rules/code.mdc` - **项目规范**:参考 `AGENTS.md` - **工作流程**:严格遵循 `研究->构思->计划->执行->评审` 流程 -
编码规则 .cursor/rules/code.mdc
--- alwaysApply: true --- rules: - description: PHP 5.3–7.4 兼容性规则 language: php patterns: - "*.php" guidelines: - 所有 PHP 代码必须兼容 PHP 5.3 和 PHP 7.4。 - 使用 `array()` 代替短数组 `[]`。 - 禁止使用操作符 `??` - 禁止使用类型声明、trait、命名空间、match。 - SQL 必须使用 PDO 参数绑定防注入。 - description: Vue 3.5 + Element Plus 前端规范 language: javascript patterns: - "*.vue" - "*.js" guidelines: - 所有组件基于 Vue 3.5.2 + Element Plus 2.11.2。 - Axios 请求需处理 success=false。 - Element 标签使用闭合写法。 - 列表使用 el-table,新增/编辑使用 el-drawer,详情使用 el-dialog。 -
MCP 配置文件 .cursor/mcp.json
{
"mcpServers": {
"Context7": {
"url": "https://mcp.context7.com/mcp",
"headers": {}
},
"interactive_feedback": {
"command": "uvx",
"args": ["mcp-feedback-enhanced@latest"],
"timeout": 600,
"env": {
"MCP_DESKTOP_MODE": "true",
"MCP_WEB_HOST": "127.0.0.1",
"MCP_WEB_PORT": "8765",
"MCP_DEBUG": "false"
},
"autoApprove": ["interactive_feedback"]
}
}
}