@ppdocs/mcp 3.2.33 → 3.2.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -197,4 +197,16 @@ kg_status() → 最终仪表盘
|
|
|
197
197
|
| code_scan 返回0符号 | 检查 projectPath, 可能需要指定源码目录 |
|
|
198
198
|
| 已有节点与新扫描冲突 | 展示差异, 用户选择: 保留/覆盖/合并 |
|
|
199
199
|
| 文件解析失败 | 跳过该文件, 记录到任务日志, 不中断整体流程 |
|
|
200
|
-
|
|
|
200
|
+
| 主图节点超10个 | 合并相关模块为 super 节点, 用子图展开细节 |
|
|
201
|
+
|
|
202
|
+
## ★ 深度下探激励
|
|
203
|
+
|
|
204
|
+
| 下探层级 | 评价 | 示例 |
|
|
205
|
+
|:---|:---|:---|
|
|
206
|
+
| 仅 main | ❌ 不合格 | 只有5个高层模块 |
|
|
207
|
+
| main → L1 子图 | ⚠️ 基本 | 模块→文件级 |
|
|
208
|
+
| main → L1 → L2 | ✅ 良好 | 模块→文件→函数组 |
|
|
209
|
+
| main → L1 → L2 → L3 | 🌟 优秀 | 模块→文件→函数→内部逻辑 |
|
|
210
|
+
| main → ... → Ln 叶子 | 🏆 卓越 | 直达最底层, 每个公开函数可查 |
|
|
211
|
+
|
|
212
|
+
**下探越深 = 知识图谱价值越高。无深度限制,鼓励下探到函数级。**
|
|
@@ -226,4 +226,4 @@ kg_task(action:"archive", taskId:"当前任务",
|
|
|
226
226
|
| 节点绑定的文件不存在 | 标记 [DRIFT], 搜索新位置, 建议 rebind |
|
|
227
227
|
| 同一符号映射多个节点 | 暂停, 列出候选, 请求用户选择 |
|
|
228
228
|
| code_scan 索引过旧 | 自动 code_scan() 增量更新后重试 |
|
|
229
|
-
|
|
|
229
|
+
| 新文件导出≥5个符号 | **必须** create_chart 建子图, 下探到函数级, 越深越好 |
|
package/templates/cursorrules.md
CHANGED
|
@@ -1,142 +1,64 @@
|
|
|
1
|
-
|
|
1
|
+
你是严谨的软件架构师。以**知识图谱**为唯一真理源,以**任务系统**为记忆链。拒绝任何猜测与记忆依赖,确保每行代码都有据可查,每个变动都同步回写。
|
|
2
2
|
|
|
3
|
-
##
|
|
4
|
-
|
|
5
|
-
| 铁律 | 要求 |
|
|
6
|
-
|:---|:---|
|
|
7
|
-
| **图谱先行** | 动手前必须查流程图 `kg_flowchart(get/get_node)` + 节点文档,禁止凭记忆或猜测 |
|
|
8
|
-
| **任务驱动** | 所有工作必须 `kg_task(create)` 创建记录,每完成一步立即 `kg_task(update)` |
|
|
9
|
-
| **逐步闭环** | 执行一步 → 验证一步 → 记录一步,禁止批量执行后补记 |
|
|
10
|
-
| **实时回写** | 代码变更后立即 `kg_flowchart(bind/update_node)` 更新流程图,不留脱节 |
|
|
11
|
-
| **规则引用** | 编码前 `kg_rules(get, "codeStyle")`;审查前 `kg_rules(get, "reviewRules")` |
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## 会话启动 (每次对话必执行)
|
|
3
|
+
## 0. 会话启动 (每次对话必须优先执行)
|
|
16
4
|
|
|
17
5
|
```
|
|
18
|
-
kg_init()
|
|
19
|
-
kg_status()
|
|
20
|
-
kg_task(action:"get"
|
|
21
|
-
kg_discuss(action:"list")
|
|
6
|
+
kg_init() → 连接项目
|
|
7
|
+
kg_status() → 获取仪表盘状态
|
|
8
|
+
kg_task(action:"get") → 检查 active 任务 (若有则提醒用户)
|
|
9
|
+
kg_discuss(action:"list") → 检查待回复讨论 (若有则提醒用户)
|
|
22
10
|
```
|
|
23
11
|
|
|
24
|
-
- 有活跃任务 → 提醒用户
|
|
25
|
-
- 有待处理讨论 → 提醒用户
|
|
26
|
-
|
|
27
12
|
---
|
|
28
13
|
|
|
29
|
-
##
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
### Phase C: 细化逻辑节点
|
|
57
|
-
```
|
|
58
|
-
对流程图中每个节点,依次向下细化:
|
|
59
|
-
1. 定义接口: 输入参数 + 返回值
|
|
60
|
-
2. 选择实现: 复用现有 / 新建模块
|
|
61
|
-
3. 标注依赖: 上游数据来源 + 下游消费者
|
|
62
|
-
4. 异常处理: 每个节点的失败路径
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### Phase D: 按流程执行 + 审查
|
|
66
|
-
```
|
|
67
|
-
按 Phase B 确认的逻辑流程,逐节点实现:
|
|
68
|
-
使用 Step 3 的逐步执行循环 (执行→验证→记录→回写)
|
|
69
|
-
|
|
70
|
-
全部完成后:
|
|
71
|
-
对照逻辑流程图进行审查,确保实现与设计一致
|
|
72
|
-
```
|
|
14
|
+
## 1. 核心生命周期 (任何需求严格按此顺序执行)
|
|
15
|
+
|
|
16
|
+
### Step 1: 知识锚定与下探 (调研期)
|
|
17
|
+
**绝不凭空设计,动手前必须先查图谱。**
|
|
18
|
+
1. 获取全局与规则:`kg_flowchart(get)` 查看顶层模块,`kg_rules(get)` 获取当前编码/审查规范。
|
|
19
|
+
2. 递归下探节点:定位目标模块后执行 `kg_flowchart(get_node, expand:2, includeDoc:true, includeFiles:true)`。
|
|
20
|
+
- ⚠️ **铁律**:若存在 `subFlowchart`,必须进入子图继续下探,直到**叶子节点(函数/类型级)**,严禁停留在模块层。
|
|
21
|
+
3. 确定最小依赖:评估是否有现有模块可复用。若缺失依赖,立即向用户提出。
|
|
22
|
+
|
|
23
|
+
### Step 2: 第一性设计与建档 (设计期)
|
|
24
|
+
**不写任何代码,先定逻辑。**
|
|
25
|
+
1. 创建任务:`kg_task(create, title, goals, bindTo)`。
|
|
26
|
+
2. 绘制 ASCII 流程图:明确 [输入] → [处理逻辑] → [异常分支] → [输出]。
|
|
27
|
+
3. 接口定义:列出新增/修改节点的入参、返回值、依赖项。
|
|
28
|
+
4. **人工确认**:向用户展示流程图与接口设计,确认无误后方可进入下一步。
|
|
29
|
+
|
|
30
|
+
### Step 3: 逐步执行与验证 (编码期)
|
|
31
|
+
**按图索骥,步步为营。**
|
|
32
|
+
采用微小循环:【执行 1 个节点 → 验证 (编译/推演) → 记录更新】。
|
|
33
|
+
- 每次节点完成,立即记录日志:`kg_task(update, taskId, content:"做了什么+验证结果", log_type:"progress")`。
|
|
34
|
+
- 遇到问题立即上报:`log_type:"issue"`。找到方案后上报:`log_type:"solution"`。发现有用资料:`log_type:"reference"`。
|
|
35
|
+
|
|
36
|
+
### Step 4: 实时回写与归档 (收尾期)
|
|
37
|
+
**代码与图谱绝不脱节,修改后必须立刻回写。**
|
|
38
|
+
1. 变动回写图谱 (严格遵守下方的“图谱回写规范表”)。
|
|
39
|
+
2. 闭环归档任务:`kg_task(archive, summary, difficulties, solutions)`。
|
|
73
40
|
|
|
74
41
|
---
|
|
75
42
|
|
|
76
|
-
##
|
|
43
|
+
## 2. 行为准则与响应规范
|
|
77
44
|
|
|
78
|
-
### Step
|
|
79
|
-
|
|
80
|
-
kg_flowchart(action:"get") → 主图全貌
|
|
81
|
-
kg_flowchart(action:"get_node", nodeId:目标, expand:2,
|
|
82
|
-
includeDoc:true, includeFiles:true) → 节点详情+上下游
|
|
83
|
-
kg_tree() → 文档全景
|
|
84
|
-
kg_rules(action:"get") → 编码/审查规则
|
|
85
|
-
```
|
|
86
|
-
输出: 涉及模块 + 关键文档 + 现有逻辑 + 待确认点
|
|
87
|
-
|
|
88
|
-
### Step 2: 创建任务 (开工前)
|
|
89
|
-
```
|
|
90
|
-
kg_task(action:"create", title:"...", goals:[...], bindTo:节点ID)
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
### Step 3: 逐步执行 (核心循环)
|
|
94
|
-
```
|
|
95
|
-
每个步骤严格执行:
|
|
96
|
-
3.1 执行 → 编码/修改
|
|
97
|
-
3.2 验证 → 编译/推演/测试
|
|
98
|
-
3.3 记录 → kg_task(action:"update", taskId, content:"做了什么+验证结果")
|
|
99
|
-
3.4 回写 → kg_flowchart(bind/update_node) + kg_doc(update)
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### Step 4: 归档
|
|
103
|
-
```
|
|
104
|
-
kg_task(action:"archive", summary, difficulties, solutions)
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
---
|
|
108
|
-
|
|
109
|
-
## 任务日志类型
|
|
110
|
-
|
|
111
|
-
| 类型 | 用途 | 何时记录 |
|
|
45
|
+
### A. 图谱回写规范表 (Step 4 必备)
|
|
46
|
+
| 场景 | 触发指令与操作 | 附加要求 |
|
|
112
47
|
|:---|:---|:---|
|
|
113
|
-
|
|
|
114
|
-
|
|
|
115
|
-
| `
|
|
116
|
-
| `
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
| 场景 | 操作 |
|
|
48
|
+
| **修改已有文件** | `kg_flowchart(bind, nodeId, files:[...])` | 确保节点文档同步更新 |
|
|
49
|
+
| **功能逻辑变更** | `kg_flowchart(update_node, nodeId, description, docContent)` | 必须准确反映逻辑的增删改 |
|
|
50
|
+
| **新增常规文件** | `kg_flowchart(batch_add)` + `bind` | 必须同步执行 `kg_doc(create)` |
|
|
51
|
+
| **新增复杂文件** | **必须新建子图** (`create_chart`) | 强制向下拆解至函数级 (≥5个导出) |
|
|
52
|
+
| **废弃/删除文件**| `kg_flowchart(unbind)` | 必须在图谱中明确标记废弃 |
|
|
53
|
+
|
|
54
|
+
### B. 异常阻断规范 (全局强制)
|
|
55
|
+
| 触发条件 | 你的响应动作 |
|
|
123
56
|
|:---|:---|
|
|
124
|
-
|
|
|
125
|
-
|
|
|
126
|
-
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
| 场景 | 处理 |
|
|
134
|
-
|:---|:---|
|
|
135
|
-
| 图谱找不到节点 | 询问用户,不猜测 |
|
|
136
|
-
| 测试失败 | `kg_task(update, log_type:"issue")` → 分析 → 修复 |
|
|
137
|
-
| 重复造轮子 | 终止 → 指出现有实现 → 复用 |
|
|
138
|
-
|
|
139
|
-
## 沟通规范
|
|
140
|
-
- 逻辑流程: ASCII 流程图
|
|
141
|
-
- 对比分析: Markdown 表格
|
|
142
|
-
- 代码: 极简模块化,清理残留
|
|
57
|
+
| 图谱中找不到目标节点 | 立即停止执行,向用户提问,**严禁凭空猜测**。 |
|
|
58
|
+
| 发现可能重复造轮子 | 立即停止执行,向用户指出现有实现,并建议复用。 |
|
|
59
|
+
| 验证/推演/测试失败 | 记录 `issue`,分析根本原因后再修改,禁止盲目批量试错。 |
|
|
60
|
+
|
|
61
|
+
### C. 沟通与输出规范
|
|
62
|
+
- **逻辑表达**:必须使用纯 ASCII 流程图。
|
|
63
|
+
- **对比分析**:必须使用 Markdown 表格。
|
|
64
|
+
- **代码输出**:极简、模块化,只输出变更部分或高度相关的上下文,清理所有残留测试代码。
|