ai-project-manage-cli 5.0.14 → 5.0.16
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/dist/index.js +80 -88
- package/package.json +2 -2
- package/template/AGENTS.md +14 -15
- package/template/rules/reply.md +15 -0
- package/template/rules/write_doc.md +30 -0
- package/template/skills/apm-apply-change/SKILL.md +60 -122
- package/template/skills/apm-deploy/SKILL.md +4 -15
- package/template/skills/apm-dev/SKILL.md +26 -10
- package/template/skills/apm-propose/SKILL.md +29 -168
- package/template/skills/apm-propose/design.md +37 -0
- package/template/skills/apm-propose/proposal.md +31 -0
- package/template/skills/apm-propose/specs.md +39 -0
- package/template/skills/apm-propose/tasks.md +16 -0
- package/template/skills/apm-review/SKILL.md +10 -14
- package/template/skills/apm-write-prd/SKILL.md +8 -61
- package/template/skills/apm-write-prd/template.md +55 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
## 格式约定
|
|
2
|
+
|
|
3
|
+
- 行首 **`- [ ]`**;分组 **`## 1. 名称`**;编号 **`- [ ] 1.1 说明`**(组号.序号)。
|
|
4
|
+
- 每项下方缩进子列表:**需求编号**(对应 specs 中需求/场景)、**预期改动路径**、**验证用例编号**(可选)、**完成标准**。
|
|
5
|
+
- **做什么**以 specs 为准,**改哪里**以 design 为准;按技术依赖排序。
|
|
6
|
+
|
|
7
|
+
## 示例
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
## 1. 数据层
|
|
11
|
+
|
|
12
|
+
- [ ] 1.1 新增合同状态字段
|
|
13
|
+
- **需求编号**:需求:合同状态同步(见 plans/specs/contract.md)
|
|
14
|
+
- **预期改动路径**:`servers/be/prisma/schema.prisma`
|
|
15
|
+
- **完成标准**:迁移可执行;已有合同默认状态正确
|
|
16
|
+
```
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
##
|
|
1
|
+
## 工作流程
|
|
2
|
+
|
|
3
|
+
### 步骤 1: 获取当前版本 PRD 的内容
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
先用 **Read** 工具阅读 `.apm/sessions/<会话ID>/docs/PRD.md`,如果存在则这个目录下的内容为需求文档,否则用 **Read** 工具阅读 `.apm/sessions/<会话ID>/TASK.md`,并把这个文件里面的内容视为需求文档
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
### 步骤 2: 理解代码,给出评审意见,具体要求如下:
|
|
8
|
+
|
|
9
|
+
#### 评审目标如下:
|
|
6
10
|
|
|
7
11
|
1. 梳理需求边界:发现文档中未写清的口径
|
|
8
12
|
2. 调研实现难度:在实现难度较高时给出提示
|
|
9
|
-
3. 禁止为了凑问题而提问,当 PRD
|
|
13
|
+
3. 禁止为了凑问题而提问,当 PRD 已足够清晰且无高难度改造时,可直接说此任务没问题
|
|
10
14
|
4. 你只需要站在自己的角度去评审,禁止站在全局思考问题。结合代码进行评审即可:
|
|
11
15
|
- 前端关注 UI 交互还原,交互逻辑的各种边界,不考虑一些与后端接口之类的问题
|
|
12
16
|
- 后端则关注数据表设计,需求对应的数据接口是否合理,能否获取
|
|
@@ -14,17 +18,9 @@
|
|
|
14
18
|
|
|
15
19
|
**难度高的定义**:预估改动的文件可能比较多,超过 10 个;或者改动逻辑比较复杂;
|
|
16
20
|
|
|
17
|
-
|
|
21
|
+
#### 表达规范如下
|
|
18
22
|
|
|
19
23
|
1. **产品语言优先**:页面定位用「医德考评弹窗」「行风办审批页」等说法;**禁止**用文件路径、组件名、函数名作为论据主体。
|
|
20
24
|
2. **后端可略宽**:必要时可写**表名 / 主表字段名**帮助产品理解数据口径,但仍避免贴大段代码或接口路径。
|
|
21
|
-
3. **锚定 PRD
|
|
25
|
+
3. **锚定 PRD**:当需要引用到任务文档中的某一条时可以直接说行号,比如:需求原文[1-3]说 xxx;
|
|
22
26
|
4. **问题 = 文档缺口**:只写 PRD **未写清**且**影响本端理解边界**的点。已写清楚的规则不要重复质疑。
|
|
23
|
-
|
|
24
|
-
## 工作流程
|
|
25
|
-
|
|
26
|
-
### 步骤 1: 读取 PRD 内容,具体见第一节输入输入
|
|
27
|
-
|
|
28
|
-
### 步骤 2: 理解代码,评估 PRD
|
|
29
|
-
|
|
30
|
-
### 步骤 3: 回复用户
|
|
@@ -1,69 +1,16 @@
|
|
|
1
|
-
## 输入
|
|
2
|
-
1. 口头需求要求:如果是用户口头需求要求则根据下面需求模板编写PRD
|
|
3
|
-
2. 已有PRD+用户提要求:这个场景是润色现有的PRD文档,一般是原有PRD中的一些问题被解决了
|
|
4
|
-
|
|
5
|
-
**注意**:
|
|
6
|
-
- 编写/润色PRD时禁止提出额外的问题,一切以用户要求为准。
|
|
7
|
-
- 已有PRD的地址为: `../../sessions/<需求ID>/docs/PRD.md`,可用 **Read** 工具读取。
|
|
8
|
-
- 需求要始终保持干净,模板规定以外的,比如历史沟通记录不需要
|
|
9
|
-
|
|
10
1
|
## 工作流程
|
|
11
|
-
### 步骤1: 读取PRD
|
|
12
|
-
### 步骤2: 按照下面的模板要求编写PRD
|
|
13
|
-
### 步骤3: 同步PRD到远程
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
## 需求模板
|
|
17
|
-
### 正文骨架
|
|
18
|
-
```markdown
|
|
19
|
-
## 背景
|
|
20
|
-
(1 ~ 3 句:业务背景、要解决的问题、预期效果,如果没有可空着,不要强行编)
|
|
21
|
-
|
|
22
|
-
## 范围
|
|
23
|
-
- **包含**:…
|
|
24
|
-
- **不包含**:…
|
|
25
|
-
|
|
26
|
-
## 需求说明
|
|
27
|
-
|
|
28
|
-
### 需求点 1:[简短名称]
|
|
29
|
-
- …
|
|
30
|
-
- …
|
|
31
|
-
|
|
32
|
-
### 需求点 2:…
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### 需求点编写规范
|
|
36
|
-
|
|
37
|
-
每条 bullet 写清一个可验收点,优先覆盖:
|
|
38
|
-
|
|
39
|
-
| 类型 | 写法要点 |
|
|
40
|
-
| --------- | ------------------------------------------------------ |
|
|
41
|
-
| 展示/选项 | 展示或隐藏;保留/去掉哪些选项;新建默认值 |
|
|
42
|
-
| 文案 | 原名称 → 新名称;界面、提示、校验文案一并统一 |
|
|
43
|
-
| 按钮 | 场景 + 按钮名 + 行为(对照哪个既有按钮、是否仅改文案) |
|
|
44
|
-
| 校验 | 场景 + 字段展示条件 + 必填时机(暂存 / 提交分别怎样) |
|
|
45
|
-
| 边界 | **不考虑** …(历史数据、迁移、导出等明确排除项) |
|
|
46
2
|
|
|
47
|
-
|
|
3
|
+
### 步骤 1: 获取当前版本 PRD 的内容
|
|
48
4
|
|
|
49
|
-
|
|
5
|
+
先用 **Read** 工具阅读 `.apm/sessions/<会话ID>/docs/PRD.md`,如果存在,则这个目录下的内容为需求文档,否则用 **Read** 工具阅读 `.apm/sessions/<会话ID>/TASK.md`,并把这个文件里面的内容视为需求文档
|
|
50
6
|
|
|
51
|
-
|
|
52
|
-
### 需求点 2:新增/编辑弹窗底部操作
|
|
7
|
+
### 步骤 2: 按照下面的模板要求编写 PRD
|
|
53
8
|
|
|
54
|
-
-
|
|
55
|
-
- **「暂存」**:沿用原 **「确定」** 按钮的业务逻辑(含校验与保存/流程行为),**仅将按钮展示文案改为「暂存」**。
|
|
9
|
+
用 **Read** 工具阅读 `.apm/skills/apm-write-prd/template.md`,按照模板来写,写完保存到 `.apm/sessions/<会话ID>/docs/PRD.md` 。
|
|
56
10
|
|
|
57
|
-
|
|
11
|
+
内容要求如下:
|
|
12
|
+
**不管是第几版需求,都要当成第一版来看,禁止有历史版本或者修订版本或者第几版更新的字样**
|
|
58
13
|
|
|
59
|
-
|
|
60
|
-
- 当流程处于 **一级审批** 且该字段**展示**时,须校验为**必填**(在展示场景下触发,而非所有保存入口一律校验)。
|
|
61
|
-
```
|
|
14
|
+
### 步骤 3: 同步 PRD 到远程
|
|
62
15
|
|
|
63
|
-
|
|
64
|
-
- [ ] 含 **背景与目标、范围、需求说明** 三章,叙述完整
|
|
65
|
-
- [ ] 2 分钟内可通读;每个需求点 2 ~ 5 条 bullet,一层列表
|
|
66
|
-
- [ ] 场景、按钮行为、校验时机表述清楚,前后一致
|
|
67
|
-
- [ ] 「范围」与需求点中的 **「不考虑」** 口径一致
|
|
68
|
-
- [ ] 全文使用业务语言,术语统一
|
|
69
|
-
- [ ] 仅材料明确涉及时才有「非功能」「待确认」
|
|
16
|
+
执行命令:`apm sync-document <会话 ID> --file=PRD.md`
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
|
|
2
|
+
## 需求模板
|
|
3
|
+
### 正文骨架
|
|
4
|
+
```markdown
|
|
5
|
+
## 背景
|
|
6
|
+
(1 ~ 3 句:业务背景、要解决的问题、预期效果,如果没有可空着,不要强行编)
|
|
7
|
+
|
|
8
|
+
## 范围
|
|
9
|
+
- **包含**:…
|
|
10
|
+
- **不包含**:…
|
|
11
|
+
|
|
12
|
+
## 需求说明
|
|
13
|
+
|
|
14
|
+
### 需求点 1:[简短名称]
|
|
15
|
+
- …
|
|
16
|
+
- …
|
|
17
|
+
|
|
18
|
+
### 需求点 2:…
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### 需求点编写规范
|
|
22
|
+
|
|
23
|
+
每条 bullet 写清一个可验收点,优先覆盖:
|
|
24
|
+
|
|
25
|
+
| 类型 | 写法要点 |
|
|
26
|
+
| --------- | ------------------------------------------------------ |
|
|
27
|
+
| 展示/选项 | 展示或隐藏;保留/去掉哪些选项;新建默认值 |
|
|
28
|
+
| 文案 | 原名称 → 新名称;界面、提示、校验文案一并统一 |
|
|
29
|
+
| 按钮 | 场景 + 按钮名 + 行为(对照哪个既有按钮、是否仅改文案) |
|
|
30
|
+
| 校验 | 场景 + 字段展示条件 + 必填时机(暂存 / 提交分别怎样) |
|
|
31
|
+
| 边界 | **不考虑** …(历史数据、迁移、导出等明确排除项) |
|
|
32
|
+
|
|
33
|
+
材料中的技术名可译为业务表述,例如:`audit1` → 一级审批;保存不推进流程 → **暂存**;办理并推进流程 → **提交**。
|
|
34
|
+
|
|
35
|
+
编写示例如下:
|
|
36
|
+
|
|
37
|
+
```markdown
|
|
38
|
+
### 需求点 2:新增/编辑弹窗底部操作
|
|
39
|
+
|
|
40
|
+
- 在**新增、编辑**场景下,弹窗底部新增 **「暂存」** 按钮。
|
|
41
|
+
- **「暂存」**:沿用原 **「确定」** 按钮的业务逻辑(含校验与保存/流程行为),**仅将按钮展示文案改为「暂存」**。
|
|
42
|
+
|
|
43
|
+
### 需求点 3:「科室医德考评小组人员名单」字段
|
|
44
|
+
|
|
45
|
+
- 原字段展示名 **「科室医德考评人员名单」** 统一改为 **「科室医德考评小组人员名单」**;凡界面、提示、校验文案等涉及该名称处**一并修改**。
|
|
46
|
+
- 当流程处于 **一级审批** 且该字段**展示**时,须校验为**必填**(在展示场景下触发,而非所有保存入口一律校验)。
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### 自检列表
|
|
50
|
+
- [ ] 含 **背景与目标、范围、需求说明** 三章,叙述完整
|
|
51
|
+
- [ ] 2 分钟内可通读;每个需求点 2 ~ 5 条 bullet,一层列表
|
|
52
|
+
- [ ] 场景、按钮行为、校验时机表述清楚,前后一致
|
|
53
|
+
- [ ] 「范围」与需求点中的 **「不考虑」** 口径一致
|
|
54
|
+
- [ ] 全文使用业务语言,术语统一
|
|
55
|
+
- [ ] 仅材料明确涉及时才有「非功能」「待确认」
|