@xiaoailazy/coexistree-skills 0.2.0 → 0.2.1
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/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
CoExistree **Agent Skills**:供 Cursor、Claude Code、Codex 等支持 `SKILL.md` 的 Agent 使用。与 [`@xiaoailazy/coexistree-cli`](../cli) 配合。
|
|
4
4
|
|
|
5
|
+
用户文档:[docs/README.md](../../docs/README.md) · [Agent CLI](../../docs/user-guide/agent-cli.md)
|
|
6
|
+
|
|
5
7
|
Skill **源文件**在本包的 `skills/` 目录;发布到 npm 后通过安装器复制到各 Agent 的技能目录。
|
|
6
8
|
|
|
7
9
|
## 安装
|
|
@@ -53,6 +55,7 @@ coexistree-skills-install --help
|
|
|
53
55
|
| name | 用途 |
|
|
54
56
|
|------|------|
|
|
55
57
|
| `coexistree-config` | 首次 `config initial`、`config show` |
|
|
58
|
+
| `coexistree-bootstrap` | 冷启动:代码库生成现状文档并导入知识树 |
|
|
56
59
|
| `coexistree-task` | 产研任务:列表、拉取、上传 |
|
|
57
60
|
| `coexistree-ask` | 知识树提问 |
|
|
58
61
|
|
|
@@ -64,7 +67,7 @@ coexistree-skills-install --help
|
|
|
64
67
|
node packages/skills/scripts/install-skills.js --targets cursor --project
|
|
65
68
|
```
|
|
66
69
|
|
|
67
|
-
**源文件以 `packages/skills/skills/`
|
|
70
|
+
**源文件以 `packages/skills/skills/` 为准**;运行 `coexistree-skills-install` 同步到本机 Agent 技能目录。
|
|
68
71
|
|
|
69
72
|
## 发布
|
|
70
73
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: coexistree-bootstrap
|
|
3
|
+
description: CoExistree 冷启动:从本地代码库生成系统现状 REQUIREMENT Markdown,经 task create + task apply 导入知识树。用于「初始化知识树」「老项目导入」「代码库生成现状文档」。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# coexistree bootstrap
|
|
7
|
+
|
|
8
|
+
通过终端执行 **`coexistree`**(先 `npm install -g @xiaoailazy/coexistree-cli`)。前置:`coexistree config initial`。
|
|
9
|
+
|
|
10
|
+
## 适用场景
|
|
11
|
+
|
|
12
|
+
- 目标知识空间 **尚无 ACTIVE 系统知识树**(冷启动)。
|
|
13
|
+
- 老项目缺少 PRD,需从**当前代码库**理解业务后写成现状说明,再导入 CoExistree。
|
|
14
|
+
- **不要**用于已有 ACTIVE 树后的日常迭代(请用 `coexistree-task`)。
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 下游系统如何消费这篇文档(写作目标)
|
|
19
|
+
|
|
20
|
+
上传后 CoExistree 会:
|
|
21
|
+
|
|
22
|
+
1. **PageIndex**:按 Markdown `#` / `##` / `###` 切分文档树。
|
|
23
|
+
2. **基线 LLM**:从章节归纳 **业务逻辑功能树**(MODULE / FEATURE),**不要**按文件夹或章节 1:1 镜像。
|
|
24
|
+
|
|
25
|
+
**正文定位**:一篇给产品/业务读者也能读的 **系统现状说明**(由代码反推),不是设计说明书、不是接口文档。
|
|
26
|
+
|
|
27
|
+
| 多写 | 少写或不写 |
|
|
28
|
+
|------|------------|
|
|
29
|
+
| 业务域、角色、场景、流程、规则、状态、协作边界 | 技术栈、框架、表名、API 路径、类名、部署、中间件 |
|
|
30
|
+
| 「用户做什么 → 系统做什么 → 结果如何」 | 调用链、SQL、配置项、Topic 名 |
|
|
31
|
+
| 模块/能力点的业务含义与边界 | 源码路径、证据锚点、审计式字段模板 |
|
|
32
|
+
|
|
33
|
+
代码库仅作**理解业务的输入**;生成物里**不展示**技术实现细节。
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 流程总览
|
|
38
|
+
|
|
39
|
+
1. `coexistree config show` → 记下 `system-code`
|
|
40
|
+
2. **从代码理解业务**(内部笔记,见 §2)
|
|
41
|
+
3. **生成业务导向 Markdown** → `docs/coexistree/<system-code>-system-as-is-requirement.md`
|
|
42
|
+
4. **自检**(§4)→ 用户确认
|
|
43
|
+
5. `task create` + `task apply`
|
|
44
|
+
6. 知识树 / `ask` 验证
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## 1. 检查配置
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
coexistree config show
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 2. 从代码理解业务(内部探查,正文不写技术)
|
|
57
|
+
|
|
58
|
+
在用户**当前工作区**阅读代码与现有文档,形成**业务笔记**(不写入最终 md)。遵守 `.gitignore`;**禁止**读取 `.env`、密钥及 `node_modules`/`target`/`dist` 等。
|
|
59
|
+
|
|
60
|
+
### 2.1 弄清「这是个什么业务系统」
|
|
61
|
+
|
|
62
|
+
| 问题 | 可从何处获得线索 |
|
|
63
|
+
|------|------------------|
|
|
64
|
+
| 为谁服务?解决什么业务问题? | README、docs、命名、领域模型、界面文案 |
|
|
65
|
+
| 与周边系统分工?(本仓库负责哪一块) | 集成调用、文档、包/模块命名(**理解即可,正文用业务语**) |
|
|
66
|
+
| 有哪些主要**业务角色**? | 权限、角色枚举、不同端(运营/用户/商家等) |
|
|
67
|
+
|
|
68
|
+
### 2.2 划分业务域(4–10 个 `##`)
|
|
69
|
+
|
|
70
|
+
不要按 `src/` 目录分章。按**业务_capability** 归纳,例如:
|
|
71
|
+
|
|
72
|
+
- 会员与账户、商品与定价、交易与支付、履约与物流、运营与营销、报表与对账……
|
|
73
|
+
|
|
74
|
+
每个域想清楚:
|
|
75
|
+
|
|
76
|
+
- 管哪些**业务对象**(订单、合同、工单——用业务名)
|
|
77
|
+
- 对外提供哪些**能力**(用业务动词)
|
|
78
|
+
- 与哪些域**交接**(谁产生数据、谁消费)
|
|
79
|
+
|
|
80
|
+
### 2.3 梳理端到端业务流程(2–5 条,全文重点)
|
|
81
|
+
|
|
82
|
+
选真实业务链路,例如:注册开通、下单支付、审批发布、日终对账。
|
|
83
|
+
|
|
84
|
+
每条流程用**业务步骤**记录:
|
|
85
|
+
|
|
86
|
+
- 谁发起、在什么场景
|
|
87
|
+
- 经过哪些业务环节(不用类名)
|
|
88
|
+
- 关键业务状态变化
|
|
89
|
+
- 异常/驳回/补偿的**业务含义**(若有)
|
|
90
|
+
|
|
91
|
+
### 2.4 业务规则与约束
|
|
92
|
+
|
|
93
|
+
从校验逻辑、状态机、注释、测试用例中提炼**业务规则**(如「未实名不可下单」「退款不得超过实付」),记入笔记,写入「业务规则与约束」章节。
|
|
94
|
+
|
|
95
|
+
### 2.5 不确定与待澄清
|
|
96
|
+
|
|
97
|
+
代码看不出的产品定义、疑似废弃流程、命名与真实业务不符等 → 记入「待澄清」,**不编造**。
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## 3. 生成 Markdown(业务写作规程)
|
|
102
|
+
|
|
103
|
+
**输出路径**:
|
|
104
|
+
|
|
105
|
+
`docs/coexistree/<system-code>-system-as-is-requirement.md`
|
|
106
|
+
|
|
107
|
+
**篇幅**:中文 **4000–10000 字**。至少 **4 个** 业务 `##` 域,每域 **≥2 个** `###` 能力点。
|
|
108
|
+
|
|
109
|
+
### 3.1 格式
|
|
110
|
+
|
|
111
|
+
| 规则 | 说明 |
|
|
112
|
+
|------|------|
|
|
113
|
+
| 标题 | 仅用 `#` `##` `###`;更深内容用段落或列表 |
|
|
114
|
+
| 每个 `##` / `###` | 至少 1 段实质叙述,非空 |
|
|
115
|
+
| 禁止 | 技术架构表、API 清单、表结构、类名墙、源码片段 |
|
|
116
|
+
| 用语 | 产品/运营能读懂;必要时用业务对象名(「订单」「结算单」) |
|
|
117
|
+
|
|
118
|
+
### 3.2 章节结构
|
|
119
|
+
|
|
120
|
+
| 章节 | 作用 |
|
|
121
|
+
|------|------|
|
|
122
|
+
| 概述 | 系统定位、角色、业务域总览 |
|
|
123
|
+
| 核心业务流程 | 跨域端到端流程(全文最重要之一) |
|
|
124
|
+
| 各 `##` 业务域 | 域说明 + 多个 `###` 能力点 |
|
|
125
|
+
| 业务协作与边界 | 域之间谁依赖谁、交接什么(业务语) |
|
|
126
|
+
| 业务规则与约束 | 全局/跨域规则 |
|
|
127
|
+
| 待澄清 | 从代码推不出或需产品确认的点 |
|
|
128
|
+
|
|
129
|
+
**不要**设「技术架构」「对外接口」「数据与依赖」等技术向章节。
|
|
130
|
+
|
|
131
|
+
### 3.3 每个 `###` 能力点
|
|
132
|
+
|
|
133
|
+
用 **2–5 句** 或 **1 段 + 3–5 步业务步骤** 说明:
|
|
134
|
+
|
|
135
|
+
- 谁在用、要解决什么业务问题
|
|
136
|
+
- 典型场景与结果
|
|
137
|
+
- 与同域其它能力的区别
|
|
138
|
+
|
|
139
|
+
可选一句:与哪一域协作。**不要**写 API、表、类、队列。
|
|
140
|
+
|
|
141
|
+
### 3.4 文档模板
|
|
142
|
+
|
|
143
|
+
```markdown
|
|
144
|
+
# <系统显示名> — 业务现状说明
|
|
145
|
+
|
|
146
|
+
> **文档性质**:由代码库反推的业务现状基线,非 PRD、非技术设计。
|
|
147
|
+
> **system_code**:`<system-code>`
|
|
148
|
+
> **归纳日期**:<YYYY-MM-DD>
|
|
149
|
+
|
|
150
|
+
## 概述
|
|
151
|
+
|
|
152
|
+
### 系统定位
|
|
153
|
+
|
|
154
|
+
<为谁、解决什么业务问题、在业务版图中扮演什么角色,2–4 句>
|
|
155
|
+
|
|
156
|
+
### 主要角色
|
|
157
|
+
|
|
158
|
+
| 角色 | 典型诉求 |
|
|
159
|
+
|------|----------|
|
|
160
|
+
| <如 运营人员> | <…> |
|
|
161
|
+
| <如 终端用户> | <…> |
|
|
162
|
+
|
|
163
|
+
### 业务域总览
|
|
164
|
+
|
|
165
|
+
| 业务域 | 一句话说明 |
|
|
166
|
+
|--------|------------|
|
|
167
|
+
| <域 A> | <…> |
|
|
168
|
+
| <域 B> | <…> |
|
|
169
|
+
|
|
170
|
+
(须覆盖下文每个业务 `##`)
|
|
171
|
+
|
|
172
|
+
## 核心业务流程
|
|
173
|
+
|
|
174
|
+
### <流程名,如「从下单到收货」>
|
|
175
|
+
|
|
176
|
+
<1 段:场景与参与角色>
|
|
177
|
+
|
|
178
|
+
1. <业务步骤>
|
|
179
|
+
2. <业务步骤>
|
|
180
|
+
3. <业务步骤>
|
|
181
|
+
|
|
182
|
+
<可选:关键业务状态、常见例外情况,用业务语描述>
|
|
183
|
+
|
|
184
|
+
### <流程 2>
|
|
185
|
+
|
|
186
|
+
(至少 2 条;极简系统可 1 条,并在「待澄清」说明)
|
|
187
|
+
|
|
188
|
+
## <业务域 A>
|
|
189
|
+
|
|
190
|
+
<本域管什么业务对象、与邻域边界,1 段>
|
|
191
|
+
|
|
192
|
+
### <能力点,如「提交订单」>
|
|
193
|
+
|
|
194
|
+
<业务叙述:谁、何时、做什么、得到什么结果。>
|
|
195
|
+
|
|
196
|
+
<可选:3–5 步业务子流程。>
|
|
197
|
+
|
|
198
|
+
### <能力点 2>
|
|
199
|
+
|
|
200
|
+
(每域至少 2 个 `###`)
|
|
201
|
+
|
|
202
|
+
## <业务域 B>
|
|
203
|
+
|
|
204
|
+
(全文至少 4 个此类 `##`,均为业务域名称)
|
|
205
|
+
|
|
206
|
+
## 业务协作与边界
|
|
207
|
+
|
|
208
|
+
<各域之间如何衔接:例如「支付域在订单确认后介入」「报表域只读交易结果」。用业务对象与事件描述,不写系统名/SDK。>
|
|
209
|
+
|
|
210
|
+
## 业务规则与约束
|
|
211
|
+
|
|
212
|
+
- <规则 1:业务语言>
|
|
213
|
+
- <规则 2>
|
|
214
|
+
- …
|
|
215
|
+
|
|
216
|
+
## 待澄清
|
|
217
|
+
|
|
218
|
+
- <需产品或业务方确认的点>
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### 3.5 反模式(必须改写)
|
|
222
|
+
|
|
223
|
+
| 反模式 | 应改为 |
|
|
224
|
+
|--------|--------|
|
|
225
|
+
| 技术栈、Spring、Kafka、表名、API 路径 | 删除或改成业务影响(如「异步通知用户」) |
|
|
226
|
+
| 按源码目录分 `##` | 业务域 |
|
|
227
|
+
| `### XxxController` / `### User表` | 业务能力名 + 业务叙述 |
|
|
228
|
+
| 大段接口/字段列表 | 并入「业务协作」或删掉 |
|
|
229
|
+
| 每个 `###` 只有一词 | 补足业务说明 |
|
|
230
|
+
| 全文无端到端流程 | 补「核心业务流程」 |
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## 4. 上传前自检
|
|
235
|
+
|
|
236
|
+
全部为是再请用户确认:
|
|
237
|
+
|
|
238
|
+
- [ ] 路径正确;文首有 `system_code`、日期
|
|
239
|
+
- [ ] **无**技术架构/API/表/类/部署专章或大段列举
|
|
240
|
+
- [ ] ≥4 个业务 `##`,每域 ≥2 个 `###`,均有业务叙述
|
|
241
|
+
- [ ] 「核心业务流程」≥2 条(或 1 条且待澄清已说明)
|
|
242
|
+
- [ ] 有「业务协作与边界」「业务规则与约束」「待澄清」
|
|
243
|
+
- [ ] 通篇读感像**业务现状**而非技术文档
|
|
244
|
+
- [ ] 无源码、无 `.env`/密钥
|
|
245
|
+
|
|
246
|
+
向用户展示:**业务域总览表 + 自检结果**。
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## 5. 导入知识树
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
coexistree task create \
|
|
254
|
+
--title "【初始化】系统现状(来自代码库)" \
|
|
255
|
+
--summary "coexistree-bootstrap;业务现状基线" \
|
|
256
|
+
docs/coexistree/<system-code>-system-as-is-requirement.md
|
|
257
|
+
|
|
258
|
+
coexistree task apply --task-id <taskId>
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## 6. 验证
|
|
264
|
+
|
|
265
|
+
- 知识树节点是否为**业务模块/能力**(而非技术组件)。
|
|
266
|
+
- `coexistree ask --question "该系统有哪些核心业务域?各域做什么?"` 答案与文档一致。
|
|
267
|
+
|
|
268
|
+
若节点过碎或像技术分层:合并 `###`、加强「业务域总览」与流程章,再重导。
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
272
|
+
## 失败处理
|
|
273
|
+
|
|
274
|
+
| 现象 | 处理 |
|
|
275
|
+
|------|------|
|
|
276
|
+
| `apply_failed` | 检查文件非空、标题层级 |
|
|
277
|
+
| LLM 错误 | 服务端 LLM 配置 |
|
|
278
|
+
| 已有 ACTIVE 树 | 勿重复冷启动 |
|
|
279
|
+
| 知识树偏技术 | 按 §3.5 改为业务表述后重导 |
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## 与 coexistree-task 的分工
|
|
284
|
+
|
|
285
|
+
| Skill | 用途 |
|
|
286
|
+
|-------|------|
|
|
287
|
+
| `coexistree-bootstrap` | 冷启动:理解业务 → 写业务现状 md → create → apply |
|
|
288
|
+
| `coexistree-task` | 迭代产研:list / pull / upload 设计·用例 |
|
|
@@ -7,6 +7,8 @@ description: CoExistree 配置管理:初始化 API 密钥与 system code、查
|
|
|
7
7
|
|
|
8
8
|
通过终端执行 **`coexistree`**(先 `npm install -g @xiaoailazy/coexistree-cli`)。适用于 Cursor、Claude Code、Codex 等支持 Agent Skills 的环境。
|
|
9
9
|
|
|
10
|
+
**知识空间** = 平台内 `system_code` 边界;术语见仓库 `docs/user-guide/glossary.md`。
|
|
11
|
+
|
|
10
12
|
## 首次配置(只需一次)
|
|
11
13
|
|
|
12
14
|
在 Web **密钥管理** 开启 Agent 密钥并复制;确认目标系统的 **system code**。
|
|
@@ -10,7 +10,7 @@ description: CoExistree 产研任务:创建、列表、拉取、上传文档
|
|
|
10
10
|
## 约定
|
|
11
11
|
|
|
12
12
|
- **upload** 必须带 1 个 `.md` 路径;设计稿用 Agent 刚写完的文件,不确定则问用户。
|
|
13
|
-
- **pull**
|
|
13
|
+
- **pull** 默认将文档保存到当前项目 `docs/` 下由 CLI 生成的路径(文件名含类型与 documentId);具体规则见 `coexistree task pull --help`。
|
|
14
14
|
- 文档不会自动进知识树;须在 Web 对任务「应用变更」。
|
|
15
15
|
|
|
16
16
|
## 命令
|