jsharness 1.8.2 → 1.8.3

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.
Files changed (39) hide show
  1. package/.harness/README.md +123 -57
  2. package/.harness/agents/{prompt-templates.md → agent-dispatcher.md} +304 -21
  3. package/.harness/agents/code-reviewer/contract.yaml +1 -1
  4. package/.harness/agents/code-reviewer/prompt.md +1 -1
  5. package/.harness/agents/code-reviewer.md +1 -1
  6. package/.harness/agents/developer/contract.yaml +0 -1
  7. package/.harness/agents/developer/prompt.md +0 -1
  8. package/.harness/agents/developer.md +0 -1
  9. package/.harness/agents/gate-controller/contract.yaml +1 -1
  10. package/.harness/agents/gate-controller/prompt.md +1 -1
  11. package/.harness/agents/gate-controller.md +1 -1
  12. package/.harness/agents/project-manager/contract.yaml +1 -1
  13. package/.harness/agents/project-manager/prompt.md +1 -1
  14. package/.harness/agents/project-manager.md +1 -1
  15. package/.harness/agents/requirements-analyst/contract.yaml +2 -2
  16. package/.harness/agents/requirements-analyst/prompt.md +5 -26
  17. package/.harness/agents/requirements-analyst.md +5 -26
  18. package/.harness/agents/solution-designer/contract.yaml +1 -1
  19. package/.harness/agents/solution-designer/prompt.md +1 -1
  20. package/.harness/agents/solution-designer.md +1 -1
  21. package/.harness/agents/tester/contract.yaml +1 -1
  22. package/.harness/agents/tester/prompt.md +1 -1
  23. package/.harness/agents/tester.md +1 -1
  24. package/.harness/dev-map/overview.md +5 -4
  25. package/.harness/skills/architecture-designer/SKILL.md +2 -0
  26. package/.harness/skills/docs-update/SKILL.md +2 -0
  27. package/.harness/skills/prd-generator/SKILL.md +584 -0
  28. package/files/analyze-requirements.md +197 -0
  29. package/lib/index.mjs +1 -31
  30. package/package.json +1 -1
  31. package/.harness/skills/build/SKILL.md +0 -199
  32. /package/.harness/{docs → doc}/integration-test-plan.md +0 -0
  33. /package/.harness/{docs → doc}/team-guidelines/README.md +0 -0
  34. /package/.harness/{docs → doc}/team-guidelines/arch-team.md +0 -0
  35. /package/.harness/{docs → doc}/team-guidelines/collaboration.md +0 -0
  36. /package/.harness/{docs → doc}/team-guidelines/pm-team.md +0 -0
  37. /package/.harness/{docs → doc}/team-guidelines/qa-team.md +0 -0
  38. /package/.harness/{docs → doc}/team-guidelines/rd-team.md +0 -0
  39. /package/.harness/{docs → doc}/training-materials.md +0 -0
@@ -23,7 +23,7 @@ permissions:
23
23
  safetyLevel: low
24
24
  dependencies:
25
25
  - developer
26
- outputFormat: review-report-pr-{n}.md
26
+ outputFormat: .harness/doc/codereview/review-report-pr-{n}.md
27
27
  ---
28
28
 
29
29
  # 代码审查 Agent
@@ -37,7 +37,6 @@ safetyLevel: medium
37
37
  dependencies:
38
38
  - solution-designer
39
39
  - code-reviewer
40
- outputFormat: "src/**/*.{ts,tsx,java,vue}"
41
40
 
42
41
  responsibilities:
43
42
  - 按设计文档编写代码
@@ -31,7 +31,6 @@ safetyLevel: medium
31
31
  dependencies:
32
32
  - solution-designer
33
33
  - code-reviewer
34
- outputFormat: src/**/*.{ts,tsx,java,vue}
35
34
  ---
36
35
 
37
36
  # 开发实现 Agent
@@ -31,7 +31,6 @@ safetyLevel: medium
31
31
  dependencies:
32
32
  - solution-designer
33
33
  - code-reviewer
34
- outputFormat: src/**/*.{ts,tsx,java,vue}
35
34
  ---
36
35
 
37
36
  # 开发实现 Agent
@@ -32,7 +32,7 @@ safetyLevel: medium
32
32
  dependencies:
33
33
  - solution-designer
34
34
  - code-reviewer
35
- outputFormat: gate-decision.json
35
+ outputFormat: .harness/doc/gate-report/gate-decision.json
36
36
 
37
37
  responsibilities:
38
38
  - 评估技术方案的可行性
@@ -26,7 +26,7 @@ safetyLevel: medium
26
26
  dependencies:
27
27
  - solution-designer
28
28
  - code-reviewer
29
- outputFormat: gate-decision.json
29
+ outputFormat: .harness/doc/gate-report/gate-decision.json
30
30
  ---
31
31
 
32
32
  # 闸门总控 Agent
@@ -26,7 +26,7 @@ safetyLevel: medium
26
26
  dependencies:
27
27
  - solution-designer
28
28
  - code-reviewer
29
- outputFormat: gate-decision.json
29
+ outputFormat: .harness/doc/gate-report/gate-decision.json
30
30
  ---
31
31
 
32
32
  # 闸门总控 Agent
@@ -29,7 +29,7 @@ permissions:
29
29
 
30
30
  safetyLevel: low
31
31
  dependencies: []
32
- outputFormat: routing-decision.md
32
+ outputFormat: .harness/doc/project/routing-decision.md
33
33
 
34
34
  responsibilities:
35
35
  - 接收需求,判断其类型(新功能/Bug/热修复/文档等)
@@ -23,7 +23,7 @@ permissions:
23
23
  - read
24
24
  safetyLevel: low
25
25
  dependencies: []
26
- outputFormat: routing-decision.md
26
+ outputFormat: .harness/doc/project/routing-decision.md
27
27
  ---
28
28
 
29
29
  # PM 路由 Agent
@@ -23,7 +23,7 @@ permissions:
23
23
  - read
24
24
  safetyLevel: low
25
25
  dependencies: []
26
- outputFormat: routing-decision.md
26
+ outputFormat: .harness/doc/project/routing-decision.md
27
27
  ---
28
28
 
29
29
  # PM 路由 Agent
@@ -1,5 +1,5 @@
1
1
  name: requirements-analyst
2
- description: 需求分析Agent,将原始需求转化为结构化需求文档、验收标准和用户故事
2
+ description: 需求分析Agent,将原始需求转化为结构化需求文档、验收标准和用户故事,使用 prd-generator 技能生成标准化 PRD
3
3
  version: "1.0.0"
4
4
 
5
5
  tools:
@@ -30,7 +30,7 @@ permissions:
30
30
  safetyLevel: low
31
31
  dependencies:
32
32
  - project-manager
33
- outputFormat: requirements-{task-id}.md
33
+ outputFormat: .harness/doc/prd/requirements-{task-id}.md
34
34
 
35
35
  responsibilities:
36
36
  - 将模糊的原始需求转化为结构化规格说明
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: requirements-analyst
3
- description: 需求分析Agent,将原始需求转化为结构化需求文档、验收标准和用户故事
3
+ description: 需求分析Agent,将原始需求转化为结构化需求文档、验收标准和用户故事,使用 prd-generator 技能生成标准化 PRD
4
4
  tools:
5
5
  - search_content
6
6
  - read_file
@@ -24,7 +24,7 @@ permissions:
24
24
  safetyLevel: low
25
25
  dependencies:
26
26
  - project-manager
27
- outputFormat: requirements-{task-id}.md
27
+ outputFormat: .harness/doc/prd/requirements-{task-id}.md
28
28
  ---
29
29
 
30
30
  # 需求分析 Agent
@@ -63,28 +63,7 @@ outputFormat: requirements-{task-id}.md
63
63
  - 用户故事遵循"作为...我想要...以便于..."格式
64
64
 
65
65
  ## 需求文档模板
66
- ```markdown
67
- # 需求文档:{标题}
68
66
 
69
- ## 背景(Why)
70
- - 业务背景和动机
71
- - 当前痛点
72
- - 期望达到的效果
73
-
74
- ## 目标(What)
75
- - 功能性需求(FR-001 ~ FR-n)
76
- - 非功能性需求(NFR-001 ~ NFR-n)
77
-
78
- ## 范围边界
79
- - **包含**: 本次要做的事
80
- - **不包含**: 明确排除的范围(防止范围蔓延)
81
- - **依赖**: 外部依赖和前置条件
82
-
83
- ## 用户故事
84
- 作为 {角色},我想要 {功能},以便于 {价值}
85
-
86
- ## 验收标准(AC)
87
- - AC-1: [Given/When/Then 格式的可测试条件]
88
- - AC-2: [...]
89
- - AC-n: [...]
90
- ```
67
+ > **强制**:所有需求文档必须使用 `prd-generator` 技能生成标准化 PRD,该技能提供了十大章节的完整模板(背景、用户角色、业务主流程、用户故事、系统用户与功能结构、功能清单、功能详细描述、产品运行分析、非功能性需求、附录),确保需求分析的完整性和可追溯性。
68
+ >
69
+ > 不得使用简化版模板或自定义格式,所有需求必须按照 PRD 标准版输出。
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: requirements-analyst
3
- description: 需求分析Agent,将原始需求转化为结构化需求文档、验收标准和用户故事
3
+ description: 需求分析Agent,将原始需求转化为结构化需求文档、验收标准和用户故事,使用 prd-generator 技能生成标准化 PRD
4
4
  tools:
5
5
  - search_content
6
6
  - read_file
@@ -24,7 +24,7 @@ permissions:
24
24
  safetyLevel: low
25
25
  dependencies:
26
26
  - project-manager
27
- outputFormat: requirements-{task-id}.md
27
+ outputFormat: .harness/doc/prd/requirements-{task-id}.md
28
28
  ---
29
29
 
30
30
  # 需求分析 Agent
@@ -63,28 +63,7 @@ outputFormat: requirements-{task-id}.md
63
63
  - 用户故事遵循"作为...我想要...以便于..."格式
64
64
 
65
65
  ## 需求文档模板
66
- ```markdown
67
- # 需求文档:{标题}
68
66
 
69
- ## 背景(Why)
70
- - 业务背景和动机
71
- - 当前痛点
72
- - 期望达到的效果
73
-
74
- ## 目标(What)
75
- - 功能性需求(FR-001 ~ FR-n)
76
- - 非功能性需求(NFR-001 ~ NFR-n)
77
-
78
- ## 范围边界
79
- - **包含**: 本次要做的事
80
- - **不包含**: 明确排除的范围(防止范围蔓延)
81
- - **依赖**: 外部依赖和前置条件
82
-
83
- ## 用户故事
84
- 作为 {角色},我想要 {功能},以便于 {价值}
85
-
86
- ## 验收标准(AC)
87
- - AC-1: [Given/When/Then 格式的可测试条件]
88
- - AC-2: [...]
89
- - AC-n: [...]
90
- ```
67
+ > **强制**:所有需求文档必须使用 `prd-generator` 技能生成标准化 PRD,该技能提供了十大章节的完整模板(背景、用户角色、业务主流程、用户故事、系统用户与功能结构、功能清单、功能详细描述、产品运行分析、非功能性需求、附录),确保需求分析的完整性和可追溯性。
68
+ >
69
+ > 不得使用简化版模板或自定义格式,所有需求必须按照 PRD 标准版输出。
@@ -32,7 +32,7 @@ permissions:
32
32
  safetyLevel: low
33
33
  dependencies:
34
34
  - requirements-analyst
35
- outputFormat: design-{task-id}.md
35
+ outputFormat: .harness/doc/design/design-{task-id}.md
36
36
 
37
37
  responsibilities:
38
38
  - 基于需求文档输出完整技术方案
@@ -26,7 +26,7 @@ permissions:
26
26
  safetyLevel: low
27
27
  dependencies:
28
28
  - requirements-analyst
29
- outputFormat: design-{task-id}.md
29
+ outputFormat: .harness/doc/design/design-{task-id}.md
30
30
  ---
31
31
 
32
32
  # 方案设计 Agent
@@ -26,7 +26,7 @@ permissions:
26
26
  safetyLevel: low
27
27
  dependencies:
28
28
  - requirements-analyst
29
- outputFormat: design-{task-id}.md
29
+ outputFormat: .harness/doc/design/design-{task-id}.md
30
30
  ---
31
31
 
32
32
  # 方案设计 Agent
@@ -36,7 +36,7 @@ safetyLevel: medium
36
36
  dependencies:
37
37
  - developer
38
38
  - code-reviewer
39
- outputFormat: test-report-{task-id}.md
39
+ outputFormat: .harness/doc/test-report/test-report-{task-id}.md
40
40
 
41
41
  responsibilities:
42
42
  - 制定测试策略和计划
@@ -30,7 +30,7 @@ safetyLevel: medium
30
30
  dependencies:
31
31
  - developer
32
32
  - code-reviewer
33
- outputFormat: test-report-{task-id}.md
33
+ outputFormat: .harness/doc/test-report/test-report-{task-id}.md
34
34
  ---
35
35
 
36
36
  # 测试验证 Agent
@@ -30,7 +30,7 @@ safetyLevel: medium
30
30
  dependencies:
31
31
  - developer
32
32
  - code-reviewer
33
- outputFormat: test-report-{task-id}.md
33
+ outputFormat: .harness/doc/test-report/test-report-{task-id}.md
34
34
  ---
35
35
 
36
36
  # 测试验证 Agent
@@ -251,11 +251,12 @@ project-root/ # 项目根目录
251
251
  | 规范层级 | 入口 | 与本项目的对应关系 |
252
252
  |---------|------|-------------------|
253
253
  | ⚡ Gate 门禁 | `.harness/gate/checks/` | 自动检测 pom.xml→Java门禁(build-gates-java.js: mvn compile/test/checkstyle/spotbugs/jacoco) / package.json→前端门禁(build-gates-frontend.js: tsc/npm/eslint/audit) |
254
- | 📘 Skills 技能 | `.harness/skills/` | test-unit(JUnit5+Mockito+JaCoCo)/lint-check(Checkstyle+PMD+SpotBugs+SonarQube)/test-api(REST Assured+WireMock)/test-e2e(Testcontainers+Spring Profiles) 均含 Java 章节;build 已废弃→分流到 java-build / vue-frontend-build |
255
- | 🔄 Workflow | `.harness/workflow/definition.yaml` | 条件引用 `java-build | vue-frontend-build`;output_formats 含 .java;rules 引用 java-backend.md + frontend-vue3.md |
256
- | 🤖 Agents | `.harness/agents/` | Developer contract 输出格式含 .java / *Test.java;编码流程含双技术栈说明;质量要求双列(前端标准/后端Java标准)|
254
+ | 📘 Skills 技能 | `.harness/skills/` | 12个技能:architecture-designer(C4/领域模型)/prd-generator(PRD生成)/code-review(前端+后端)/test-unit/lint-check/test-api/test-e2e/java-build/vue-frontend-build/docker-build/docs-update/task-board-maintenance |
255
+ | 🔄 Workflow | `.harness/workflow/definition.yaml` | 条件引用 `java-build \| vue-frontend-build`;7阶段状态机+4流程变体;rules引用java-backend.md+frontend-vue3.md+design-document-boundary.md |
256
+ | 🤖 Agents | `.harness/agents/` | 7个Agent三件套(.md+prompt.md+contract.yaml):PM→需求分析→方案设计→闸门→开发→审查→测试;输出统一到 `.harness/doc/` |
257
257
  | 🔌 MCP 工具 | `.harness/mcp/config.yaml` | 注册 SonarQube(metrics/quality_gate)、Maven(dependency_info/central_search)、Jenkins(maven_job_status) 工具定义 |
258
- | 📋 Rules | `.harness/rules/project/` | **java-backend.md**(四层架构/9种类后缀/Mapper纯接口/SM4加密/Nacos/VT/22项审查清单) + **frontend-vue3.md**(Composition API强制/Pinia/Element Plus/TS类型安全/7项禁止清单) 双规则集 |
258
+ | 📋 Rules | `.harness/rules/` | **global**: coding-standard(A01-A31)/commit-convention/security-baseline(SM4/注入/脱敏)/process-discipline(三步验证)/design-document-boundary(复杂度分流);**project**: java-backend(22项CR)+frontend-vue3(7项禁止)+web-specific(i18n/API) |
259
+ | 📄 输出文档 | `.harness/doc/` | prd/ / design/ / gate-report/ / codereview/ / test-report/ / project/ |
259
260
 
260
261
  ## 维护纪律
261
262
 
@@ -3,6 +3,7 @@ name: architecture-designer
3
3
  description: 专业架构设计技能 — C4 架构模型、用例图、领域模型、服务设计、ER图、类图的全套设计模板和 Mermaid 规范,支持简单/复杂需求分流
4
4
  alwaysApply: false
5
5
  enabled: true
6
+ outputPath: .harness/doc/design/
6
7
  ---
7
8
 
8
9
  # Architecture Designer Skill
@@ -10,6 +11,7 @@ enabled: true
10
11
  > **Skill 类型**: 方案设计辅助 Skill
11
12
  > **触发场景**: 系统架构方案设计、技术设计文档编写、多维度架构评审优化
12
13
  > **所属 Agent**: solution-designer(方案设计师在方案设计阶段引用本 skill)
14
+ > **输出路径**: 生成的架构设计文档写入项目根目录下 `.harness/doc/design/` 目录
13
15
 
14
16
  ---
15
17
 
@@ -3,12 +3,14 @@ name: docs-update
3
3
  description: 文档更新技能 — CHANGELOG 更新、API 文档生成(JSDoc/Swagger)、README 维护、dev-map 同步及 ADR 决策记录
4
4
  alwaysApply: false
5
5
  enabled: true
6
+ outputPath: .harness/doc/
6
7
  ---
7
8
 
8
9
  # 文档更新技能 (docs-update)
9
10
 
10
11
  > **执行角色**: 开发实现 Agent / 需求分析 Agent / 方案设计 Agent
11
12
  > **触发时机**: 每次代码变更后、阶段交付前
13
+ > **输出路径**: 文档更新产物写入项目根目录下 `.harness/doc/` 目录(CHANGELOG、ADR 等按子目录组织)
12
14
 
13
15
  ---
14
16