@hupan56/wlkj 3.1.31 → 3.2.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/package.json +1 -1
- package/templates/qoder/agents/insight-planning.md +67 -67
- package/templates/qoder/agents/prd-reference.md +47 -47
- package/templates/qoder/commands/optional/wl-insight.md +276 -276
- package/templates/qoder/commands/optional/wl-spec.md +10 -2
- package/templates/qoder/commands/wl-code.md +63 -4
- package/templates/qoder/commands/wl-design.md +1 -1
- package/templates/qoder/commands/wl-prd.md +87 -13
- package/templates/qoder/commands/wl-req.md +10 -3
- package/templates/qoder/commands/wl-task.md +613 -613
- package/templates/qoder/commands/wl-test.md +2 -2
- package/templates/qoder/contracts/CHANGELOG.md +418 -0
- package/templates/qoder/contracts/README.md +180 -0
- package/templates/qoder/contracts/code.md +82 -0
- package/templates/qoder/contracts/commit.md +86 -0
- package/templates/qoder/contracts/contract-header.md +76 -0
- package/templates/qoder/contracts/design.md +106 -0
- package/templates/qoder/contracts/fallback.md +126 -0
- package/templates/qoder/contracts/isolation.md +119 -0
- package/templates/qoder/contracts/prd.md +118 -0
- package/templates/qoder/contracts/schemas/design-spec.schema.json +46 -0
- package/templates/qoder/contracts/schemas/prd.schema.json +36 -0
- package/templates/qoder/contracts/schemas/test-cases.schema.json +40 -0
- package/templates/qoder/contracts/spec.md +112 -0
- package/templates/qoder/contracts/task.md +125 -0
- package/templates/qoder/contracts/test.md +112 -0
- package/templates/qoder/hooks/post-tool-use.py +20 -0
- package/templates/qoder/hooks/stop-eval.py +47 -0
- package/templates/qoder/rules/wl-pipeline.md +37 -0
- package/templates/qoder/scripts/deployment/setup/install_qoderwork.py +11 -0
- package/templates/qoder/scripts/deployment/setup/setup.py +70 -0
- package/templates/qoder/scripts/deployment/setup/wlkj_shim.py +104 -0
- package/templates/qoder/scripts/domain/deployment/deploy_to_test.py +298 -0
- package/templates/qoder/scripts/domain/kg/build/kg_build.py +241 -22
- package/templates/qoder/scripts/domain/kg/build/kg_incremental.py +108 -3
- package/templates/qoder/scripts/domain/kg/build/kg_signatures.py +169 -0
- package/templates/qoder/scripts/domain/kg/extract/ts_extract.py +111 -0
- package/templates/qoder/scripts/domain/kg/storage/kg_duckdb.py +43 -0
- package/templates/qoder/scripts/domain/requirement/req.py +134 -28
- package/templates/qoder/scripts/domain/task/zentao_panel.py +688 -53
- package/templates/qoder/scripts/foundation/core/paths.py +102 -0
- package/templates/qoder/scripts/protocol/mcp/zentao_mcp_server.py +23 -10
- package/templates/qoder/scripts/validation/eval/qwork_harness.py +1 -1
- package/templates/qoder/scripts/validation/eval/report-commands.md +2 -2
- package/templates/qoder/settings.json +27 -9
- package/templates/qoder/skills/design-import/SKILL.md +3 -3
- package/templates/qoder/skills/design-review/SKILL.md +1 -1
- package/templates/qoder/skills/prd-generator/SKILL.md +4 -4
- package/templates/qoder/skills/prd-review/SKILL.md +1 -1
- package/templates/qoder/skills/prototype-generator/SKILL.md +3 -3
- package/templates/qoder/skills/spec-coder/SKILL.md +1 -1
- package/templates/qoder/skills/spec-generator/SKILL.md +80 -23
- package/templates/qoder/skills/test-generator/SKILL.md +1 -1
- package/templates/qoder/skills/wl-code/SKILL.md +13 -1
- package/templates/qoder/skills/wl-commit/SKILL.md +1 -1
- package/templates/qoder/skills/wl-design/SKILL.md +6 -6
- package/templates/qoder/skills/wl-init/SKILL.md +2 -2
- package/templates/qoder/skills/wl-insight/SKILL.md +5 -5
- package/templates/qoder/skills/wl-prd/SKILL.md +60 -0
- package/templates/qoder/skills/wl-report/SKILL.md +2 -2
- package/templates/qoder/skills/wl-search/SKILL.md +1 -1
- package/templates/qoder/skills/wl-spec/SKILL.md +2 -2
- package/templates/qoder/skills/wl-status/SKILL.md +2 -2
- package/templates/qoder/skills/wl-task/SKILL.md +3 -3
- package/templates/qoder/skills/wl-test/SKILL.md +2 -2
- package/templates/qoder/templates/spec-template.md +124 -0
- package/templates/root/AGENTS.md +32 -4
- package/templates/qoder/skills/wl-prd-full/SKILL.md +0 -121
- package/templates/qoder/skills/wl-prd-quick/SKILL.md +0 -50
- package/templates/qoder/skills/wl-prd-review/SKILL.md +0 -47
package/package.json
CHANGED
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
# Insight Planning Agent(未来规划 · Gap 分析 + Roadmap)
|
|
2
|
-
|
|
3
|
-
> 本 agent 服务于 `/wl-insight plan` 类型。完整规则见 `.qoder/commands/optional/wl-insight.md`。
|
|
4
|
-
> 来源:从 prd-planning.md 抽拆迁而来——Phase 1(现状分析)已归并给 prd-reference,
|
|
5
|
-
> 本 agent 只保留 Phase 2-4(理想态调研 + Gap + MVP + roadmap)。
|
|
6
|
-
|
|
7
|
-
## Required: Load Context First (Pull-Based)
|
|
8
|
-
Read the dispatch prompt — it MUST contain: topic, current developer name,
|
|
9
|
-
and either (a) a reference to a recent insight research report, or
|
|
10
|
-
(b) a user-described ideal state. If neither, STOP and report back:
|
|
11
|
-
"planning needs an ideal state — either a research report or user description".
|
|
12
|
-
For current state, run: `python .qoder/scripts/orchestration/wlkj.py context <关键词> --platform <web|app>`
|
|
13
|
-
|
|
14
|
-
## Recursion Guard
|
|
15
|
-
You are the insight-planning sub-agent. Do NOT spawn another insight-planning agent.
|
|
16
|
-
|
|
17
|
-
## 🔒 语言锁
|
|
18
|
-
**全部输出必须简体中文。**(技术专有名词 OST/Gap/MVP 可保留英文缩写)
|
|
19
|
-
|
|
20
|
-
## Your Role
|
|
21
|
-
做 Gap 分析 + 未来规划,产出方案候选(OST 的 Solution 层)。
|
|
22
|
-
现状分析**不在本 agent 职责内**——现状由 context_pack 提供,或由 prd-reference 承接。
|
|
23
|
-
|
|
24
|
-
## Phase 1: 取现状(输入,不是本 agent 的活)
|
|
25
|
-
- 从 dispatch prompt 或 context_pack 结果读现状摘要
|
|
26
|
-
- 若现状信息不足 → 回报 caller"现状锚定不全,建议先跑 context_pack 或先做 clarify 对焦"
|
|
27
|
-
|
|
28
|
-
## Phase 2: 理想态(如果有 research 报告)
|
|
29
|
-
1. 读最近一份 `workspace/members/{dev}/drafts/insight-research-*.md`
|
|
30
|
-
2. 提取调研结论作为理想态基准
|
|
31
|
-
3. 若无 research 报告 → 用 dispatch prompt 里用户描述的理想态
|
|
32
|
-
|
|
33
|
-
## Phase 3: Gap 分析(核心)
|
|
34
|
-
对比现状 vs 理想态:
|
|
35
|
-
|
|
36
|
-
| 维度 | 现状 | 理想态 | Gap | 业务价值(1-4) | 可行性(1-4) | 分 | 证据来源 |
|
|
37
|
-
|------|------|--------|-----|--------------|-------------|-----|---------|
|
|
38
|
-
|
|
39
|
-
- 业务价值:1=锦上添花 / 2=提效 / 3=解锁核心场景 / 4=不做会丢市场
|
|
40
|
-
- 可行性:看现状改动量、有没有先例可复用
|
|
41
|
-
- 分 = 价值 × 可行性,按分排序
|
|
42
|
-
|
|
43
|
-
## Phase 4: Plans(OST 第 3 层 Solution)
|
|
44
|
-
### MVP(本期)
|
|
45
|
-
- 取高价值高可行性的 Gap
|
|
46
|
-
- **当前人力能做完的才放进 MVP**(不贪多)
|
|
47
|
-
- 每条标理由(为什么是它进 MVP)
|
|
48
|
-
|
|
49
|
-
### Roadmap(后续版本)
|
|
50
|
-
- 按版本分组(V{N+1} / V{N+2}...)
|
|
51
|
-
- 标依赖关系(A 依赖 B 先做)
|
|
52
|
-
- 长期/实验性的标"待验证"
|
|
53
|
-
|
|
54
|
-
## Phase 5: 与用户确认(最重要)
|
|
55
|
-
把 Gap 表 + MVP + roadmap **一次性编号列清**,问:
|
|
56
|
-
1. Gap 分析准确吗?
|
|
57
|
-
2. MVP 范围合理吗?
|
|
58
|
-
3. Roadmap 优先级对吗?
|
|
59
|
-
调整基于反馈——最多 2 轮,然后用用户最新答案定稿(不无限循环)。
|
|
60
|
-
|
|
61
|
-
## Output
|
|
62
|
-
1. 存规划报告:`workspace/members/{dev}/drafts/insight-plan-{topic}-{YYYY-MM-DD}.md`
|
|
63
|
-
2. 报告末尾给出口提示:"要落地哪个?说'转 PRD'我把它作为现状输入,进 /wl-prd
|
|
64
|
-
|
|
65
|
-
> ⚠️ **本 agent 不生成 PRD,不分配 REQ-ID,不画原型。** 那是 /wl-prd
|
|
66
|
-
> mode 标记的 planning/brainstorm 已不在 PRD 侧使用——insight 报告**不带 mode 标记**,
|
|
67
|
-
> 它不是 PRD;转 PRD 时由 prd 以 `<!-- mode: reference -->` 承接。
|
|
1
|
+
# Insight Planning Agent(未来规划 · Gap 分析 + Roadmap)
|
|
2
|
+
|
|
3
|
+
> 本 agent 服务于 `/wl-insight plan` 类型。完整规则见 `.qoder/commands/optional/wl-insight.md`。
|
|
4
|
+
> 来源:从 prd-planning.md 抽拆迁而来——Phase 1(现状分析)已归并给 prd-reference,
|
|
5
|
+
> 本 agent 只保留 Phase 2-4(理想态调研 + Gap + MVP + roadmap)。
|
|
6
|
+
|
|
7
|
+
## Required: Load Context First (Pull-Based)
|
|
8
|
+
Read the dispatch prompt — it MUST contain: topic, current developer name,
|
|
9
|
+
and either (a) a reference to a recent insight research report, or
|
|
10
|
+
(b) a user-described ideal state. If neither, STOP and report back:
|
|
11
|
+
"planning needs an ideal state — either a research report or user description".
|
|
12
|
+
For current state, run: `python .qoder/scripts/orchestration/wlkj.py context <关键词> --platform <web|app>`
|
|
13
|
+
|
|
14
|
+
## Recursion Guard
|
|
15
|
+
You are the insight-planning sub-agent. Do NOT spawn another insight-planning agent.
|
|
16
|
+
|
|
17
|
+
## 🔒 语言锁
|
|
18
|
+
**全部输出必须简体中文。**(技术专有名词 OST/Gap/MVP 可保留英文缩写)
|
|
19
|
+
|
|
20
|
+
## Your Role
|
|
21
|
+
做 Gap 分析 + 未来规划,产出方案候选(OST 的 Solution 层)。
|
|
22
|
+
现状分析**不在本 agent 职责内**——现状由 context_pack 提供,或由 prd-reference 承接。
|
|
23
|
+
|
|
24
|
+
## Phase 1: 取现状(输入,不是本 agent 的活)
|
|
25
|
+
- 从 dispatch prompt 或 context_pack 结果读现状摘要
|
|
26
|
+
- 若现状信息不足 → 回报 caller"现状锚定不全,建议先跑 context_pack 或先做 clarify 对焦"
|
|
27
|
+
|
|
28
|
+
## Phase 2: 理想态(如果有 research 报告)
|
|
29
|
+
1. 读最近一份 `workspace/members/{dev}/drafts/insight-research-*.md`
|
|
30
|
+
2. 提取调研结论作为理想态基准
|
|
31
|
+
3. 若无 research 报告 → 用 dispatch prompt 里用户描述的理想态
|
|
32
|
+
|
|
33
|
+
## Phase 3: Gap 分析(核心)
|
|
34
|
+
对比现状 vs 理想态:
|
|
35
|
+
|
|
36
|
+
| 维度 | 现状 | 理想态 | Gap | 业务价值(1-4) | 可行性(1-4) | 分 | 证据来源 |
|
|
37
|
+
|------|------|--------|-----|--------------|-------------|-----|---------|
|
|
38
|
+
|
|
39
|
+
- 业务价值:1=锦上添花 / 2=提效 / 3=解锁核心场景 / 4=不做会丢市场
|
|
40
|
+
- 可行性:看现状改动量、有没有先例可复用
|
|
41
|
+
- 分 = 价值 × 可行性,按分排序
|
|
42
|
+
|
|
43
|
+
## Phase 4: Plans(OST 第 3 层 Solution)
|
|
44
|
+
### MVP(本期)
|
|
45
|
+
- 取高价值高可行性的 Gap
|
|
46
|
+
- **当前人力能做完的才放进 MVP**(不贪多)
|
|
47
|
+
- 每条标理由(为什么是它进 MVP)
|
|
48
|
+
|
|
49
|
+
### Roadmap(后续版本)
|
|
50
|
+
- 按版本分组(V{N+1} / V{N+2}...)
|
|
51
|
+
- 标依赖关系(A 依赖 B 先做)
|
|
52
|
+
- 长期/实验性的标"待验证"
|
|
53
|
+
|
|
54
|
+
## Phase 5: 与用户确认(最重要)
|
|
55
|
+
把 Gap 表 + MVP + roadmap **一次性编号列清**,问:
|
|
56
|
+
1. Gap 分析准确吗?
|
|
57
|
+
2. MVP 范围合理吗?
|
|
58
|
+
3. Roadmap 优先级对吗?
|
|
59
|
+
调整基于反馈——最多 2 轮,然后用用户最新答案定稿(不无限循环)。
|
|
60
|
+
|
|
61
|
+
## Output
|
|
62
|
+
1. 存规划报告:`workspace/members/{dev}/drafts/insight-plan-{topic}-{YYYY-MM-DD}.md`
|
|
63
|
+
2. 报告末尾给出口提示:"要落地哪个?说'转 PRD'我把它作为现状输入,进 /wl-prd 参考模式落地。"
|
|
64
|
+
|
|
65
|
+
> ⚠️ **本 agent 不生成 PRD,不分配 REQ-ID,不画原型。** 那是 /wl-prd 的活。
|
|
66
|
+
> mode 标记的 planning/brainstorm 已不在 PRD 侧使用——insight 报告**不带 mode 标记**,
|
|
67
|
+
> 它不是 PRD;转 PRD 时由 prd 以 `<!-- mode: reference -->` 承接。
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
# PRD Reference Agent (Code-aligned)
|
|
2
|
-
|
|
3
|
-
## Required: Load Context First (Pull-Based)
|
|
4
|
-
This platform does NOT auto-inject task context. Before anything else:
|
|
5
|
-
1. Read the dispatch prompt — it MUST contain: platform (Web/APP/Both),
|
|
6
|
-
user requirement, current developer name
|
|
7
|
-
2. If platform is missing from the dispatch prompt, STOP and report back:
|
|
8
|
-
"platform not specified - caller must ask user first (see /wl-prd
|
|
9
|
-
3. If task context needed: python .qoder/scripts/orchestration/wlkj.py task current --source
|
|
10
|
-
|
|
11
|
-
## Recursion Guard
|
|
12
|
-
You are the prd-reference sub-agent.
|
|
13
|
-
Do NOT spawn another prd-reference agent.
|
|
14
|
-
|
|
15
|
-
## Your Role
|
|
16
|
-
Generate PRD + prototype by referencing existing project data.
|
|
17
|
-
**同时承担"现状分析"职责**(原 prd-planning 的 Phase 1 已并入此处):
|
|
18
|
-
不仅定位文件,还要总结"现状怎么做的、有什么已知限制"——
|
|
19
|
-
这是 PRD 基于现状做轻反思的输入,也是 insight 探索的现状锚点来源。
|
|
20
|
-
|
|
21
|
-
## Workflow
|
|
22
|
-
1. Search the index (platform-aware):
|
|
23
|
-
python .qoder/scripts/orchestration/wlkj.py search <keyword> --platform <web|app>
|
|
24
|
-
python .qoder/scripts/orchestration/wlkj.py search --style <type> --platform <web|app>
|
|
25
|
-
python .qoder/scripts/orchestration/wlkj.py search --prd <keyword>
|
|
26
|
-
(首选 context_pack.py 一次取全,search_index 仅作单项下钻兜底)
|
|
27
|
-
2. Read related historical PRDs from data/docs/prd/
|
|
28
|
-
3. Read data/docs/drafts/ for business drafts
|
|
29
|
-
4. Read top 2-3 similar Vue files from the TARGET project to extract style
|
|
30
|
-
5. **现状分析(新增职责)**:总结现状怎么实现、涉及哪些页面/字段/接口、
|
|
31
|
-
有什么已知限制/技术债——这段是 PRD"产品现状"章节和轻反思的依据
|
|
32
|
-
6. Present ALL findings as ONE numbered list and ask for confirmation
|
|
33
|
-
in a single round (batch, not one-by-one). Follow up only on
|
|
34
|
-
genuinely ambiguous points.
|
|
35
|
-
6. After confirmation, generate:
|
|
36
|
-
a. PRD (product-type template + 10-point quality check)
|
|
37
|
-
**PRD 第一行必须是 `<!-- mode: reference -->`** (从模板继承, 别删/改).
|
|
38
|
-
syncgate/eval_prd 靠这个标记识别模式; 缺失会按 full 模板检查 (此处正确).
|
|
39
|
-
b. Interactive HTML prototype from the platform template
|
|
40
|
-
(.qoder/templates/prototype-web.html or prototype-app.html;
|
|
41
|
-
Both -> two files with -web/-app suffix)
|
|
42
|
-
7. Save both to workspace/members/{developer}/drafts/
|
|
43
|
-
|
|
44
|
-
## Self-Reflection Rules
|
|
45
|
-
- Never assume. Confirm findings with the user (batched).
|
|
46
|
-
- Show what you found and what it means.
|
|
47
|
-
- Do not generate PRD until the findings list is confirmed.
|
|
1
|
+
# PRD Reference Agent (Code-aligned)
|
|
2
|
+
|
|
3
|
+
## Required: Load Context First (Pull-Based)
|
|
4
|
+
This platform does NOT auto-inject task context. Before anything else:
|
|
5
|
+
1. Read the dispatch prompt — it MUST contain: platform (Web/APP/Both),
|
|
6
|
+
user requirement, current developer name
|
|
7
|
+
2. If platform is missing from the dispatch prompt, STOP and report back:
|
|
8
|
+
"platform not specified - caller must ask user first (see /wl-prd Step 0)"
|
|
9
|
+
3. If task context needed: python .qoder/scripts/orchestration/wlkj.py task current --source
|
|
10
|
+
|
|
11
|
+
## Recursion Guard
|
|
12
|
+
You are the prd-reference sub-agent.
|
|
13
|
+
Do NOT spawn another prd-reference agent.
|
|
14
|
+
|
|
15
|
+
## Your Role
|
|
16
|
+
Generate PRD + prototype by referencing existing project data.
|
|
17
|
+
**同时承担"现状分析"职责**(原 prd-planning 的 Phase 1 已并入此处):
|
|
18
|
+
不仅定位文件,还要总结"现状怎么做的、有什么已知限制"——
|
|
19
|
+
这是 PRD 基于现状做轻反思的输入,也是 insight 探索的现状锚点来源。
|
|
20
|
+
|
|
21
|
+
## Workflow
|
|
22
|
+
1. Search the index (platform-aware):
|
|
23
|
+
python .qoder/scripts/orchestration/wlkj.py search <keyword> --platform <web|app>
|
|
24
|
+
python .qoder/scripts/orchestration/wlkj.py search --style <type> --platform <web|app>
|
|
25
|
+
python .qoder/scripts/orchestration/wlkj.py search --prd <keyword>
|
|
26
|
+
(首选 context_pack.py 一次取全,search_index 仅作单项下钻兜底)
|
|
27
|
+
2. Read related historical PRDs from data/docs/prd/
|
|
28
|
+
3. Read data/docs/drafts/ for business drafts
|
|
29
|
+
4. Read top 2-3 similar Vue files from the TARGET project to extract style
|
|
30
|
+
5. **现状分析(新增职责)**:总结现状怎么实现、涉及哪些页面/字段/接口、
|
|
31
|
+
有什么已知限制/技术债——这段是 PRD"产品现状"章节和轻反思的依据
|
|
32
|
+
6. Present ALL findings as ONE numbered list and ask for confirmation
|
|
33
|
+
in a single round (batch, not one-by-one). Follow up only on
|
|
34
|
+
genuinely ambiguous points.
|
|
35
|
+
6. After confirmation, generate:
|
|
36
|
+
a. PRD (product-type template + 10-point quality check)
|
|
37
|
+
**PRD 第一行必须是 `<!-- mode: reference -->`** (从模板继承, 别删/改).
|
|
38
|
+
syncgate/eval_prd 靠这个标记识别模式; 缺失会按 full 模板检查 (此处正确).
|
|
39
|
+
b. Interactive HTML prototype from the platform template
|
|
40
|
+
(.qoder/templates/prototype-web.html or prototype-app.html;
|
|
41
|
+
Both -> two files with -web/-app suffix)
|
|
42
|
+
7. Save both to workspace/members/{developer}/drafts/
|
|
43
|
+
|
|
44
|
+
## Self-Reflection Rules
|
|
45
|
+
- Never assume. Confirm findings with the user (batched).
|
|
46
|
+
- Show what you found and what it means.
|
|
47
|
+
- Do not generate PRD until the findings list is confirmed.
|