kld-sdd 2.6.9 → 2.6.11
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/lib/init.js +370 -114
- package/package.json +2 -2
- package/skywalk-sdd/index.cjs +3 -2
- package/skywalk-sdd/ontology/cli.cjs +34 -7
- package/skywalk-sdd/ontology/naming-diagnose.cjs +103 -20
- package/skywalk-sdd/ontology/resolve-spec-root.cjs +102 -0
- package/skywalk-sdd/ontology/sdd-config.cjs +62 -16
- package/skywalk-sdd/ontology/workspace-layout.cjs +81 -0
- package/templates/git-hooks/commit-msg-sdd-trailer.cjs +20 -5
- package/templates/skills/kld-sdd/opsx-apply/SKILL.md +2 -1
- package/templates/skills/kld-sdd/opsx-archive/SKILL.md +3 -1
- package/templates/skills/kld-sdd/opsx-check/SKILL.md +3 -1
- package/templates/skills/kld-sdd/opsx-design/SKILL.md +3 -1
- package/templates/skills/kld-sdd/opsx-explore/SKILL.md +3 -1
- package/templates/skills/kld-sdd/opsx-propose/SKILL.md +3 -1
- package/templates/skills/kld-sdd/opsx-rules/SKILL.md +3 -1
- package/templates/skills/kld-sdd/opsx-spec/SKILL.md +3 -1
- package/templates/skills/kld-sdd/opsx-task/SKILL.md +3 -1
- package/templates/skills/kld-sdd/opsx-test/SKILL.md +3 -1
|
@@ -60,7 +60,7 @@ function resolveLayout(repoRoot, env = process.env) {
|
|
|
60
60
|
return { mode: 'unlinked' };
|
|
61
61
|
}
|
|
62
62
|
if (sddConfig.isMonoLayout(repoRoot)) {
|
|
63
|
-
return { mode: 'mono', specPath: repoRoot };
|
|
63
|
+
return { mode: 'mono', specPath: sddConfig.resolveMonoSpecRoot(repoRoot) };
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
const context = sddConfig.resolveCodeRepoContext(repoRoot, env);
|
|
@@ -70,9 +70,14 @@ function resolveLayout(repoRoot, env = process.env) {
|
|
|
70
70
|
if (context.code === sddConfig.CODES.SPEC_PATH_INVALID) {
|
|
71
71
|
fail(context.message);
|
|
72
72
|
}
|
|
73
|
-
// specPath
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
// specPath 指回本仓根:等同单仓(兼容旧平铺);若指向仓内包裹包仍按 mono
|
|
74
|
+
const resolvedSpec = path.resolve(context.specPath);
|
|
75
|
+
const resolvedRoot = path.resolve(repoRoot);
|
|
76
|
+
if (resolvedSpec === resolvedRoot) {
|
|
77
|
+
return { mode: 'mono', specPath: sddConfig.resolveMonoSpecRoot(repoRoot), context };
|
|
78
|
+
}
|
|
79
|
+
if (resolvedSpec.startsWith(`${resolvedRoot}${path.sep}`)) {
|
|
80
|
+
return { mode: 'mono', specPath: resolvedSpec, context };
|
|
76
81
|
}
|
|
77
82
|
return { mode: 'multi', specPath: context.specPath, context };
|
|
78
83
|
}
|
|
@@ -164,8 +169,18 @@ function upsertTrailers(message, trailers) {
|
|
|
164
169
|
return body;
|
|
165
170
|
}
|
|
166
171
|
|
|
172
|
+
function resolveMsgFile(argv = process.argv) {
|
|
173
|
+
// Git 传入的 message 文件路径;跳过 --project= 等可选参数
|
|
174
|
+
for (let i = 2; i < argv.length; i += 1) {
|
|
175
|
+
const arg = argv[i];
|
|
176
|
+
if (!arg || arg.startsWith('--')) continue;
|
|
177
|
+
return arg;
|
|
178
|
+
}
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
|
|
167
182
|
function main(env = process.env) {
|
|
168
|
-
const msgFile =
|
|
183
|
+
const msgFile = resolveMsgFile();
|
|
169
184
|
if (!msgFile) {
|
|
170
185
|
fail('缺少 commit message 文件参数');
|
|
171
186
|
}
|
|
@@ -27,7 +27,8 @@ allowed-tools:
|
|
|
27
27
|
> - ⛔ **隔离红线**:绝对禁止加载同级其他 Capability 的文档
|
|
28
28
|
|
|
29
29
|
> **🖥️ 跨平台执行规则**
|
|
30
|
-
> -
|
|
30
|
+
> - **写代码**:cwd 保持在 Git 根(含 `src/`);**文档 / telemetry**:`--project` 指向 SDD 包裹包(`node skywalk-sdd/ontology/cli.cjs spec-root` 可查看)。
|
|
31
|
+
> - `openspec` 命令:优先 `node skywalk-sdd/openspec-shim.cjs list`(自动 cd 到包裹包)。
|
|
31
32
|
> - Telemetry 命令默认使用 `--project=.`,兼容 Windows、macOS、Linux。
|
|
32
33
|
> - ${SHELL_GUIDANCE}
|
|
33
34
|
> - 不要省略 `--source=opsx-command` 与 `--session-id=<会话ID>`。
|
|
@@ -20,7 +20,9 @@ allowed-tools:
|
|
|
20
20
|
> **硬依赖(收尾入库)**:zip 生成后的上传依赖同级已部署的 **`opsx-kb-ingest`**。进入 §5.5 前必须先 `Read` 该技能的 `SKILL.md` 并完成其 Session 启动。入库成功后,`Read` `opsx-ontology-query/phase-3-postchange.md` 验证版本生效、AC 保留、关系完整性。缺失则提示用户重新 `kld-sdd-init`,**不要**自造另一套入库协议。
|
|
21
21
|
|
|
22
22
|
> **跨平台执行规则**
|
|
23
|
-
> -
|
|
23
|
+
> - **SDD 文档根** = `*-sdd-specs` 包裹包(含 `openspec/`、`modules.yaml`),不是 Git 根或工作区根。
|
|
24
|
+
> - `openspec` 命令:优先 `node skywalk-sdd/openspec-shim.cjs list`(自动 cd 到包裹包),或先 `cd` 到包裹包再执行。
|
|
25
|
+
> - `skywalk-sdd/log.cjs` / `ontology/cli.cjs`:`--project=.` 在 Git 根/工作区根会自动解析;也可 `node skywalk-sdd/ontology/cli.cjs spec-root` 查看路径。
|
|
24
26
|
> - Telemetry 命令默认使用 `--project=.`,兼容 Windows、macOS、Linux。
|
|
25
27
|
> - 不要裸写 Windows 反斜杠绝对路径;如必须使用绝对路径,请加引号或改成正斜杠。
|
|
26
28
|
> - 不要省略 `--source=opsx-command` 和 `--session-id=<会话ID>`。
|
|
@@ -32,7 +32,9 @@ allowed-tools:
|
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
> **🖥️ 跨平台执行规则**
|
|
35
|
-
> -
|
|
35
|
+
> - **SDD 文档根** = `*-sdd-specs` 包裹包(含 `openspec/`、`modules.yaml`),不是 Git 根或工作区根。
|
|
36
|
+
> - `openspec` 命令:优先 `node skywalk-sdd/openspec-shim.cjs list`(自动 cd 到包裹包),或先 `cd` 到包裹包再执行。
|
|
37
|
+
> - `skywalk-sdd/log.cjs` / `ontology/cli.cjs`:`--project=.` 在 Git 根/工作区根会自动解析;也可 `node skywalk-sdd/ontology/cli.cjs spec-root` 查看路径。
|
|
36
38
|
> - Telemetry 命令默认使用 `--project=.`,兼容 Windows、macOS、Linux。
|
|
37
39
|
> - ${SHELL_GUIDANCE}
|
|
38
40
|
> - 不要省略 `--source=opsx-command` 与 `--session-id=<会话ID>`。
|
|
@@ -46,7 +46,9 @@ allowed-tools:
|
|
|
46
46
|
> - ⛔ **隔离红线**:绝对禁止跨目录读取同级其他 Capability 的 spec 或 design(Full 模式)
|
|
47
47
|
|
|
48
48
|
> **🖥️ 跨平台执行规则**
|
|
49
|
-
> -
|
|
49
|
+
> - **SDD 文档根** = `*-sdd-specs` 包裹包(含 `openspec/`、`modules.yaml`),不是 Git 根或工作区根。
|
|
50
|
+
> - `openspec` 命令:优先 `node skywalk-sdd/openspec-shim.cjs list`(自动 cd 到包裹包),或先 `cd` 到包裹包再执行。
|
|
51
|
+
> - `skywalk-sdd/log.cjs` / `ontology/cli.cjs`:`--project=.` 在 Git 根/工作区根会自动解析;也可 `node skywalk-sdd/ontology/cli.cjs spec-root` 查看路径。
|
|
50
52
|
> - Telemetry 命令默认使用 `--project=.`,兼容 Windows、macOS、Linux。
|
|
51
53
|
> - ${SHELL_GUIDANCE}
|
|
52
54
|
> - 不要省略 `--source=opsx-command` 与 `--session-id=<会话ID>`。
|
|
@@ -16,7 +16,9 @@ allowed-tools:
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
> **🖥️ 跨平台执行规则**
|
|
19
|
-
> -
|
|
19
|
+
> - **SDD 文档根** = `*-sdd-specs` 包裹包(含 `openspec/`、`modules.yaml`),不是 Git 根或工作区根。
|
|
20
|
+
> - `openspec` 命令:优先 `node skywalk-sdd/openspec-shim.cjs list`(自动 cd 到包裹包),或先 `cd` 到包裹包再执行。
|
|
21
|
+
> - `skywalk-sdd/log.cjs` / `ontology/cli.cjs`:`--project=.` 在 Git 根/工作区根会自动解析;也可 `node skywalk-sdd/ontology/cli.cjs spec-root` 查看路径。
|
|
20
22
|
> - Telemetry 命令默认使用 `--project=.`,兼容 Windows、macOS、Linux。
|
|
21
23
|
> - ${SHELL_GUIDANCE}
|
|
22
24
|
> - 不要省略 `--source=opsx-command` 与 `--session-id=<会话ID>`。
|
|
@@ -34,7 +34,9 @@ allowed-tools:
|
|
|
34
34
|
> 阶段边界自检见 `./checklist.md`「阶段边界⛔」。
|
|
35
35
|
|
|
36
36
|
> **🖥️ 跨平台执行规则**
|
|
37
|
-
> -
|
|
37
|
+
> - **SDD 文档根** = `*-sdd-specs` 包裹包(含 `openspec/`、`modules.yaml`),不是 Git 根或工作区根。
|
|
38
|
+
> - `openspec` 命令:优先 `node skywalk-sdd/openspec-shim.cjs list`(自动 cd 到包裹包),或先 `cd` 到包裹包再执行。
|
|
39
|
+
> - `skywalk-sdd/log.cjs` / `ontology/cli.cjs`:`--project=.` 在 Git 根/工作区根会自动解析;也可 `node skywalk-sdd/ontology/cli.cjs spec-root` 查看路径。
|
|
38
40
|
> - Telemetry 命令默认使用 `--project=.`,兼容 Windows、macOS、Linux。
|
|
39
41
|
> - ${SHELL_GUIDANCE}
|
|
40
42
|
> - 不要省略 `--source=opsx-command` 与 `--session-id=<会话ID>`。
|
|
@@ -19,7 +19,9 @@ allowed-tools:
|
|
|
19
19
|
你是一个 SDD 项目规则生成与维护专家。激活本技能后,你将扫描项目事实,为已部署的 Agent 生成或审查规则文件。
|
|
20
20
|
|
|
21
21
|
> **🖥️ 跨平台执行规则**
|
|
22
|
-
> -
|
|
22
|
+
> - **SDD 文档根** = `*-sdd-specs` 包裹包(含 `openspec/`、`modules.yaml`),不是 Git 根或工作区根。
|
|
23
|
+
> - `openspec` 命令:优先 `node skywalk-sdd/openspec-shim.cjs list`(自动 cd 到包裹包),或先 `cd` 到包裹包再执行。
|
|
24
|
+
> - `skywalk-sdd/log.cjs` / `ontology/cli.cjs`:`--project=.` 在 Git 根/工作区根会自动解析;也可 `node skywalk-sdd/ontology/cli.cjs spec-root` 查看路径。
|
|
23
25
|
> - ${SHELL_GUIDANCE}
|
|
24
26
|
> - **本技能不写入 SkyWalk Telemetry**(与 `opsx-knowledge` 同属辅助技能,不走 `log.cjs start/end`)。
|
|
25
27
|
|
|
@@ -34,7 +34,9 @@ allowed-tools:
|
|
|
34
34
|
> 阶段边界自检见 `./checklist.md`「阶段边界⛔」。
|
|
35
35
|
|
|
36
36
|
> **🖥️ 跨平台执行规则**
|
|
37
|
-
> -
|
|
37
|
+
> - **SDD 文档根** = `*-sdd-specs` 包裹包(含 `openspec/`、`modules.yaml`),不是 Git 根或工作区根。
|
|
38
|
+
> - `openspec` 命令:优先 `node skywalk-sdd/openspec-shim.cjs list`(自动 cd 到包裹包),或先 `cd` 到包裹包再执行。
|
|
39
|
+
> - `skywalk-sdd/log.cjs` / `ontology/cli.cjs`:`--project=.` 在 Git 根/工作区根会自动解析;也可 `node skywalk-sdd/ontology/cli.cjs spec-root` 查看路径。
|
|
38
40
|
> - Telemetry 命令默认使用 `--project=.`,兼容 Windows、macOS、Linux。
|
|
39
41
|
> - ${SHELL_GUIDANCE}
|
|
40
42
|
> - 不要省略 `--source=opsx-command` 与 `--session-id=<会话ID>`。
|
|
@@ -47,7 +47,9 @@ allowed-tools:
|
|
|
47
47
|
> - ⛔ **隔离红线**:绝对禁止跨目录读取同级其他 Capability 的文档(Full 模式)
|
|
48
48
|
|
|
49
49
|
> **🖥️ 跨平台执行规则**
|
|
50
|
-
> -
|
|
50
|
+
> - **SDD 文档根** = `*-sdd-specs` 包裹包(含 `openspec/`、`modules.yaml`),不是 Git 根或工作区根。
|
|
51
|
+
> - `openspec` 命令:优先 `node skywalk-sdd/openspec-shim.cjs list`(自动 cd 到包裹包),或先 `cd` 到包裹包再执行。
|
|
52
|
+
> - `skywalk-sdd/log.cjs` / `ontology/cli.cjs`:`--project=.` 在 Git 根/工作区根会自动解析;也可 `node skywalk-sdd/ontology/cli.cjs spec-root` 查看路径。
|
|
51
53
|
> - Telemetry 命令默认使用 `--project=.`,兼容 Windows、macOS、Linux。
|
|
52
54
|
> - ${SHELL_GUIDANCE}
|
|
53
55
|
> - 不要省略 `--source=opsx-command` 与 `--session-id=<会话ID>`。
|
|
@@ -24,7 +24,9 @@ allowed-tools:
|
|
|
24
24
|
> - 输出标准化测试报告,便于质量追踪
|
|
25
25
|
|
|
26
26
|
> **🖥️ 跨平台执行规则**
|
|
27
|
-
> -
|
|
27
|
+
> - **SDD 文档根** = `*-sdd-specs` 包裹包(含 `openspec/`、`modules.yaml`),不是 Git 根或工作区根。
|
|
28
|
+
> - `openspec` 命令:优先 `node skywalk-sdd/openspec-shim.cjs list`(自动 cd 到包裹包),或先 `cd` 到包裹包再执行。
|
|
29
|
+
> - `skywalk-sdd/log.cjs` / `ontology/cli.cjs`:`--project=.` 在 Git 根/工作区根会自动解析;也可 `node skywalk-sdd/ontology/cli.cjs spec-root` 查看路径。
|
|
28
30
|
> - Telemetry 命令默认使用 `--project=.`,兼容 Windows、macOS、Linux。
|
|
29
31
|
> - ${SHELL_GUIDANCE}
|
|
30
32
|
> - 不要省略 `--source=opsx-command` 与 `--session-id=<会话ID>`。
|