{
  "name": "AI 编程助手高阶 Rules & MCP 协议配置包",
  "version": "1.0.0",
  "description": "适用于 Cursor、Claude Code、Codex 的 System Rules 配置、MCP 扩展协议模板与防御性 Prompt 指令集",
  "bundledAssets": {
    "systemRules": {
      "cursor": {
        "fileName": ".cursorrules",
        "description": "Cursor AI 编辑器 System Rules 配置，防瞎改、架构对齐、代码风格统一",
        "content": "# Cursor System Rules - AI 编程助手高阶配置\n# 适用于 Cursor IDE 的 AI 代码生成与编辑规则\n\n## 核心原则\n\n### 1. 最小改动原则 (Minimal Change Principle)\n- 只修改与当前任务直接相关的代码\n- 不要重构无关代码\n- 不要修改未涉及的函数的签名\n- 不要调整现有代码的格式（除非当前任务要求）\n- 避免引入不必要的依赖\n\n### 2. 架构对齐 (Architecture Alignment)\n- 严格遵循项目现有的目录结构和模块划分\n- 新增代码必须符合项目既定的设计模式\n- 不要引入与项目技术栈不兼容的框架或库\n- 保持与现有代码风格一致（缩进、命名、注释风格）\n\n### 3. 防御性编码 (Defensive Coding)\n- 所有外部输入必须校验\n- 异步操作必须有错误处理\n- 边界条件必须覆盖（空值、空数组、超时）\n- 数据库操作必须使用参数化查询\n- 敏感信息不得硬编码\n\n### 4. TypeScript 严格模式\n- 启用 strict mode\n- 禁止使用 `any` 类型（除非有充分理由并注释说明）\n- 所有函数必须声明返回类型\n- 使用 `const` 断言和 `as const` 优化类型推断\n- 优先使用 `interface` 而非 `type`（除非需要联合类型）\n\n## 代码生成规则\n\n### 命名规范\n- 文件名：kebab-case（`user-service.ts`）\n- 组件名：PascalCase（`UserProfile.tsx`）\n- 函数/变量：camelCase（`getUserById`）\n- 常量：UPPER_SNAKE_CASE（`MAX_RETRY_COUNT`）\n- 类型/接口：PascalCase（`UserProfile`）\n- 私有属性：前缀 `_`（`_internalState`）\n\n### 注释规范\n- 公共 API 必须写 JSDoc 注释\n- 复杂逻辑必须有行内注释说明\n- TODO/FIXME 必须包含负责人和日期\n- 不要写显而易见的注释（如 `// 递增计数器` 在 `i++` 上）\n\n### 错误处理\n- 使用 Result 类型模式或 try-catch\n- 错误信息必须包含足够的上下文\n- 不要在 catch 中吞掉错误\n- 异步函数必须处理 Promise rejection\n\n## 禁止行为\n- 不要生成超过 200 行的单一函数\n- 不要使用 `eval()` 或 `new Function()`\n- 不要在循环中使用 `await`（除非必要且有注释）\n- 不要修改 `.gitignore` 中列出的文件\n- 不要删除或修改已有的测试用例\n- 不要在没有确认的情况下修改配置文件\n\n## 响应格式\n- 先描述将要做什么变更\n- 再给出代码\n- 最后说明变更原因和影响范围\n"
      },
      "claudeCode": {
        "fileName": "CLAUDE.md",
        "description": "Claude Code CLI 的 System Rules 配置，Agent 行为约束与协作规范",
        "content": "# CLAUDE.md - Claude Code Agent 行为规范\n\n## 身份与能力\n你是 Claude Code，一个专业的 AI 编程助手。你的目标是高效、精准地帮助开发者完成任务。\n\n## 核心行为准则\n\n### 变更前必确认\n1. 在修改任何文件前，先阅读并理解其内容\n2. 对于删除操作，必须先确认删除范围\n3. 对于重构，先说明重构计划再执行\n4. 涉及 API 变更时，检查所有引用点\n\n### 代码质量要求\n- 所有新代码必须通过类型检查\n- 不得引入已知的安全漏洞\n- 遵循项目的 lint 规则\n- 新增代码应有对应的测试\n\n### 搜索与查询\n- 优先使用 `rg`（ripgrep）进行高效文本搜索\n- 使用 `ls` 或 `find` 了解目录结构\n- 全局搜索时使用 `rg` 而非 `grep`\n- 搜索符号使用 `rg` 配合正则表达式\n\n### 文件操作\n- 使用 `Edit` 工具进行局部修改（而非重写整个文件）\n- 使用 `Write` 工具创建新文件或完全重写\n- 修改前必须 `Read` 文件\n- 批量修改使用 `Edit` 的 `replace_all` 选项\n\n## 受控操作\n\n### 需要用户确认的操作\n- `git push` 到远程仓库\n- `npm publish` 或 `pip publish`\n- 数据库 schema 变更\n- 删除文件或目录\n- 修改 CI/CD 配置\n- 安装新的依赖包\n- 修改环境变量\n\n### 自动执行的操作（无需确认）\n- 读取文件\n- 搜索代码\n- 运行测试\n- `git status` / `git diff`\n- 代码格式化\n- 类型检查\n\n## 输出规范\n\n### 代码块\n- 使用语言标识符标注代码块\n- 代码变更标注文件路径和行号\n- 多文件变更使用 diff 格式\n\n### 解释说明\n- 先给出结论再展开细节\n- 复杂逻辑用步骤列表说明\n- 配置变更注明影响范围\n- 性能优化注明基准数据\n\n## 项目上下文\n\n### 自动识别\n- 检测 `package.json` 了解依赖和脚本\n- 检测 `tsconfig.json` 了解 TypeScript 配置\n- 检测 `.eslintrc` / `.prettierrc` 了解风格配置\n- 检测 `docker-compose.yml` 了解服务架构\n\n### 惯例推断\n- 从现有代码推断命名规范\n- 从目录结构推断架构模式\n- 从 git 历史推断变更模式\n"
      },
      "codex": {
        "fileName": ".codexrules",
        "description": "Codex/Windsurf AI 编辑器 System Rules 配置",
        "content": "# Codex/Windsurf System Rules\n# AI 编程助手行为规范\n\n## 规则优先级\n1. 安全规则（最高优先级）\n2. 项目约定规则\n3. 代码风格规则\n4. 性能优化建议（最低优先级）\n\n## 安全规则\n- 不得在代码中硬编码密钥、Token、密码\n- 所有用户输入必须经过验证和清理\n- SQL 查询必须使用参数化查询\n- 文件上传必须检查类型和大小\n- 敏感操作必须有审计日志\n\n## 项目约定\n\n### 文件结构\n```\nsrc/\n  components/    # UI 组件\n  hooks/         # 自定义 Hooks\n  services/      # API 服务层\n  utils/         # 工具函数\n  types/         # 类型定义\n  styles/        # 样式文件\n  pages/         # 页面组件\n  layouts/       # 布局组件\n```\n\n### 导入顺序\n1. 第三方库\n2. 项目内部模块（绝对路径）\n3. 相对路径模块\n4. 样式文件\n5. 类型导入（使用 `import type`）\n\n### 组件规范\n- 每个组件一个文件\n- 组件 Props 必须定义接口\n- 使用函数组件 + Hooks\n- 避免 class 组件\n- 导出使用命名导出\n\n## 响应格式\n1. 理解需求 → 确认理解正确\n2. 设计方案 → 说明变更计划\n3. 执行变更 → 最小化改动\n4. 验证结果 → 确认无破坏性变更\n"
      }
    },
    "mcpTemplates": {
      "description": "MCP (Model Context Protocol) Server 扩展协议配置模板，用于集成外部工具与数据源",
      "templates": [
        {
          "name": "文件系统 MCP Server",
          "fileName": "mcp-server-filesystem.json",
          "description": "安全文件系统访问 MCP Server 配置",
          "config": {
            "mcpServers": {
              "filesystem": {
                "command": "npx",
                "args": [
                  "-y",
                  "@anthropic/mcp-server-filesystem",
                  "/path/to/allowed/directory"
                ],
                "env": {
                  "ALLOWED_PATHS": "/path/to/allowed/directory",
                  "READ_ONLY": "false"
                }
              }
            }
          }
        },
        {
          "name": "GitHub MCP Server",
          "fileName": "mcp-server-github.json",
          "description": "GitHub API 集成 MCP Server 配置",
          "config": {
            "mcpServers": {
              "github": {
                "command": "npx",
                "args": [
                  "-y",
                  "@anthropic/mcp-server-github"
                ],
                "env": {
                  "GITHUB_TOKEN": "<your-github-token>"
                }
              }
            }
          }
        },
        {
          "name": "Postgres MCP Server",
          "fileName": "mcp-server-postgres.json",
          "description": "PostgreSQL 数据库 MCP Server 配置",
          "config": {
            "mcpServers": {
              "postgres": {
                "command": "npx",
                "args": [
                  "-y",
                  "@anthropic/mcp-server-postgres"
                ],
                "env": {
                  "DATABASE_URL": "postgresql://user:password@localhost:5432/dbname"
                }
              }
            }
          }
        },
        {
          "name": "Brave Search MCP Server",
          "fileName": "mcp-server-brave-search.json",
          "description": "Brave 搜索引擎 MCP Server 配置",
          "config": {
            "mcpServers": {
              "brave-search": {
                "command": "npx",
                "args": [
                  "-y",
                  "@anthropic/mcp-server-brave-search"
                ],
                "env": {
                  "BRAVE_API_KEY": "<your-brave-api-key>"
                }
              }
            }
          }
        },
        {
          "name": "Puppeteer MCP Server",
          "fileName": "mcp-server-puppeteer.json",
          "description": "浏览器自动化 MCP Server 配置",
          "config": {
            "mcpServers": {
              "puppeteer": {
                "command": "npx",
                "args": [
                  "-y",
                  "@anthropic/mcp-server-puppeteer"
                ]
              }
            }
          }
        },
        {
          "name": "Memory MCP Server",
          "fileName": "mcp-server-memory.json",
          "description": "持久化记忆 MCP Server 配置",
          "config": {
            "mcpServers": {
              "memory": {
                "command": "npx",
                "args": [
                  "-y",
                  "@anthropic/mcp-server-memory"
                ],
                "env": {
                  "MEMORY_PATH": "~/.claude/memory"
                }
              }
            }
          }
        }
      ]
    },
    "defensivePrompts": {
      "description": "防御性 Prompt 与重构指令集，防止 AI 越权修改、精准控制修改范围",
      "prompts": [
        {
          "name": "精准范围控制",
          "category": "scope-control",
          "description": "严格限定 AI 的修改范围，防止越权修改无关代码",
          "prompt": "## 任务范围约束\n\n请严格遵循以下约束条件执行本次任务：\n\n### 允许修改的文件\n- `src/services/userService.ts` （仅 `updateProfile` 方法）\n- `src/types/user.ts` （仅 `UserProfile` 接口）\n\n### 禁止修改的文件\n- 任何测试文件（`*.test.ts`, `*.spec.ts`）\n- 配置文件（`*.config.ts`, `*.config.js`）\n- 样式文件（`*.css`, `*.scss`）\n- 其他未列出的文件\n\n### 修改规则\n1. 只修改与\"用户头像上传功能\"直接相关的代码\n2. 保持所有现有 API 的签名不变\n3. 不要修改已有的错误处理逻辑\n4. 不要调整代码格式（除非当前区域本身需要修改）\n5. 不要删除任何现有注释\n\n### 输出要求\n- 先列出将修改的文件清单\n- 对每个文件说明变更内容和原因\n- 再逐个文件进行修改\n- 最后总结所有变更"
        },
        {
          "name": "代码审查模式",
          "category": "code-review",
          "description": "让 AI 以审查模式分析代码，只输出建议不直接修改",
          "prompt": "## 代码审查模式\n\n请以代码审查员的身份分析以下代码，不要直接修改任何文件。\n\n### 审查维度\n1. **安全性**：是否存在注入风险、敏感信息泄露、权限绕过\n2. **正确性**：边界条件处理、错误处理、类型安全\n3. **性能**：不必要的重渲染、内存泄漏、N+1 查询\n4. **可维护性**：代码复杂度、命名清晰度、注释充分性\n5. **架构对齐**：是否符合项目既定模式\n\n### 输出格式\n对每个发现的问题，按以下格式输出：\n\n```\n[严重程度: 🔴高危 / 🟡中危 / 🟢低危]\n文件: path/to/file.ts:行号\n问题: 一句话描述\n原因: 为什么这是问题\n建议: 具体的修改方案\n```\n\n### 约束\n- 不要输出\"看起来不错\"这类无信息量的评论\n- 每个建议必须有具体的代码示例\n- 优先报告高危和中断问题\n- 不要修改任何文件"
        },
        {
          "name": "重构安全指令",
          "category": "refactoring",
          "description": "安全重构指令，确保重构不破坏现有功能",
          "prompt": "## 安全重构指令\n\n执行以下重构任务，但必须保证零破坏性变更：\n\n### 重构目标\n[在此描述具体的重构目标，如：将 UserService 类拆分为更小的模块]\n\n### 安全约束\n1. **保持所有公共 API 签名不变**\n   - 导出名称、参数类型、返回类型必须一致\n   - 如有破坏性变更，必须先列出并等待确认\n\n2. **保持所有测试通过**\n   - 重构前运行现有测试套件\n   - 重构后运行测试套件\n   - 任何失败的测试必须修复或说明原因\n\n3. **渐进式重构**\n   - 每次只重构一个模块\n   - 每步重构后验证编译通过\n   - 不要在一次提交中混合重构和功能变更\n\n4. **兼容性**\n   - 保持对现有调用方的兼容\n   - 内部重构不改变外部行为\n   - 如有行为变更，必须在注释中说明\n\n### 执行步骤\n1. 分析现有代码结构和依赖关系\n2. 列出重构计划和影响范围\n3. 等待确认\n4. 执行重构\n5. 运行测试验证\n6. 报告结果"
        },
        {
          "name": "上下文感知问答",
          "category": "context-aware",
          "description": "让 AI 基于项目上下文精确回答，避免泛泛而谈",
          "prompt": "## 上下文感知指令\n\n在回答以下问题前，请先执行以下步骤：\n\n### 分析步骤\n1. **搜索相关文件**\n   - 使用 `rg` 搜索关键字\n   - 阅读最近的 git 提交记录\n   - 检查相关配置\n\n2. **理解项目结构**\n   - 查看目录结构\n   - 阅读 README 和 CLAUDE.md\n   - 检查 package.json 依赖\n\n3. **分析调用链**\n   - 追踪函数调用关系\n   - 识别影响范围\n   - 检查测试覆盖\n\n### 回答要求\n- 基于项目实际代码回答，不要给通用建议\n- 引用具体文件路径和行号\n- 如果信息不足，明确说明需要补充什么\n- 不要猜测，不确定的地方说\"不确定\""
        },
        {
          "name": "多步骤任务分解",
          "category": "task-decomposition",
          "description": "将复杂任务拆分为可验证的步骤，逐步执行",
          "prompt": "## 任务分解与执行\n\n请将以下任务分解为可独立验证的步骤，逐步执行。\n\n### 任务描述\n[在此描述复杂任务]\n\n### 分解规则\n1. 每个步骤必须是一个可独立验证的原子操作\n2. 步骤间有明确的依赖关系\n3. 每个步骤完成后必须验证结果\n4. 如果某步骤失败，后续步骤自动暂停\n\n### 执行格式\n```\n步骤 1/N: [步骤名称]\n- 操作: [具体操作]\n- 验证: [如何验证成功]\n- 状态: ⏳进行中 / ✅完成 / ❌失败\n\n步骤 2/N: [步骤名称]\n- 依赖: 步骤 1\n- 操作: [具体操作]\n- 验证: [如何验证成功]\n- 状态: ⏸️等待\n```\n\n### 约束\n- 每步变更不超过 100 行代码\n- 每步完成后等待确认再继续\n- 不要跳过验证步骤\n- 失败时回滚到上一个成功状态"
        }
      ]
    }
  },
  "usageGuide": {
    "title": "使用指南",
    "sections": [
      {
        "step": 1,
        "title": "导入 System Rules",
        "content": "将对应文件复制到项目根目录：\n- Cursor 用户：复制 `.cursorrules` 文件到项目根目录\n- Claude Code 用户：复制 `CLAUDE.md` 内容到项目根目录的 `CLAUDE.md`\n- Codex/Windsurf 用户：复制 `.codexrules` 文件到项目根目录"
      },
      {
        "step": 2,
        "title": "配置 MCP Server",
        "content": "将对应的 MCP Server 配置添加到你的 MCP 配置文件中：\n- Claude Code: `~/.claude/claude_desktop_config.json` 或项目 `.claude/mcp.json`\n- Cursor: 在 Cursor Settings > MCP 中添加 Server\n- 替换配置中的占位符（如 `<your-github-token>`）为实际的 API Key"
      },
      {
        "step": 3,
        "title": "使用防御性 Prompt",
        "content": "在需要进行精准控制的场景下，将对应的 Prompt 模板粘贴到对话开头：\n- 日常开发：使用「精准范围控制」限定修改范围\n- Code Review：使用「代码审查模式」先审查再修改\n- 重构任务：使用「安全重构指令」确保零破坏性变更\n- 问题排查：使用「上下文感知问答」获取精准回答\n- 复杂任务：使用「多步骤任务分解」分步执行"
      }
    ]
  },
  "tags": ["Cursor", "Claude Code", "MCP", "Codex", "AI Programming", "System Rules", "Prompt Engineering"],
  "versionId": "1",
  "id": "cursor-prompts-bundle",
  "meta": {
    "instanceId": "cursor-prompts-bundle-v1"
  }
}