@hupan56/wlkj 3.1.21 → 3.1.23
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/skills/design-import/SKILL.md +2 -2
- package/templates/qoder/skills/design-review/SKILL.md +2 -2
- package/templates/qoder/skills/prd-generator/SKILL.md +2 -2
- package/templates/qoder/skills/prd-review/SKILL.md +2 -2
- package/templates/qoder/skills/prototype-generator/SKILL.md +2 -2
- package/templates/qoder/skills/spec-coder/SKILL.md +2 -2
- package/templates/qoder/skills/spec-generator/SKILL.md +2 -2
- package/templates/qoder/skills/test-generator/SKILL.md +2 -2
- package/templates/qoder/skills/wl-code/SKILL.md +2 -2
- package/templates/qoder/skills/wl-commit/SKILL.md +2 -2
- package/templates/qoder/skills/wl-design/SKILL.md +2 -2
- package/templates/qoder/skills/wl-init/SKILL.md +1 -1
- package/templates/qoder/skills/wl-insight/SKILL.md +2 -2
- package/templates/qoder/skills/wl-prd-full/SKILL.md +1 -1
- package/templates/qoder/skills/wl-prd-quick/SKILL.md +1 -1
- package/templates/qoder/skills/wl-prd-review/SKILL.md +1 -1
- package/templates/qoder/skills/wl-report/SKILL.md +2 -2
- 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 +2 -2
- package/templates/qoder/skills/wl-test/SKILL.md +6 -6
package/package.json
CHANGED
|
@@ -9,7 +9,7 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
9
9
|
|
|
10
10
|
**后续脚本里的 `$R` 代表仓库根**,先确定它(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
11
11
|
```bash
|
|
12
|
-
R=$(
|
|
12
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
13
13
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
14
14
|
```
|
|
15
15
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。找不到时先跑 `$PY "$R/.qoder/scripts/orchestration/wlkj.py" install-qw`。
|
|
@@ -34,7 +34,7 @@ PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
|
34
34
|
|
|
35
35
|
## ⚙️ 自取上下文(QoderWork 无 hook 注入,必须自读)
|
|
36
36
|
|
|
37
|
-
- **当前身份**:当前设计师名(产出归属)。读法:先 `R=$(
|
|
37
|
+
- **当前身份**:当前设计师名(产出归属)。读法:先 `R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.` 定位仓库根,
|
|
38
38
|
再 `$PY "$R/.qoder/scripts/foundation/core/paths.py" whoami`(输出开发者名;空=未初始化)。
|
|
39
39
|
⚠️ 勿用裸相对路径 `.qoder/.developer`(QoderWork 桌面端 cwd 不在仓库根,会读不到而误报未初始化)。
|
|
40
40
|
- **活动任务**:若存在,spec 命名带上任务关键词。读法 `$PY "$R/.qoder/scripts/foundation/core/paths.py" current-task`(输出任务路径;空=无活动任务)。
|
|
@@ -9,7 +9,7 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
9
9
|
|
|
10
10
|
**后续脚本里的 `$R` 代表仓库根**,先确定它(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
11
11
|
```bash
|
|
12
|
-
R=$(
|
|
12
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
13
13
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
14
14
|
```
|
|
15
15
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。找不到时先跑 `$PY "$R/.qoder/scripts/orchestration/wlkj.py" install-qw`。
|
|
@@ -28,7 +28,7 @@ PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
|
28
28
|
|
|
29
29
|
## ⚙️ 自取上下文(Quest / QoderWork 无 hook 注入,必须自读)
|
|
30
30
|
|
|
31
|
-
- **当前身份**:当前评审人。读法:先 `R=$(
|
|
31
|
+
- **当前身份**:当前评审人。读法:先 `R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.` 定位仓库根,
|
|
32
32
|
再 `$PY "$R/.qoder/scripts/foundation/core/paths.py" whoami`(输出开发者名;空=未初始化)。
|
|
33
33
|
⚠️ 勿用裸相对路径 `.qoder/.developer`(QoderWork 桌面端 cwd 不在仓库根,会读不到而误报未初始化)。
|
|
34
34
|
- 设计文件路径由用户指定,或扫 `workspace/members/{dev}/drafts/prototype-*.html`
|
|
@@ -9,7 +9,7 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
9
9
|
|
|
10
10
|
**后续脚本里的 `$R` 代表仓库根**,先确定它(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
11
11
|
```bash
|
|
12
|
-
R=$(
|
|
12
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
13
13
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
14
14
|
```
|
|
15
15
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。找不到时先跑 `$PY "$R/.qoder/scripts/orchestration/wlkj.py" install-qw`。
|
|
@@ -40,7 +40,7 @@ PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
|
40
40
|
|
|
41
41
|
## 自取上下文(Quest / QoderWork 无 hook,必须自读)
|
|
42
42
|
|
|
43
|
-
- **当前身份**:当前开发者名。读法:先 `R=$(
|
|
43
|
+
- **当前身份**:当前开发者名。读法:先 `R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.` 定位仓库根,
|
|
44
44
|
再 `$PY "$R/.qoder/scripts/foundation/core/paths.py" whoami`(输出开发者名;空=未初始化)。
|
|
45
45
|
⚠️ 勿用裸相对路径 `.qoder/.developer`(QoderWork 桌面端 cwd 不在仓库根,会读不到而误报未初始化)。
|
|
46
46
|
- **活动任务**:当前活动任务。读法 `$PY "$R/.qoder/scripts/foundation/core/paths.py" current-task`(输出任务路径;空=无活动任务)。
|
|
@@ -9,7 +9,7 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
9
9
|
|
|
10
10
|
**后续脚本里的 `$R` 代表仓库根**,先确定它(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
11
11
|
```bash
|
|
12
|
-
R=$(
|
|
12
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
13
13
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
14
14
|
```
|
|
15
15
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。找不到时先跑 `$PY "$R/.qoder/scripts/orchestration/wlkj.py" install-qw`。
|
|
@@ -18,7 +18,7 @@ PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
|
18
18
|
|
|
19
19
|
## ⚙️ 自取上下文(Quest / QoderWork 无 hook 注入,必须自读)
|
|
20
20
|
|
|
21
|
-
- **当前身份**:当前评审人。读法:先 `R=$(
|
|
21
|
+
- **当前身份**:当前评审人。读法:先 `R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.` 定位仓库根,
|
|
22
22
|
再 `$PY "$R/.qoder/scripts/foundation/core/paths.py" whoami`(输出开发者名;空=未初始化)。
|
|
23
23
|
⚠️ 勿用裸相对路径 `.qoder/.developer`(QoderWork 桌面端 cwd 不在仓库根,会读不到而误报未初始化)。
|
|
24
24
|
- `data/index/.index-meta.json` — 图谱新鲜度(影响"现实锚定"能否校验)
|
|
@@ -9,7 +9,7 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
9
9
|
|
|
10
10
|
**后续脚本里的 `$R` 代表仓库根**,先确定它(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
11
11
|
```bash
|
|
12
|
-
R=$(
|
|
12
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
13
13
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
14
14
|
```
|
|
15
15
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。找不到时先跑 `$PY "$R/.qoder/scripts/orchestration/wlkj.py" install-qw`。
|
|
@@ -27,7 +27,7 @@ Generate production-ready HTML prototypes that match the project's actual UI sty
|
|
|
27
27
|
|
|
28
28
|
## ⚙️ 自取上下文(Quest / QoderWork 无 hook 注入,必须自读)
|
|
29
29
|
|
|
30
|
-
- **当前身份**:决定产出存到 `workspace/members/{dev}/drafts/`。读法:先 `R=$(
|
|
30
|
+
- **当前身份**:决定产出存到 `workspace/members/{dev}/drafts/`。读法:先 `R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.` 定位仓库根,
|
|
31
31
|
再 `$PY "$R/.qoder/scripts/foundation/core/paths.py" whoami`(输出开发者名;空=未初始化)。
|
|
32
32
|
⚠️ 勿用裸相对路径 `.qoder/.developer`(QoderWork 桌面端 cwd 不在仓库根,会读不到而误报未初始化)。
|
|
33
33
|
- 若 `.qoder/.current-task` 存在,原型命名带上任务关键词
|
|
@@ -9,7 +9,7 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
9
9
|
|
|
10
10
|
**后续脚本里的 `$R` 代表仓库根**,先确定它(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
11
11
|
```bash
|
|
12
|
-
R=$(
|
|
12
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
13
13
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
14
14
|
```
|
|
15
15
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。找不到时先跑 `$PY "$R/.qoder/scripts/orchestration/wlkj.py" install-qw`。
|
|
@@ -26,7 +26,7 @@ PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
|
26
26
|
|
|
27
27
|
## ⚙️ 自取上下文(Quest / QoderWork 无 hook 注入,必须自读)
|
|
28
28
|
|
|
29
|
-
- **当前身份**:当前开发者。读法:先 `R=$(
|
|
29
|
+
- **当前身份**:当前开发者。读法:先 `R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.` 定位仓库根,
|
|
30
30
|
再 `$PY "$R/.qoder/scripts/foundation/core/paths.py" whoami`(输出开发者名;空=未初始化)。
|
|
31
31
|
⚠️ 勿用裸相对路径 `.qoder/.developer`(QoderWork 桌面端 cwd 不在仓库根,会读不到而误报未初始化)。
|
|
32
32
|
- **活动任务**:当前任务(含任务相关的 Spec 路径)。读法 `$PY "$R/.qoder/scripts/foundation/core/paths.py" current-task`(输出任务路径;空=无活动任务)。
|
|
@@ -9,7 +9,7 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
9
9
|
|
|
10
10
|
**后续脚本里的 `$R` 代表仓库根**,先确定它(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
11
11
|
```bash
|
|
12
|
-
R=$(
|
|
12
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
13
13
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
14
14
|
```
|
|
15
15
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。找不到时先跑 `$PY "$R/.qoder/scripts/orchestration/wlkj.py" install-qw`。
|
|
@@ -24,7 +24,7 @@ PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
|
24
24
|
|
|
25
25
|
## ⚙️ 自取上下文(Quest / QoderWork 无 hook 注入,必须自读)
|
|
26
26
|
|
|
27
|
-
- **当前身份**:当前开发者。读法:先 `R=$(
|
|
27
|
+
- **当前身份**:当前开发者。读法:先 `R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.` 定位仓库根,
|
|
28
28
|
再 `$PY "$R/.qoder/scripts/foundation/core/paths.py" whoami`(输出开发者名;空=未初始化)。
|
|
29
29
|
⚠️ 勿用裸相对路径 `.qoder/.developer`(QoderWork 桌面端 cwd 不在仓库根,会读不到而误报未初始化)。
|
|
30
30
|
- **活动任务**:当前任务(决定 spec 存到哪个 task 目录)。读法 `$PY "$R/.qoder/scripts/foundation/core/paths.py" current-task`(输出任务路径;空=无活动任务)。
|
|
@@ -9,7 +9,7 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
9
9
|
|
|
10
10
|
**后续脚本里的 `$R` 代表仓库根**,先确定它(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
11
11
|
```bash
|
|
12
|
-
R=$(
|
|
12
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
13
13
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
14
14
|
```
|
|
15
15
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。找不到时先跑 `$PY "$R/.qoder/scripts/orchestration/wlkj.py" install-qw`。
|
|
@@ -26,7 +26,7 @@ PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
|
26
26
|
|
|
27
27
|
## ⚙️ 自取上下文(Quest / QoderWork 无 hook 注入,必须自读)
|
|
28
28
|
|
|
29
|
-
- **当前身份**:当前开发者。读法:先 `R=$(
|
|
29
|
+
- **当前身份**:当前开发者。读法:先 `R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.` 定位仓库根,
|
|
30
30
|
再 `$PY "$R/.qoder/scripts/foundation/core/paths.py" whoami`(输出开发者名;空=未初始化)。
|
|
31
31
|
⚠️ 勿用裸相对路径 `.qoder/.developer`(QoderWork 桌面端 cwd 不在仓库根,会读不到而误报未初始化)。
|
|
32
32
|
- **活动任务**:当前任务。读法 `$PY "$R/.qoder/scripts/foundation/core/paths.py" current-task`(输出任务路径;空=无活动任务)。
|
|
@@ -9,7 +9,7 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
9
9
|
|
|
10
10
|
**后续脚本里的 `$R` 代表仓库根**,先确定它(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
11
11
|
```bash
|
|
12
|
-
R=$(
|
|
12
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
13
13
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
14
14
|
```
|
|
15
15
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。找不到时先跑 `$PY "$R/.qoder/scripts/orchestration/wlkj.py" install-qw`。
|
|
@@ -23,7 +23,7 @@ PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
|
23
23
|
|
|
24
24
|
## ⚙️ 自取上下文(Quest / QoderWork 无 hook 注入,必须自读)
|
|
25
25
|
|
|
26
|
-
- **当前身份**:当前开发者。读法:先 `R=$(
|
|
26
|
+
- **当前身份**:当前开发者。读法:先 `R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.` 定位仓库根,
|
|
27
27
|
再 `$PY "$R/.qoder/scripts/foundation/core/paths.py" whoami`(输出开发者名;空=未初始化)。
|
|
28
28
|
⚠️ 勿用裸相对路径 `.qoder/.developer`(QoderWork 桌面端 cwd 不在仓库根,会读不到而误报未初始化)。
|
|
29
29
|
- **活动任务**:当前活动任务(找对应的 spec)。读法 `$PY "$R/.qoder/scripts/foundation/core/paths.py" current-task`(输出任务路径;空=无活动任务)。
|
|
@@ -9,7 +9,7 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
9
9
|
|
|
10
10
|
**后续脚本里的 `$R` 代表仓库根**,先确定它(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
11
11
|
```bash
|
|
12
|
-
R=$(
|
|
12
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
13
13
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
14
14
|
```
|
|
15
15
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。找不到时先跑 `$PY "$R/.qoder/scripts/orchestration/wlkj.py" install-qw`。
|
|
@@ -22,7 +22,7 @@ PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
|
22
22
|
|
|
23
23
|
## ⚙️ 自取上下文(Quest / QoderWork 无 hook 注入,必须自读)
|
|
24
24
|
|
|
25
|
-
- **当前身份**:当前开发者(提交作者)。读法:先 `R=$(
|
|
25
|
+
- **当前身份**:当前开发者(提交作者)。读法:先 `R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.` 定位仓库根,
|
|
26
26
|
再 `$PY "$R/.qoder/scripts/foundation/core/paths.py" whoami`(输出开发者名;空=未初始化)。
|
|
27
27
|
⚠️ 勿用裸相对路径 `.qoder/.developer`(QoderWork 桌面端 cwd 不在仓库根,会读不到而误报未初始化)。
|
|
28
28
|
- 当前工作目录的 `git status` 和 `git diff --stat` 看改了什么
|
|
@@ -9,7 +9,7 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
9
9
|
|
|
10
10
|
**后续脚本里的 `$R` 代表仓库根**,先确定它(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
11
11
|
```bash
|
|
12
|
-
R=$(
|
|
12
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
13
13
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
14
14
|
```
|
|
15
15
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。找不到时先跑 `$PY "$R/.qoder/scripts/orchestration/wlkj.py" install-qw`。
|
|
@@ -37,7 +37,7 @@ PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
|
37
37
|
|
|
38
38
|
## ⚙️ 自取上下文(Quest / QoderWork 无 hook 注入,必须自读)
|
|
39
39
|
|
|
40
|
-
- **当前身份**:当前设计师名(产出归属)。读法:先 `R=$(
|
|
40
|
+
- **当前身份**:当前设计师名(产出归属)。读法:先 `R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.` 定位仓库根,
|
|
41
41
|
再 `$PY "$R/.qoder/scripts/foundation/core/paths.py" whoami`(输出开发者名;空=未初始化)。
|
|
42
42
|
⚠️ 勿用裸相对路径 `.qoder/.developer`(QoderWork 桌面端 cwd 不在仓库根,会读不到而误报未初始化)。
|
|
43
43
|
- **活动任务**:若存在,spec/原型命名带上任务关键词。读法 `$PY "$R/.qoder/scripts/foundation/core/paths.py" current-task`(输出任务路径;空=无活动任务)。
|
|
@@ -9,7 +9,7 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
9
9
|
|
|
10
10
|
**后续脚本里的 `$R` 代表仓库根**,先确定它(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
11
11
|
```bash
|
|
12
|
-
R=$(
|
|
12
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
13
13
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
14
14
|
```
|
|
15
15
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。找不到时先跑 `$PY "$R/.qoder/scripts/orchestration/wlkj.py" install-qw`。
|
|
@@ -9,7 +9,7 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
9
9
|
|
|
10
10
|
**后续脚本里的 `$R` 代表仓库根**,先确定它(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
11
11
|
```bash
|
|
12
|
-
R=$(
|
|
12
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
13
13
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
14
14
|
```
|
|
15
15
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。找不到时先跑 `$PY "$R/.qoder/scripts/orchestration/wlkj.py" install-qw`。
|
|
@@ -55,7 +55,7 @@ insight(探索/调研/规划)→ [用户确认转PRD] → prd(落地)→
|
|
|
55
55
|
|
|
56
56
|
## ⚙️ 自取上下文(Quest / QoderWork 无 hook 注入,必须自读)
|
|
57
57
|
|
|
58
|
-
- **当前身份**:当前探索者(报告归属)。读法:先 `R=$(
|
|
58
|
+
- **当前身份**:当前探索者(报告归属)。读法:先 `R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.` 定位仓库根,
|
|
59
59
|
再 `$PY "$R/.qoder/scripts/foundation/core/paths.py" whoami`(输出开发者名;空=未初始化)。
|
|
60
60
|
⚠️ 勿用裸相对路径 `.qoder/.developer`(QoderWork 桌面端 cwd 不在仓库根,会读不到而误报未初始化)。
|
|
61
61
|
- **现状锚点(必跑,只跑这一次)**:用 prefetch 一次取全,不要串行换词搜:
|
|
@@ -9,7 +9,7 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
9
9
|
|
|
10
10
|
**后续脚本里的 `$R` 代表仓库根**,先确定它(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
11
11
|
```bash
|
|
12
|
-
R=$(
|
|
12
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
13
13
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
14
14
|
```
|
|
15
15
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。找不到时先跑 `$PY "$R/.qoder/scripts/orchestration/wlkj.py" install-qw`。
|
|
@@ -9,7 +9,7 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
9
9
|
|
|
10
10
|
**后续脚本里的 `$R` 代表仓库根**,先确定它(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
11
11
|
```bash
|
|
12
|
-
R=$(
|
|
12
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
13
13
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
14
14
|
```
|
|
15
15
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。找不到时先跑 `$PY "$R/.qoder/scripts/orchestration/wlkj.py" install-qw`。
|
|
@@ -9,7 +9,7 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
9
9
|
|
|
10
10
|
**后续脚本里的 `$R` 代表仓库根**,先确定它(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
11
11
|
```bash
|
|
12
|
-
R=$(
|
|
12
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
13
13
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
14
14
|
```
|
|
15
15
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。找不到时先跑 `$PY "$R/.qoder/scripts/orchestration/wlkj.py" install-qw`。
|
|
@@ -9,7 +9,7 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
9
9
|
|
|
10
10
|
**后续脚本里的 `$R` 代表仓库根**,先确定它(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
11
11
|
```bash
|
|
12
|
-
R=$(
|
|
12
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
13
13
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
14
14
|
```
|
|
15
15
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。找不到时先跑 `$PY "$R/.qoder/scripts/orchestration/wlkj.py" install-qw`。
|
|
@@ -23,7 +23,7 @@ PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
|
23
23
|
### ⚡ Fast Path:一次拿全(必须先跑,禁止逐个 cat/ls/git log)
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
R=$(
|
|
26
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
27
27
|
$PY "$R/.qoder/scripts/orchestration/wlkj.py" report-snapshot "$R" # 日报
|
|
28
28
|
$PY "$R/.qoder/scripts/orchestration/wlkj.py" report-snapshot "$R" --days 7 # 周报
|
|
29
29
|
```
|
|
@@ -9,7 +9,7 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
9
9
|
|
|
10
10
|
**后续脚本里的 `$R` 代表仓库根**,先确定它(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
11
11
|
```bash
|
|
12
|
-
R=$(
|
|
12
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
13
13
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
14
14
|
```
|
|
15
15
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。找不到时先跑 `$PY "$R/.qoder/scripts/orchestration/wlkj.py" install-qw`。
|
|
@@ -23,7 +23,7 @@ PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
|
23
23
|
|
|
24
24
|
## ⚙️ 自取上下文(Quest / QoderWork 无 hook 注入,必须自读)
|
|
25
25
|
|
|
26
|
-
- **当前身份**:当前开发者。读法:先 `R=$(
|
|
26
|
+
- **当前身份**:当前开发者。读法:先 `R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.` 定位仓库根,
|
|
27
27
|
再 `$PY "$R/.qoder/scripts/foundation/core/paths.py" whoami`(输出开发者名;空=未初始化)。
|
|
28
28
|
⚠️ 勿用裸相对路径 `.qoder/.developer`(QoderWork 桌面端 cwd 不在仓库根,会读不到而误报未初始化)。
|
|
29
29
|
- **活动任务**:当前任务(决定 spec 存哪个 task 目录)。读法 `$PY "$R/.qoder/scripts/foundation/core/paths.py" current-task`(输出任务路径;空=无活动任务)。
|
|
@@ -9,7 +9,7 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
9
9
|
|
|
10
10
|
**后续脚本里的 `$R` 代表仓库根**,先确定它(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
11
11
|
```bash
|
|
12
|
-
R=$(
|
|
12
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
13
13
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
14
14
|
```
|
|
15
15
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。找不到时先跑 `$PY "$R/.qoder/scripts/orchestration/wlkj.py" install-qw`。
|
|
@@ -23,7 +23,7 @@ PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
|
23
23
|
### ⚡ Fast Path:一次拿全(必须先跑,禁止逐个 cat/ls)
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
R=$(
|
|
26
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
27
27
|
$PY "$R/.qoder/scripts/orchestration/wlkj.py" status-snapshot "$R"
|
|
28
28
|
```
|
|
29
29
|
|
|
@@ -9,7 +9,7 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
9
9
|
|
|
10
10
|
**后续脚本里的 `$R` 代表仓库根**,先确定它(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
11
11
|
```bash
|
|
12
|
-
R=$(
|
|
12
|
+
R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
13
13
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
14
14
|
```
|
|
15
15
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。找不到时先跑 `$PY "$R/.qoder/scripts/orchestration/wlkj.py" install-qw`。
|
|
@@ -119,7 +119,7 @@ AI: ✅ 需求#761 已关联 build#22(本周) + #16(未来)
|
|
|
119
119
|
|
|
120
120
|
## ⚙️ 自取上下文(Quest / QoderWork 无 hook 注入,必须自读)
|
|
121
121
|
|
|
122
|
-
- **当前身份**:当前开发者(assignee 默认值)。读法:先 `R=$(
|
|
122
|
+
- **当前身份**:当前开发者(assignee 默认值)。读法:先 `R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.` 定位仓库根,
|
|
123
123
|
再 `$PY "$R/.qoder/scripts/foundation/core/paths.py" whoami`(输出开发者名;空=未初始化)。
|
|
124
124
|
⚠️ 勿用裸相对路径 `.qoder/.developer`(QoderWork 桌面端 cwd 不在仓库根,会读不到而误报未初始化)。
|
|
125
125
|
- **活动任务**:当前活动任务("开始做""完成了"默认对它操作)。读法 `$PY "$R/.qoder/scripts/foundation/core/paths.py" current-task`(输出任务路径;空=无活动任务)。
|
|
@@ -46,9 +46,9 @@ trigger: "user invokes /wl-* command explicitly"
|
|
|
46
46
|
**③ 用例 JSON 必须用 `--cases-file` 传文件,禁止内联 `--cases`。**
|
|
47
47
|
```bash
|
|
48
48
|
# ✅ 对: 写文件再传路径(不截断)
|
|
49
|
-
$
|
|
49
|
+
(python "$R 2>/dev/null || python3 "$R)/.qoder/scripts/orchestration/wlkj.py" test quick --cases-file <文件路径> --env test --platform web
|
|
50
50
|
# ❌ 错: 内联(长JSON截断, 多条用例必丢)
|
|
51
|
-
$
|
|
51
|
+
(python "$R 2>/dev/null || python3 "$R)/.qoder/scripts/orchestration/wlkj.py" test quick --cases '[{"case_id"...(超长)...}]'
|
|
52
52
|
```
|
|
53
53
|
|
|
54
54
|
**④ 无锚点时必须先 snapshot 拿真实 anchor 再填,禁止预猜 CSS selector。**
|
|
@@ -67,9 +67,9 @@ $PY "$R/.qoder/scripts/orchestration/wlkj.py" test quick --cases '[{"case_id"...
|
|
|
67
67
|
**⑥ recall 的 `--url` 必须用相对路径(无前导斜杠),避开 Git-bash/MSYS 路径转换坑。**
|
|
68
68
|
```bash
|
|
69
69
|
# ✅ 对: 相对路径 (MSYS 不转换)
|
|
70
|
-
$
|
|
70
|
+
(python "$R 2>/dev/null || python3 "$R)/.qoder/scripts/orchestration/wlkj.py" test recall --url auth/login
|
|
71
71
|
# ❌ 错: 前导斜杠会被 Windows Git-bash 转成 /D:/.../Git/auth/login
|
|
72
|
-
$
|
|
72
|
+
(python "$R 2>/dev/null || python3 "$R)/.qoder/scripts/orchestration/wlkj.py" test recall --url /auth/login
|
|
73
73
|
```
|
|
74
74
|
(脚本已加 normalize 兜底能修这个,但别依赖兜底——直接写相对路径最干净。)
|
|
75
75
|
|
|
@@ -95,7 +95,7 @@ $PY "$R/.qoder/scripts/orchestration/wlkj.py" test recall --url /auth/login
|
|
|
95
95
|
>
|
|
96
96
|
> **先确定仓库根 R**(QoderWork 桌面端工作目录不是仓库根,相对路径会失效):
|
|
97
97
|
> ```bash
|
|
98
|
-
> R=$(
|
|
98
|
+
> R=$(python ~/.qoderwork/repo_root.py 2>/dev/null || python3 ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
|
|
99
99
|
PY=$(python --version >/dev/null 2>&1 && echo python || echo python3)
|
|
100
100
|
> ```
|
|
101
101
|
> `repo_root.py` 从 `~/.qoderwork/mcp.json` 反推仓库根;失败回退 `.`(IDE/CLI 工作目录即仓库根)。
|
|
@@ -521,4 +521,4 @@ QoderWork 有**两种**浏览器控制方式,遇到问题要在两者间切换
|
|
|
521
521
|
- quick/browser:用例表 + 执行结果(pass/fail),失败列原因 + 建议,全过建议继续
|
|
522
522
|
- 别在 quick 里啰嗦搜代码的过程——用户要的是"测了没、通没通"
|
|
523
523
|
- 验证码/登录:默认 AI 自识别(截图→算→填),连续 2 次失败或短信/扫码类才交人
|
|
524
|
-
- 工具冲突:先 Playwright MCP,挂了再试 QoderWork Browser Use,最后 Computer Use + 浏览器前台,别直接 BLOCKED
|
|
524
|
+
- 工具冲突:先 Playwright MCP,挂了再试 QoderWork Browser Use,最后 Computer Use + 浏览器前台,别直接 BLOCKED
|