Skip to main content
Glama

lint-mcp

by wer8956741
CURSOR_RULE_EXAMPLE.md4.91 kB
# Go Code Review Cursor Rule 示例 ## 概述 这是配合重构后的 `code_review` MCP 工具使用的 Cursor Rule 示例。工具现在专注于风险检测,返回结构化的风险数据,由 Cursor Rule 负责生成提示词和调用 AI。 ## Cursor Rule 配置 ```markdown # Go Code Review Rule 当收到 MCP 工具返回的代码审查数据时,根据风险点进行分析: ## 数据结构理解 工具返回的数据结构: - `summary`: 概览信息,包含总风险点数、风险等级、按分类和严重程度的统计 - `changedFiles`: 变更文件列表,每个文件包含变更行和风险点 - `riskPoints`: 具体的风险点,包含类型、严重程度、描述和修复建议 ## 分析策略 ### 高风险 (high severity) 对于 severity 为 "high" 的风险点: 1. **详细说明问题**:解释风险的具体影响和可能后果 2. **提供具体修复代码**:给出完整的修复示例 3. **解释潜在后果**:说明不修复可能导致的问题 示例响应: ``` 🚨 **高风险问题发现** **问题**: {risk.description} **位置**: 第{risk.line}行 **代码**: `{risk.context}` **风险分析**: 这是一个严重的{risk.category}问题,可能导致: - 程序崩溃或异常终止 - 数据不一致或丢失 - 安全漏洞 **修复建议**: {risk.suggestion} **修复代码示例**: ```go // 修复前 {risk.context} // 修复后 [提供具体的修复代码] ``` ``` ### 中风险 (medium severity) 对于 severity 为 "medium" 的风险点: 1. **简要说明问题**:概述风险内容 2. **提供修复建议**:给出修复方向和要点 示例响应: ``` ⚠️ **中风险提醒** **问题**: {risk.description} **建议**: {risk.suggestion} ``` ### 低风险 (low severity) 对于 severity 为 "low" 的风险点: 1. **简单提醒**:指出需要注意的地方 示例响应: ``` 💡 **优化建议**: {risk.description} ``` ## 按分类处理 ### Transaction (事务) 重点关注: - 事务的开启和关闭 - 错误处理中的回滚 - 连接泄漏风险 ### Panic Safety (Panic安全) 重点关注: - 数组越界访问 - 类型断言安全 - 空指针检查 - recover 机制 ### Concurrency (并发) 重点关注: - 竞态条件 - 锁的获取和释放 - goroutine 泄漏 ### Resource (资源) 重点关注: - 文件句柄关闭 - 网络连接管理 - defer 语句使用 ## 响应格式 根据风险统计生成概览: ``` ## 📊 代码审查报告 **概览**: - 变更文件: {summary.totalChangedFiles} 个 - 发现风险: {summary.totalRiskPoints} 个 - 整体风险等级: {summary.riskLevel} **风险分布**: - 高风险: {summary.riskBySeverity.high} 个 - 中风险: {summary.riskBySeverity.medium} 个 - 低风险: {summary.riskBySeverity.low} 个 **分类统计**: - 事务问题: {summary.riskByCategory.transaction} 个 - Panic风险: {summary.riskByCategory.panic_safety} 个 - 并发问题: {summary.riskByCategory.concurrency} 个 - 资源管理: {summary.riskByCategory.resource} 个 [然后按文件逐一分析风险点] ``` ## 使用示例 当 MCP 工具返回如下数据时: ```json { "summary": { "totalChangedFiles": 1, "totalRiskPoints": 2, "riskLevel": "high", "riskByCategory": {"transaction": 1, "panic_safety": 1}, "riskBySeverity": {"high": 1, "medium": 1} }, "changedFiles": [ { "file": "service.go", "riskPoints": [ { "id": "panic_call_325_1", "type": "panic_call", "category": "panic_safety", "line": 325, "severity": "high", "description": "直接调用panic可能导致程序崩溃", "context": "panic(err)", "suggestion": "使用错误返回值替代panic,或添加recover机制" } ] } ] } ``` Cursor Rule 应该生成: ``` ## 📊 代码审查报告 **概览**: 发现 2 个风险点,整体风险等级为 high 🚨 **高风险问题发现** **文件**: service.go 第325行 **问题**: 直接调用panic可能导致程序崩溃 **代码**: `panic(err)` **风险分析**: 直接调用panic会导致程序异常终止,在生产环境中可能造成服务不可用。 **修复建议**: 使用错误返回值替代panic,或添加recover机制 **修复代码示例**: ```go // 修复前 panic(err) // 修复后 return fmt.Errorf("操作失败: %w", err) ``` ``` ## 配置要点 1. **专注数据分析**:工具只返回风险数据,不生成提示词 2. **灵活响应**:根据风险等级和类型调整响应详细程度 3. **结构化输出**:使用清晰的格式展示分析结果 4. **可定制性**:不同项目可以调整 Rule 的响应策略 这种架构分离了关注点: - **MCP 工具**:专注风险检测和数据提取 - **Cursor Rule**:专注提示词生成和 AI 交互 - **AI 模型**:专注代码分析和建议生成

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wer8956741/mcpCodeCheck'

If you have feedback or need assistance with the MCP directory API, please join our Discord server