@s_s/harmonia 1.2.0 → 1.4.0
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 +140 -392
- package/build/cli/setup.d.ts +4 -2
- package/build/cli/setup.js +44 -18
- package/build/cli/setup.js.map +1 -1
- package/build/core/action-registry.d.ts +36 -0
- package/build/core/action-registry.js +53 -0
- package/build/core/action-registry.js.map +1 -0
- package/build/core/artifacts.d.ts +66 -0
- package/build/core/artifacts.js +178 -0
- package/build/core/artifacts.js.map +1 -0
- package/build/core/dispatch.d.ts +18 -11
- package/build/core/dispatch.js +43 -33
- package/build/core/dispatch.js.map +1 -1
- package/build/core/issues.d.ts +37 -0
- package/build/core/issues.js +100 -0
- package/build/core/issues.js.map +1 -0
- package/build/core/overrides.d.ts +19 -26
- package/build/core/overrides.js +32 -98
- package/build/core/overrides.js.map +1 -1
- package/build/core/plugin.d.ts +86 -0
- package/build/core/plugin.js +332 -0
- package/build/core/plugin.js.map +1 -0
- package/build/core/registry.d.ts +36 -3
- package/build/core/registry.js +63 -5
- package/build/core/registry.js.map +1 -1
- package/build/core/reviews.d.ts +13 -13
- package/build/core/reviews.js +31 -32
- package/build/core/reviews.js.map +1 -1
- package/build/core/schema.d.ts +43 -15
- package/build/core/schema.js +124 -20
- package/build/core/schema.js.map +1 -1
- package/build/core/state.d.ts +29 -22
- package/build/core/state.js +49 -81
- package/build/core/state.js.map +1 -1
- package/build/core/steps.d.ts +15 -15
- package/build/core/steps.js +32 -33
- package/build/core/steps.js.map +1 -1
- package/build/core/tree-utils.d.ts +52 -0
- package/build/core/tree-utils.js +226 -0
- package/build/core/tree-utils.js.map +1 -0
- package/build/core/types.d.ts +417 -117
- package/build/core/types.js +15 -1
- package/build/core/types.js.map +1 -1
- package/build/core/workflow-engine.d.ts +68 -0
- package/build/core/workflow-engine.js +821 -0
- package/build/core/workflow-engine.js.map +1 -0
- package/build/core/workflow-validator.d.ts +22 -0
- package/build/core/workflow-validator.js +489 -0
- package/build/core/workflow-validator.js.map +1 -0
- package/build/index.js +28 -25
- package/build/index.js.map +1 -1
- package/build/setup/inject.d.ts +4 -4
- package/build/setup/inject.js +6 -6
- package/build/setup/inject.js.map +1 -1
- package/build/setup/templates.d.ts +9 -7
- package/build/setup/templates.js +68 -103
- package/build/setup/templates.js.map +1 -1
- package/build/tools/artifact-approve.d.ts +8 -0
- package/build/tools/artifact-approve.js +94 -0
- package/build/tools/artifact-approve.js.map +1 -0
- package/build/tools/artifact-schema.d.ts +12 -0
- package/build/tools/artifact-schema.js +148 -0
- package/build/tools/artifact-schema.js.map +1 -0
- package/build/tools/artifact-tools.d.ts +18 -0
- package/build/tools/artifact-tools.js +465 -0
- package/build/tools/artifact-tools.js.map +1 -0
- package/build/tools/{report-dispatch.d.ts → dispatch-report.d.ts} +7 -3
- package/build/tools/dispatch-report.js +261 -0
- package/build/tools/dispatch-report.js.map +1 -0
- package/build/tools/engine-helpers.d.ts +41 -0
- package/build/tools/engine-helpers.js +182 -0
- package/build/tools/engine-helpers.js.map +1 -0
- package/build/tools/get-project-status.d.ts +6 -4
- package/build/tools/get-project-status.js +308 -246
- package/build/tools/get-project-status.js.map +1 -1
- package/build/tools/get-role-prompt.d.ts +1 -1
- package/build/tools/get-role-prompt.js +7 -41
- package/build/tools/get-role-prompt.js.map +1 -1
- package/build/tools/issue-tools.d.ts +10 -0
- package/build/tools/issue-tools.js +169 -0
- package/build/tools/issue-tools.js.map +1 -0
- package/build/tools/iteration-start.d.ts +7 -4
- package/build/tools/iteration-start.js +51 -20
- package/build/tools/iteration-start.js.map +1 -1
- package/build/tools/loop-done.d.ts +11 -0
- package/build/tools/loop-done.js +109 -0
- package/build/tools/loop-done.js.map +1 -0
- package/build/tools/patch-start.d.ts +16 -0
- package/build/tools/patch-start.js +122 -0
- package/build/tools/patch-start.js.map +1 -0
- package/build/tools/project-init.d.ts +5 -5
- package/build/tools/project-init.js +47 -18
- package/build/tools/project-init.js.map +1 -1
- package/build/tools/role-dispatch.d.ts +55 -0
- package/build/tools/role-dispatch.js +508 -0
- package/build/tools/role-dispatch.js.map +1 -0
- package/build/tools/utils.d.ts +40 -0
- package/build/tools/utils.js +97 -0
- package/build/tools/utils.js.map +1 -0
- package/package.json +1 -1
- package/{build/hooks/claude-code.js → workflows/dev/hooks/claude.js} +34 -23
- package/{build → workflows/dev}/hooks/content.js +27 -18
- package/workflows/dev/hooks/index.js +52 -0
- package/{build → workflows/dev}/hooks/openclaw.js +31 -20
- package/{build → workflows/dev}/hooks/opencode.js +31 -20
- package/workflows/dev/roles/architect.md +68 -28
- package/workflows/dev/roles/coordinator.md +103 -0
- package/workflows/dev/roles/developer.md +5 -5
- package/workflows/dev/roles/tester.md +19 -19
- package/workflows/dev/schemas/api-contract.json +42 -0
- package/workflows/dev/schemas/api-design.json +30 -13
- package/workflows/dev/schemas/data-model.json +20 -7
- package/workflows/dev/schemas/prd.completeness-check.json +6 -5
- package/workflows/dev/schemas/prd.draft.json +13 -5
- package/workflows/dev/schemas/prd.final.json +34 -11
- package/workflows/dev/schemas/prd.json +29 -11
- package/workflows/dev/schemas/prd.requirements.json +6 -5
- package/workflows/dev/schemas/prototype.json +6 -2
- package/workflows/dev/schemas/task-breakdown.coarse.json +4 -3
- package/workflows/dev/schemas/task-breakdown.dependencies.json +5 -4
- package/workflows/dev/schemas/task-breakdown.detailed.json +8 -3
- package/workflows/dev/schemas/task-breakdown.final.json +8 -3
- package/workflows/dev/schemas/task-breakdown.json +8 -3
- package/workflows/dev/schemas/tech-design.analysis.json +6 -5
- package/workflows/dev/schemas/tech-design.draft.json +14 -5
- package/workflows/dev/schemas/tech-design.final.json +39 -13
- package/workflows/dev/schemas/tech-design.json +34 -13
- package/workflows/dev/schemas/tech-design.research.json +21 -0
- package/workflows/dev/schemas/test-plan.json +17 -7
- package/workflows/dev/schemas/test-report.json +26 -9
- package/workflows/dev/schemas/user-stories.json +7 -3
- package/workflows/dev/tools/index.js +23 -0
- package/workflows/dev/workflow.json +234 -101
- package/build/core/docs.d.ts +0 -32
- package/build/core/docs.js +0 -91
- package/build/core/docs.js.map +0 -1
- package/build/core/workflow.d.ts +0 -33
- package/build/core/workflow.js +0 -140
- package/build/core/workflow.js.map +0 -1
- package/build/hooks/claude-code.d.ts +0 -20
- package/build/hooks/claude-code.js.map +0 -1
- package/build/hooks/content.d.ts +0 -43
- package/build/hooks/content.js.map +0 -1
- package/build/hooks/install.d.ts +0 -40
- package/build/hooks/install.js +0 -63
- package/build/hooks/install.js.map +0 -1
- package/build/hooks/openclaw.d.ts +0 -24
- package/build/hooks/openclaw.js.map +0 -1
- package/build/hooks/opencode.d.ts +0 -29
- package/build/hooks/opencode.js.map +0 -1
- package/build/tools/approve-doc.d.ts +0 -6
- package/build/tools/approve-doc.js +0 -108
- package/build/tools/approve-doc.js.map +0 -1
- package/build/tools/dispatch-role.d.ts +0 -16
- package/build/tools/dispatch-role.js +0 -277
- package/build/tools/dispatch-role.js.map +0 -1
- package/build/tools/doc-tools.d.ts +0 -16
- package/build/tools/doc-tools.js +0 -389
- package/build/tools/doc-tools.js.map +0 -1
- package/build/tools/override-tools.d.ts +0 -6
- package/build/tools/override-tools.js +0 -129
- package/build/tools/override-tools.js.map +0 -1
- package/build/tools/report-dispatch.js +0 -194
- package/build/tools/report-dispatch.js.map +0 -1
- package/build/tools/set-scale.d.ts +0 -6
- package/build/tools/set-scale.js +0 -107
- package/build/tools/set-scale.js.map +0 -1
- package/build/tools/setup-project.d.ts +0 -8
- package/build/tools/setup-project.js +0 -116
- package/build/tools/setup-project.js.map +0 -1
- package/build/tools/update-phase.d.ts +0 -12
- package/build/tools/update-phase.js +0 -159
- package/build/tools/update-phase.js.map +0 -1
- package/workflows/dev/roles/pm.md +0 -99
- package/workflows/dev/schemas/deploy.json +0 -20
- package/workflows/dev/schemas/fsd.json +0 -25
- package/workflows/dev/schemas/project-plan.json +0 -20
- package/workflows/dev/schemas/retrospective.json +0 -20
- package/workflows/dev/schemas/risk-assessment.json +0 -15
- package/workflows/dev/schemas/tech-design.api-contract.json +0 -20
|
@@ -2,24 +2,25 @@
|
|
|
2
2
|
"jsonFields": [
|
|
3
3
|
{
|
|
4
4
|
"field": "features",
|
|
5
|
-
"required":
|
|
5
|
+
"required": true,
|
|
6
6
|
"type": "array",
|
|
7
7
|
"minItems": 1
|
|
8
8
|
},
|
|
9
9
|
{
|
|
10
10
|
"field": "constraints",
|
|
11
|
-
"required":
|
|
11
|
+
"required": true,
|
|
12
12
|
"type": "array"
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
"field": "priorities",
|
|
16
|
-
"required":
|
|
16
|
+
"required": true,
|
|
17
17
|
"type": "object"
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
"field": "scope",
|
|
21
|
-
"required":
|
|
21
|
+
"required": true,
|
|
22
22
|
"type": "string"
|
|
23
23
|
}
|
|
24
|
-
]
|
|
24
|
+
],
|
|
25
|
+
"guidance": "将用户原始需求结构化为 JSON 格式。只提取需求信息(功能列表、约束、优先级、范围),不做技术分析或方案设计。"
|
|
25
26
|
}
|
|
@@ -2,14 +2,15 @@
|
|
|
2
2
|
"jsonFields": [
|
|
3
3
|
{
|
|
4
4
|
"field": "tasks",
|
|
5
|
-
"required":
|
|
5
|
+
"required": true,
|
|
6
6
|
"type": "array",
|
|
7
7
|
"minItems": 1
|
|
8
8
|
},
|
|
9
9
|
{
|
|
10
10
|
"field": "estimatedTotal",
|
|
11
|
-
"required":
|
|
11
|
+
"required": true,
|
|
12
12
|
"type": "string"
|
|
13
13
|
}
|
|
14
|
-
]
|
|
14
|
+
],
|
|
15
|
+
"guidance": "按功能模块粗粒度拆分任务,标注预估工作量。聚焦任务划分的合理性,不需要细化到具体实现步骤。"
|
|
15
16
|
}
|
|
@@ -2,19 +2,20 @@
|
|
|
2
2
|
"jsonFields": [
|
|
3
3
|
{
|
|
4
4
|
"field": "dependencies",
|
|
5
|
-
"required":
|
|
5
|
+
"required": true,
|
|
6
6
|
"type": "array"
|
|
7
7
|
},
|
|
8
8
|
{
|
|
9
9
|
"field": "executionOrder",
|
|
10
|
-
"required":
|
|
10
|
+
"required": true,
|
|
11
11
|
"type": "array",
|
|
12
12
|
"minItems": 1
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
"field": "parallelGroups",
|
|
16
|
-
"required":
|
|
16
|
+
"required": true,
|
|
17
17
|
"type": "array"
|
|
18
18
|
}
|
|
19
|
-
]
|
|
19
|
+
],
|
|
20
|
+
"guidance": "分析任务间的依赖关系,确定执行顺序和可并行的任务组。输出结构化 JSON。"
|
|
20
21
|
}
|
|
@@ -2,9 +2,14 @@
|
|
|
2
2
|
"sections": [
|
|
3
3
|
{
|
|
4
4
|
"heading": "## 任务列表",
|
|
5
|
-
"required":
|
|
6
|
-
"aliases": [
|
|
5
|
+
"required": true,
|
|
6
|
+
"aliases": [
|
|
7
|
+
"## Task List",
|
|
8
|
+
"## 任务清单",
|
|
9
|
+
"## Tasks"
|
|
10
|
+
]
|
|
7
11
|
}
|
|
8
12
|
],
|
|
9
|
-
"minLength": 80
|
|
13
|
+
"minLength": 80,
|
|
14
|
+
"guidance": "将粗粒度任务细化为具体的开发任务,每个任务应包含明确的输入、输出和完成标准。"
|
|
10
15
|
}
|
|
@@ -2,9 +2,14 @@
|
|
|
2
2
|
"sections": [
|
|
3
3
|
{
|
|
4
4
|
"heading": "## 任务列表",
|
|
5
|
-
"required":
|
|
6
|
-
"aliases": [
|
|
5
|
+
"required": true,
|
|
6
|
+
"aliases": [
|
|
7
|
+
"## Task List",
|
|
8
|
+
"## 任务清单",
|
|
9
|
+
"## Tasks"
|
|
10
|
+
]
|
|
7
11
|
}
|
|
8
12
|
],
|
|
9
|
-
"minLength": 100
|
|
13
|
+
"minLength": 100,
|
|
14
|
+
"guidance": "任务拆解最终版,整合依赖关系和执行顺序。每个任务需标注是否可并行、依赖哪些前置任务。"
|
|
10
15
|
}
|
|
@@ -2,9 +2,14 @@
|
|
|
2
2
|
"sections": [
|
|
3
3
|
{
|
|
4
4
|
"heading": "## 任务列表",
|
|
5
|
-
"required":
|
|
6
|
-
"aliases": [
|
|
5
|
+
"required": true,
|
|
6
|
+
"aliases": [
|
|
7
|
+
"## Task List",
|
|
8
|
+
"## 任务清单",
|
|
9
|
+
"## Tasks"
|
|
10
|
+
]
|
|
7
11
|
}
|
|
8
12
|
],
|
|
9
|
-
"minLength": 100
|
|
13
|
+
"minLength": 100,
|
|
14
|
+
"guidance": "任务拆解文档,将技术方案拆分为可执行的开发任务。每个任务要具体到开发者能直接开始编码。"
|
|
10
15
|
}
|
|
@@ -2,24 +2,25 @@
|
|
|
2
2
|
"jsonFields": [
|
|
3
3
|
{
|
|
4
4
|
"field": "currentArchitecture",
|
|
5
|
-
"required":
|
|
5
|
+
"required": true,
|
|
6
6
|
"type": "object"
|
|
7
7
|
},
|
|
8
8
|
{
|
|
9
9
|
"field": "constraints",
|
|
10
|
-
"required":
|
|
10
|
+
"required": true,
|
|
11
11
|
"type": "array"
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
14
|
"field": "proposals",
|
|
15
|
-
"required":
|
|
15
|
+
"required": true,
|
|
16
16
|
"type": "array",
|
|
17
17
|
"minItems": 1
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
"field": "recommendation",
|
|
21
|
-
"required":
|
|
21
|
+
"required": true,
|
|
22
22
|
"type": "string"
|
|
23
23
|
}
|
|
24
|
-
]
|
|
24
|
+
],
|
|
25
|
+
"guidance": "分析现有架构和技术约束,提出可行方案并给出推荐。输出结构化 JSON,聚焦技术可行性分析。"
|
|
25
26
|
}
|
|
@@ -2,14 +2,23 @@
|
|
|
2
2
|
"sections": [
|
|
3
3
|
{
|
|
4
4
|
"heading": "## 架构概述",
|
|
5
|
-
"required":
|
|
6
|
-
"aliases": [
|
|
5
|
+
"required": true,
|
|
6
|
+
"aliases": [
|
|
7
|
+
"## Architecture Overview",
|
|
8
|
+
"## 系统架构",
|
|
9
|
+
"## 架构设计"
|
|
10
|
+
]
|
|
7
11
|
},
|
|
8
12
|
{
|
|
9
13
|
"heading": "## 技术选型",
|
|
10
|
-
"required":
|
|
11
|
-
"aliases": [
|
|
14
|
+
"required": true,
|
|
15
|
+
"aliases": [
|
|
16
|
+
"## Technology Stack",
|
|
17
|
+
"## 技术栈",
|
|
18
|
+
"## Tech Stack"
|
|
19
|
+
]
|
|
12
20
|
}
|
|
13
21
|
],
|
|
14
|
-
"minLength": 150
|
|
22
|
+
"minLength": 150,
|
|
23
|
+
"guidance": "技术方案草稿,聚焦架构概述和技术选型两个核心章节。"
|
|
15
24
|
}
|
|
@@ -2,29 +2,55 @@
|
|
|
2
2
|
"sections": [
|
|
3
3
|
{
|
|
4
4
|
"heading": "## 架构概述",
|
|
5
|
-
"required":
|
|
6
|
-
"aliases": [
|
|
5
|
+
"required": true,
|
|
6
|
+
"aliases": [
|
|
7
|
+
"## Architecture Overview",
|
|
8
|
+
"## 系统架构",
|
|
9
|
+
"## 架构设计"
|
|
10
|
+
]
|
|
7
11
|
},
|
|
8
12
|
{
|
|
9
13
|
"heading": "## 技术选型",
|
|
10
|
-
"required":
|
|
11
|
-
"aliases": [
|
|
14
|
+
"required": true,
|
|
15
|
+
"aliases": [
|
|
16
|
+
"## Technology Stack",
|
|
17
|
+
"## 技术栈",
|
|
18
|
+
"## Tech Stack"
|
|
19
|
+
]
|
|
12
20
|
},
|
|
13
21
|
{
|
|
14
22
|
"heading": "## 模块设计",
|
|
15
|
-
"required":
|
|
16
|
-
"aliases": [
|
|
23
|
+
"required": true,
|
|
24
|
+
"aliases": [
|
|
25
|
+
"## Module Design",
|
|
26
|
+
"## 组件设计",
|
|
27
|
+
"## 模块划分"
|
|
28
|
+
]
|
|
17
29
|
},
|
|
18
30
|
{
|
|
19
|
-
"heading": "##
|
|
20
|
-
"required":
|
|
21
|
-
"aliases": [
|
|
31
|
+
"heading": "## 架构决策",
|
|
32
|
+
"required": true,
|
|
33
|
+
"aliases": [
|
|
34
|
+
"## Architecture Decisions",
|
|
35
|
+
"## 设计决策",
|
|
36
|
+
"## 技术决策"
|
|
37
|
+
]
|
|
22
38
|
},
|
|
23
39
|
{
|
|
24
|
-
"heading": "##
|
|
25
|
-
"required":
|
|
26
|
-
"aliases": [
|
|
40
|
+
"heading": "## 风险评估",
|
|
41
|
+
"required": true,
|
|
42
|
+
"aliases": [
|
|
43
|
+
"## Risk Assessment",
|
|
44
|
+
"## 技术风险",
|
|
45
|
+
"## 风险分析"
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"heading": "## UML 建模",
|
|
50
|
+
"required": true,
|
|
51
|
+
"aliases": ["## UML", "## UML 图", "## 架构建模"]
|
|
27
52
|
}
|
|
28
53
|
],
|
|
29
|
-
"minLength": 200
|
|
54
|
+
"minLength": 200,
|
|
55
|
+
"guidance": "技术方案最终版,需包含所有必需章节。确保架构决策有理有据,模块设计清晰可执行,风险评估完整。"
|
|
30
56
|
}
|
|
@@ -2,29 +2,50 @@
|
|
|
2
2
|
"sections": [
|
|
3
3
|
{
|
|
4
4
|
"heading": "## 架构概述",
|
|
5
|
-
"required":
|
|
6
|
-
"aliases": [
|
|
5
|
+
"required": true,
|
|
6
|
+
"aliases": [
|
|
7
|
+
"## Architecture Overview",
|
|
8
|
+
"## 系统架构",
|
|
9
|
+
"## 架构设计"
|
|
10
|
+
]
|
|
7
11
|
},
|
|
8
12
|
{
|
|
9
13
|
"heading": "## 技术选型",
|
|
10
|
-
"required":
|
|
11
|
-
"aliases": [
|
|
14
|
+
"required": true,
|
|
15
|
+
"aliases": [
|
|
16
|
+
"## Technology Stack",
|
|
17
|
+
"## 技术栈",
|
|
18
|
+
"## Tech Stack"
|
|
19
|
+
]
|
|
12
20
|
},
|
|
13
21
|
{
|
|
14
22
|
"heading": "## 模块设计",
|
|
15
|
-
"required":
|
|
16
|
-
"aliases": [
|
|
23
|
+
"required": true,
|
|
24
|
+
"aliases": [
|
|
25
|
+
"## Module Design",
|
|
26
|
+
"## 组件设计",
|
|
27
|
+
"## 模块划分"
|
|
28
|
+
]
|
|
17
29
|
},
|
|
18
30
|
{
|
|
19
|
-
"heading": "##
|
|
20
|
-
"required":
|
|
21
|
-
"aliases": [
|
|
31
|
+
"heading": "## 架构决策",
|
|
32
|
+
"required": true,
|
|
33
|
+
"aliases": [
|
|
34
|
+
"## Architecture Decisions",
|
|
35
|
+
"## 设计决策",
|
|
36
|
+
"## 技术决策"
|
|
37
|
+
]
|
|
22
38
|
},
|
|
23
39
|
{
|
|
24
|
-
"heading": "##
|
|
25
|
-
"required":
|
|
26
|
-
"aliases": [
|
|
40
|
+
"heading": "## 风险评估",
|
|
41
|
+
"required": true,
|
|
42
|
+
"aliases": [
|
|
43
|
+
"## Risk Assessment",
|
|
44
|
+
"## 技术风险",
|
|
45
|
+
"## 风险分析"
|
|
46
|
+
]
|
|
27
47
|
}
|
|
28
48
|
],
|
|
29
|
-
"minLength": 200
|
|
49
|
+
"minLength": 200,
|
|
50
|
+
"guidance": "技术方案描述如何实现需求(怎么做),包括架构概述、技术选型、模块设计、架构决策及其依据、风险评估。接口设计和数据模型已拆为独立产出(api-design、data-model),此处聚焦架构层面。"
|
|
30
51
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"jsonFields": [
|
|
3
|
+
{
|
|
4
|
+
"field": "items",
|
|
5
|
+
"required": true,
|
|
6
|
+
"type": "array",
|
|
7
|
+
"minItems": 1
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"field": "risks",
|
|
11
|
+
"required": true,
|
|
12
|
+
"type": "array"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"field": "conclusion",
|
|
16
|
+
"required": true,
|
|
17
|
+
"type": "string"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"guidance": "技术预研报告:三方对接/外部依赖的可行性验证、风险评估、替代方案。每项预研包含结论和依据。"
|
|
21
|
+
}
|
|
@@ -2,19 +2,29 @@
|
|
|
2
2
|
"sections": [
|
|
3
3
|
{
|
|
4
4
|
"heading": "## 测试范围",
|
|
5
|
-
"required":
|
|
6
|
-
"aliases": [
|
|
5
|
+
"required": true,
|
|
6
|
+
"aliases": [
|
|
7
|
+
"## Test Scope",
|
|
8
|
+
"## 测试目标"
|
|
9
|
+
]
|
|
7
10
|
},
|
|
8
11
|
{
|
|
9
12
|
"heading": "## 测试策略",
|
|
10
|
-
"required":
|
|
11
|
-
"aliases": [
|
|
13
|
+
"required": true,
|
|
14
|
+
"aliases": [
|
|
15
|
+
"## Test Strategy",
|
|
16
|
+
"## 测试方法"
|
|
17
|
+
]
|
|
12
18
|
},
|
|
13
19
|
{
|
|
14
20
|
"heading": "## 测试用例",
|
|
15
|
-
"required":
|
|
16
|
-
"aliases": [
|
|
21
|
+
"required": true,
|
|
22
|
+
"aliases": [
|
|
23
|
+
"## Test Cases",
|
|
24
|
+
"## 用例列表"
|
|
25
|
+
]
|
|
17
26
|
}
|
|
18
27
|
],
|
|
19
|
-
"minLength": 100
|
|
28
|
+
"minLength": 100,
|
|
29
|
+
"guidance": "测试计划文档,基于 user-stories 验收标准制定测试策略和用例。覆盖功能测试(参照 prototype 交互流程)和内部模块 API 测试(参照 api-design 方法签名)。"
|
|
20
30
|
}
|
|
@@ -2,24 +2,41 @@
|
|
|
2
2
|
"sections": [
|
|
3
3
|
{
|
|
4
4
|
"heading": "## 测试范围",
|
|
5
|
-
"required":
|
|
6
|
-
"aliases": [
|
|
5
|
+
"required": true,
|
|
6
|
+
"aliases": [
|
|
7
|
+
"## Test Scope",
|
|
8
|
+
"## 测试目标",
|
|
9
|
+
"## 测试概述"
|
|
10
|
+
]
|
|
7
11
|
},
|
|
8
12
|
{
|
|
9
13
|
"heading": "## 测试结果",
|
|
10
|
-
"required":
|
|
11
|
-
"aliases": [
|
|
14
|
+
"required": true,
|
|
15
|
+
"aliases": [
|
|
16
|
+
"## Test Results",
|
|
17
|
+
"## 用例结果",
|
|
18
|
+
"## 执行结果"
|
|
19
|
+
]
|
|
12
20
|
},
|
|
13
21
|
{
|
|
14
22
|
"heading": "## 问题列表",
|
|
15
|
-
"required":
|
|
16
|
-
"aliases": [
|
|
23
|
+
"required": true,
|
|
24
|
+
"aliases": [
|
|
25
|
+
"## Issues",
|
|
26
|
+
"## 缺陷列表",
|
|
27
|
+
"## 问题与缺陷"
|
|
28
|
+
]
|
|
17
29
|
},
|
|
18
30
|
{
|
|
19
31
|
"heading": "## 覆盖率",
|
|
20
|
-
"required":
|
|
21
|
-
"aliases": [
|
|
32
|
+
"required": true,
|
|
33
|
+
"aliases": [
|
|
34
|
+
"## Coverage",
|
|
35
|
+
"## 测试覆盖率",
|
|
36
|
+
"## 代码覆盖率"
|
|
37
|
+
]
|
|
22
38
|
}
|
|
23
39
|
],
|
|
24
|
-
"minLength": 100
|
|
40
|
+
"minLength": 100,
|
|
41
|
+
"guidance": "测试报告,如实记录测试执行结果:通过/失败/跳过统计,失败用例的详细信息和复现步骤。"
|
|
25
42
|
}
|
|
@@ -2,9 +2,13 @@
|
|
|
2
2
|
"sections": [
|
|
3
3
|
{
|
|
4
4
|
"heading": "## 用户故事",
|
|
5
|
-
"required":
|
|
6
|
-
"aliases": [
|
|
5
|
+
"required": true,
|
|
6
|
+
"aliases": [
|
|
7
|
+
"## User Stories",
|
|
8
|
+
"## 用户场景"
|
|
9
|
+
]
|
|
7
10
|
}
|
|
8
11
|
],
|
|
9
|
-
"minLength": 100
|
|
12
|
+
"minLength": 100,
|
|
13
|
+
"guidance": "基于 prd 和已确认的 prototype 交互设计,从用户视角描述功能需求。每个故事包含角色、目标和验收标准。格式:作为<角色>,我想<目标>,以便<价值>。"
|
|
10
14
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dev workflow — action registration.
|
|
3
|
+
*
|
|
4
|
+
* This module exports a registerActions function called by the plugin loader.
|
|
5
|
+
* Actions are invoked by beforeDispatch/afterComplete hooks defined in workflow.json
|
|
6
|
+
* node definitions.
|
|
7
|
+
*
|
|
8
|
+
* Currently no custom actions are registered for the dev workflow.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Register dev workflow actions.
|
|
13
|
+
*
|
|
14
|
+
* @param api - Registration API provided by the plugin loader
|
|
15
|
+
* @param api.register - Function to register an action by name and handler
|
|
16
|
+
*/
|
|
17
|
+
export function registerActions(_api) {
|
|
18
|
+
// No custom actions yet.
|
|
19
|
+
// Example:
|
|
20
|
+
// api.register('check-dependencies', async (ctx) => {
|
|
21
|
+
// return { inject: ['Dependencies are up to date.'] };
|
|
22
|
+
// });
|
|
23
|
+
}
|