jsharness 1.10.0 → 1.12.2
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/.harness/README.md +1 -1
- package/.harness/agents/agent-dispatcher.md +66 -349
- package/.harness/agents/gate-controller/contract.yaml +1 -1
- package/.harness/agents/gate-controller/prompt.md +1 -1
- package/.harness/agents/gate-controller.md +1 -1
- package/.harness/agents/project-manager/contract.yaml +1 -1
- package/.harness/agents/project-manager/prompt.md +4 -1
- package/.harness/agents/project-manager.md +1 -1
- package/.harness/agents/requirements-analyst/contract.yaml +1 -1
- package/.harness/agents/requirements-analyst/prompt.md +2 -1
- package/.harness/agents/requirements-analyst.md +1 -1
- package/.harness/agents/solution-designer/contract.yaml +1 -1
- package/.harness/agents/solution-designer/prompt.md +1 -1
- package/.harness/agents/solution-designer.md +1 -1
- package/.harness/commands/js/deliver.md +43 -0
- package/.harness/commands/js/explore.md +18 -5
- package/.harness/commands/js/propose.md +4 -4
- package/.harness/doc/originRequirements/origin-main/.gitkeep +0 -0
- package/.harness/doc/prd/.gitkeep +0 -0
- package/.harness/doc/prd/prd-main/.gitkeep +0 -0
- package/.harness/doc/prd/prd-main/README.md +33 -0
- package/.harness/doc/team-guidelines/pm-team.md +1 -1
- package/.harness/doc/ttspec/.gitkeep +0 -0
- package/.harness/doc/ttspec/README.md +3 -3
- package/.harness/rules/project/frontend-coding-basics.md +519 -0
- package/.harness/skills/design-context-reader/SKILL.md +80 -0
- package/.harness/skills/docker-build/SKILL.md +1 -1
- package/.harness/skills/jsspec-deliver/SKILL.md +134 -0
- package/.harness/skills/{openspec-explore → jsspec-explore}/SKILL.md +35 -13
- package/.harness/skills/{openspec-propose → jsspec-propose}/SKILL.md +31 -16
- package/.harness/skills/{openspec-skill-creator → jsspec-skill-creator}/SKILL.md +17 -17
- package/.harness/workflow/definition.yaml +4 -4
- package/.harness/workflow/validate.js +1 -1
- package/files/front-coding-rules.md +665 -0
- package/lib/index.mjs +147 -20
- package/package.json +1 -1
- package/.harness/commands/js/apply.md +0 -31
- package/.harness/commands/js/archive.md +0 -31
- package/.harness/skills/openspec-apply/SKILL.md +0 -90
- package/.harness/skills/openspec-archive/SKILL.md +0 -77
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: deliver
|
|
3
|
+
description: 交付归档命令 — 执行实施+归档的两阶段工作流,调用 jsspec-deliver Skill 执行
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
enabled: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# 交付归档命令(deliver)
|
|
9
|
+
|
|
10
|
+
> **触发时机**: propose 产出完成且用户确认设计后
|
|
11
|
+
> **执行 Skill**: `jsspec-deliver`
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 使用方式
|
|
16
|
+
|
|
17
|
+
当用户确认设计方案后,使用本命令进入交付归档阶段。
|
|
18
|
+
|
|
19
|
+
参数:
|
|
20
|
+
- `{name}` — ttspec change 名称
|
|
21
|
+
|
|
22
|
+
## 前置条件
|
|
23
|
+
|
|
24
|
+
- propose 产出已完成(proposal.md、design.md、specs/、tasks.md)
|
|
25
|
+
- 用户已确认设计方案
|
|
26
|
+
- PRD 已生成(如适用)
|
|
27
|
+
|
|
28
|
+
## 执行
|
|
29
|
+
|
|
30
|
+
调用 `jsspec-deliver` Skill 执行两阶段工作流:
|
|
31
|
+
|
|
32
|
+
### Phase 1: 实施任务
|
|
33
|
+
|
|
34
|
+
按 tasks.md 逐步实施,完成后询问用户确认进入归档阶段。
|
|
35
|
+
|
|
36
|
+
### Phase 2: 归档
|
|
37
|
+
|
|
38
|
+
1. 移动 change 目录到 archive/
|
|
39
|
+
2. 移动原始需求到 origin-main/
|
|
40
|
+
3. 移动 PRD 到 prd-main/{module}/
|
|
41
|
+
4. 更新 prd-main/README.md 索引
|
|
42
|
+
|
|
43
|
+
详细执行逻辑详见 `jsspec-deliver` Skill。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: explore
|
|
3
|
-
description: 需求深度探索命令 — 在需求分析阶段进行需求澄清、矛盾发现、方案对比、风险识别,调用
|
|
3
|
+
description: 需求深度探索命令 — 在需求分析阶段进行需求澄清、矛盾发现、方案对比、风险识别,调用 jsspec-explore Skill 执行
|
|
4
4
|
alwaysApply: false
|
|
5
5
|
enabled: true
|
|
6
6
|
---
|
|
@@ -8,7 +8,7 @@ enabled: true
|
|
|
8
8
|
# 需求深度探索命令(explore)
|
|
9
9
|
|
|
10
10
|
> **触发时机**: 收到新需求后、生成任何文档之前
|
|
11
|
-
> **执行 Skill**: `
|
|
11
|
+
> **执行 Skill**: `jsspec-explore`
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
@@ -18,14 +18,27 @@ enabled: true
|
|
|
18
18
|
|
|
19
19
|
参数:
|
|
20
20
|
- `{name}` — ttspec change 名称(从原始需求文件名派生,去除日期前缀)
|
|
21
|
+
- 或者用户提供需求文件路径(可选)
|
|
22
|
+
|
|
23
|
+
## 输入源优先级
|
|
24
|
+
|
|
25
|
+
explore 命令按以下顺序查找需求文件:
|
|
26
|
+
|
|
27
|
+
1. **优先扫描 `.harness/doc/originRequirements/`**:列出该目录下所有 `.md` 文件(排除 `README.md`、`.gitkeep` 和 `origin-main/` 子目录)
|
|
28
|
+
- 单个文件 → 自动选择
|
|
29
|
+
- 多个文件 → 列表供用户选择
|
|
30
|
+
2. **回退用户指定路径**:如果 originRequirements/ 下没有需求文件,使用用户提供的文件路径
|
|
31
|
+
3. **提示创建**:如果以上都没有,提示用户 "未找到需求文件。请在 .harness/doc/originRequirements/ 下创建需求文件,或提供需求文件路径"
|
|
21
32
|
|
|
22
33
|
## 前置条件
|
|
23
34
|
|
|
24
|
-
-
|
|
35
|
+
- 需求文件已通过上述输入源优先级逻辑找到
|
|
25
36
|
- 对应的 ttspec change 目录已创建于 `.harness/doc/ttspec/change/{name}/`
|
|
26
37
|
|
|
27
38
|
## 执行
|
|
28
39
|
|
|
29
|
-
调用 `
|
|
40
|
+
调用 `jsspec-explore` Skill 执行深度探索,产出存放于 `.harness/doc/ttspec/change/{name}/explore-notes.md`。
|
|
41
|
+
|
|
42
|
+
**重要**:explore 完成后,**必须**等待用户确认探索结果,禁止自动进入 propose 阶段。详见 `jsspec-explore` Skill 的 Step 5 门禁。
|
|
30
43
|
|
|
31
|
-
详细执行逻辑(四维度探索框架、探索笔记模板、完成判定标准)详见 `
|
|
44
|
+
详细执行逻辑(四维度探索框架、探索笔记模板、完成判定标准)详见 `jsspec-explore` Skill。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: propose
|
|
3
|
-
description: 结构化提案命令 — 基于 explore 探索结果生成 proposal/design/specs/tasks,调用
|
|
3
|
+
description: 结构化提案命令 — 基于 explore 探索结果生成 proposal/design/specs/tasks,调用 jsspec-propose Skill 执行
|
|
4
4
|
alwaysApply: false
|
|
5
5
|
enabled: true
|
|
6
6
|
---
|
|
@@ -8,7 +8,7 @@ enabled: true
|
|
|
8
8
|
# 结构化提案命令(propose)
|
|
9
9
|
|
|
10
10
|
> **触发时机**: explore 步骤完成后
|
|
11
|
-
> **执行 Skill**: `
|
|
11
|
+
> **执行 Skill**: `jsspec-propose`
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
@@ -26,6 +26,6 @@ explore 步骤完成后,使用本命令生成结构化提案。
|
|
|
26
26
|
|
|
27
27
|
## 执行
|
|
28
28
|
|
|
29
|
-
调用 `
|
|
29
|
+
调用 `jsspec-propose` Skill 执行结构化提案生成,产出存放于 `.harness/doc/ttspec/change/{name}/`(proposal.md, design.md, specs/, tasks.md)。
|
|
30
30
|
|
|
31
|
-
详细执行逻辑(产出物规范、与 PRD 的衔接)详见 `
|
|
31
|
+
详细执行逻辑(产出物规范、与 PRD 的衔接)详见 `jsspec-propose` Skill。
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# PRD 总仓库
|
|
2
|
+
|
|
3
|
+
本目录是产品需求文档(PRD)的总仓库,按模块组织归档的 PRD 文件。
|
|
4
|
+
|
|
5
|
+
## 目录结构
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
.harness/doc/prd/prd-main/
|
|
9
|
+
├── README.md # 本文件(自动生成的索引)
|
|
10
|
+
├── general/ # 未识别模块的 PRD 归档
|
|
11
|
+
│ └── requirements-{name}.md
|
|
12
|
+
├── user-module/ # 用户模块 PRD
|
|
13
|
+
│ └── requirements-{name}.md
|
|
14
|
+
└── order-module/ # 订单模块 PRD
|
|
15
|
+
└── requirements-{name}.md
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## 模块索引
|
|
19
|
+
|
|
20
|
+
| 模块 | 路径 | PRD 文件 |
|
|
21
|
+
|------|------|---------|
|
|
22
|
+
| general | `general/` | 未识别模块的 PRD |
|
|
23
|
+
|
|
24
|
+
> 本索引由归档流程自动更新。每次 PRD 归档时,会追加或更新对应的模块行。
|
|
25
|
+
|
|
26
|
+
## 归档规则
|
|
27
|
+
|
|
28
|
+
1. 归档时从 PRD 文件的"涉及产品线/模块"字段提取模块名
|
|
29
|
+
2. 如果有模块信息 → 移动到 `prd-main/{module}/`
|
|
30
|
+
3. 如果没有模块信息 → 移动到 `prd-main/general/`
|
|
31
|
+
4. 归档后自动更新本 README 的模块索引表
|
|
32
|
+
|
|
33
|
+
> 本目录由 Harness Engineering 系统管理。
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ttspec — 变更规格管理目录
|
|
2
2
|
|
|
3
|
-
本目录用于存放 Harness 流程中
|
|
3
|
+
本目录用于存放 Harness 流程中 JSSpec 的产出物,包括变更管理(change)和能力规格(specs)。
|
|
4
4
|
|
|
5
5
|
## 目录结构
|
|
6
6
|
|
|
@@ -25,9 +25,9 @@ change 名称从原始需求文件名派生:去除日期前缀,保留 kebab-
|
|
|
25
25
|
|
|
26
26
|
示例:需求文件 `2026-05-22-user-avatar-upload.md` → change 名 `user-avatar-upload`
|
|
27
27
|
|
|
28
|
-
## 与
|
|
28
|
+
## 与 jsspec/ 的关系
|
|
29
29
|
|
|
30
|
-
- `
|
|
30
|
+
- `jsspec/` — JSSpec 原生操作目录(历史数据保持不动)
|
|
31
31
|
- `.harness/doc/ttspec/` — Harness 流程中的变更管理产出目录
|
|
32
32
|
|
|
33
33
|
> 本目录由 Harness Engineering 系统管理。
|