ws-spec-kit 0.1.0-beta.15 → 0.1.0-beta.17
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/README.md +49 -3
- package/dist/adapters/cli/output.js +8 -1
- package/dist/adapters/cli/output.js.map +1 -1
- package/dist/adapters/skills/install.d.ts +20 -1
- package/dist/adapters/skills/install.js +215 -50
- package/dist/adapters/skills/install.js.map +1 -1
- package/dist/adapters/skills/project-guidance.d.ts +20 -0
- package/dist/adapters/skills/project-guidance.js +216 -0
- package/dist/adapters/skills/project-guidance.js.map +1 -0
- package/dist/application/acquire.d.ts +3 -0
- package/dist/application/acquire.js +24 -0
- package/dist/application/acquire.js.map +1 -1
- package/dist/application/agent-actions.d.ts +26 -0
- package/dist/application/agent-actions.js +185 -0
- package/dist/application/agent-actions.js.map +1 -0
- package/dist/application/application.d.ts +2 -0
- package/dist/application/application.js +1 -0
- package/dist/application/application.js.map +1 -1
- package/dist/application/artifact.d.ts +3 -1
- package/dist/application/artifact.js +4 -0
- package/dist/application/artifact.js.map +1 -1
- package/dist/application/inspect.js +3 -1
- package/dist/application/inspect.js.map +1 -1
- package/dist/application/recovery-guidance.js +25 -2
- package/dist/application/recovery-guidance.js.map +1 -1
- package/dist/application/red-baseline.d.ts +2 -1
- package/dist/application/red-baseline.js +18 -6
- package/dist/application/red-baseline.js.map +1 -1
- package/dist/application/revalidate-red.js +36 -15
- package/dist/application/revalidate-red.js.map +1 -1
- package/dist/application/start.js +5 -1
- package/dist/application/start.js.map +1 -1
- package/dist/application/submit.d.ts +4 -0
- package/dist/application/submit.js +6 -0
- package/dist/application/submit.js.map +1 -1
- package/dist/cli/commands/core.js +56 -9
- package/dist/cli/commands/core.js.map +1 -1
- package/dist/cli/commands/public-contract.js +16 -5
- package/dist/cli/commands/public-contract.js.map +1 -1
- package/dist/domain/artifact-names.js +1 -0
- package/dist/domain/artifact-names.js.map +1 -1
- package/dist/engine/compiler.js +14 -4
- package/dist/engine/compiler.js.map +1 -1
- package/dist/engine/tdd/red-gate.d.ts +2 -0
- package/dist/engine/tdd/red-gate.js +8 -8
- package/dist/engine/tdd/red-gate.js.map +1 -1
- package/dist/engine/tdd/runner-digest.d.ts +4 -2
- package/dist/engine/tdd/runner-digest.js +8 -4
- package/dist/engine/tdd/runner-digest.js.map +1 -1
- package/dist/protocol/public-contract.d.ts +15 -5
- package/dist/protocol/public-contract.js +14 -3
- package/dist/protocol/public-contract.js.map +1 -1
- package/dist/storage/control-plane.d.ts +1 -0
- package/dist/storage/control-plane.js +5 -5
- package/dist/storage/control-plane.js.map +1 -1
- package/dist/workflow-package/read-only.d.ts +3 -0
- package/dist/workflow-package/read-only.js +9 -0
- package/dist/workflow-package/read-only.js.map +1 -0
- package/package.json +1 -1
- package/resources/catalog.yaml +8 -0
- package/resources/skills/assessment/SKILL.md +19 -0
- package/resources/skills/bugfix-diagnosis/SKILL.md +36 -0
- package/resources/skills/code-review/SKILL.md +2 -2
- package/resources/workflows/assessment/manifest.yaml +8 -0
- package/resources/workflows/assessment/profiles/governed.yaml +16 -0
- package/resources/workflows/assessment/profiles/quick.yaml +16 -0
- package/resources/workflows/assessment/profiles/standard.yaml +16 -0
- package/resources/workflows/assessment/workflow.yaml +29 -0
- package/resources/workflows/bugfix-delivery/manifest.yaml +23 -0
- package/resources/workflows/bugfix-delivery/profiles/governed.yaml +29 -0
- package/resources/workflows/bugfix-delivery/profiles/quick.yaml +28 -0
- package/resources/workflows/bugfix-delivery/profiles/standard.yaml +28 -0
- package/resources/workflows/bugfix-delivery/workflow.yaml +174 -0
package/README.md
CHANGED
|
@@ -2,19 +2,59 @@
|
|
|
2
2
|
|
|
3
3
|
**WSSpecKit**,包名 `ws-spec-kit`,是一个由 Agent Skill 驱动、可配置的软件交付工作流引擎。它把需求来源、工作流、Skill、配置和执行状态绑定到 Work Item,使 Agent 按已声明的步骤交付软件或文档。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
当前仍处于 beta 阶段;已发布版本以 npm 的 `beta` 标签为准。
|
|
6
6
|
|
|
7
7
|
## 中文概述
|
|
8
8
|
|
|
9
9
|
WSSpecKit 提供可执行文件 `wspec`。CLI 的成功、帮助与错误结果都以 JSON 写入标准输出,便于 Agent 或其他程序读取。
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
项目内置四种 Workflow Package:
|
|
12
12
|
|
|
13
13
|
- `builtin://workflows/feature-delivery`,用于功能交付。
|
|
14
|
+
- `builtin://workflows/bugfix-delivery`,用于先诊断再修复,合并重复规格与计划。
|
|
15
|
+
- `builtin://workflows/assessment`,用于显式要求留档的只读评估,不创建业务工作树或提交发布。
|
|
14
16
|
- `builtin://workflows/documentation-delivery`,用于纯文档交付,并限制改动范围为声明的文档路径。
|
|
15
17
|
|
|
16
18
|
Workflow 定义、Profile、所需 Skill 和结果的执行合同会在 Work Item 中快照;Workflow、Skill 和 Schema 正文不复制到每个 Work Item。恢复时会按 Lock 从当前允许来源重新验证,来源缺失或漂移会 fail closed。非内置工作流在首次使用或内容变化后需要明确的信任决定。外部连接器已有契约与本地自动化验证;真实 Provider 平台的验收状态以 [验收报告](docs/acceptance/release-report.md) 为准。
|
|
17
19
|
|
|
20
|
+
## 使用已有发布包
|
|
21
|
+
|
|
22
|
+
```sh
|
|
23
|
+
npm install -g ws-spec-kit@beta
|
|
24
|
+
wspec --help
|
|
25
|
+
# 进入需要管理的 Git 仓库后运行
|
|
26
|
+
wspec init
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
CLI 安装、项目初始化和 Agent Skill 加载是三个独立步骤。自 0.1.0-beta.16 起提供下面的 `agent setup` 和 `agent status` 命令;源码体验可构建后用 `node dist/cli/main.js` 替代 `wspec`。
|
|
30
|
+
|
|
31
|
+
以 Codex 为例(安全安装器当前支持 macOS):
|
|
32
|
+
|
|
33
|
+
```sh
|
|
34
|
+
wspec agent status --client codex
|
|
35
|
+
wspec agent setup --client codex
|
|
36
|
+
wspec agent status --client codex
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Claude 使用 `--client claude` 和 `~/.claude/skills/wsspeckit-driver`;Cursor 使用 `--client cursor` 和 `~/.cursor/skills/wsspeckit-driver`。Generic 需显式传 `--target <安装目录>`。setup 自动创建缺失目录,`--dry-run` 可预演且不写入。目录有链接或同名自定义文件时,先处理冲突,安装器不会覆盖。旧的 `agent install` 仍要求预先创建目录。
|
|
40
|
+
|
|
41
|
+
`status=current` 仅证明磁盘上的 Driver 与当前 CLI 匹配。随后在宿主中重新加载技能或开启新会话,确认技能列表出现 `wsspeckit-driver`,再显式调用它。CLI 无法确认会话是否加载,返回 `hostLoaded=unknown`。全局 npm 升级也不会自动升级已安装的 Driver;`outdated` 时按提示人工迁移。
|
|
42
|
+
|
|
43
|
+
Driver v15 在已初始化项目的功能实现、修复和文档交付请求下提示 Agent 主动使用;咨询及只读 review 直接处理。开始新需求时也可明确要求“使用 wsspeckit-driver 完成……”。继续已有任务时提供 Work Item,让 Agent 使用 continue 恢复。纯咨询或只读 review 不应默认创建功能交付任务。自动触发能力需要在实际宿主验证,不能仅凭安装成功判断。
|
|
44
|
+
|
|
45
|
+
## 日常使用
|
|
46
|
+
|
|
47
|
+
项目初始化后可运行 `wspec agent project setup` 添加 Agent 入口提示;`--dry-run` 可预演,`wspec agent project remove` 仅移除受管区块。替换已有 AGENTS.md 时返回 recoveryFile 保留旧文件,避免并发编辑内容丢失。
|
|
48
|
+
|
|
49
|
+
- 新功能:`wspec start --intent feature --prompt "需求"`
|
|
50
|
+
- 修复:`wspec start --intent fix --prompt "问题"`
|
|
51
|
+
- 留档评估:`wspec start --intent assessment --prompt "评估范围"`
|
|
52
|
+
- 文档交付:`wspec start --intent docs --prompt "文档变更"`
|
|
53
|
+
- 继续:`wspec continue <workItemId> --actor <执行者>`
|
|
54
|
+
- 查看:`wspec status <workItemId>`
|
|
55
|
+
|
|
56
|
+
Agent 保存 continue 返回的 JSON,用 `wspec complete <workItemId> --actor <执行者> --package <领取结果文件> --input <输出映射与结果文件>` 完成当前步骤,不再手抄 Lease 或拼接 ArtifactRef。完整格式与审批/重试边界见 [Application Protocol](docs/reference/application-protocol.md#意图与日常操作)。这些入口自 0.1.0-beta.16 起提供,已知体验限制见 [发布说明](docs/releases/0.1.0-beta.16.md)。
|
|
57
|
+
|
|
18
58
|
## 本地开发快速开始
|
|
19
59
|
|
|
20
60
|
在仓库根目录运行:
|
|
@@ -45,10 +85,16 @@ node dist/cli/main.js init
|
|
|
45
85
|
| `artifact create` | 在活动 Attempt 范围内创建不可变 Artifact 引用。 |
|
|
46
86
|
| `submit` | 提交一次 Attempt 的结果、Artifact 与 Evidence 引用。 |
|
|
47
87
|
| `decide` | 提交步骤审批、工作流信任或外部动作相关决定。 |
|
|
88
|
+
| `continue` | 恢复当前授权,不重复领取任务。 |
|
|
89
|
+
| `complete` | 从原执行包及输出文件映射完成提交。 |
|
|
90
|
+
| `status` | 查看任务进度与下一步。 |
|
|
91
|
+
| `agent project` | 添加或移除项目 AGENTS.md 接入指引。 |
|
|
48
92
|
| `inspect` | 查看当前步骤、执行/中断预算和下一步建议。 |
|
|
49
93
|
| `recover` | 自动选择可用的 Red 路径恢复或环境重验,保留原实现与审计记录。 |
|
|
50
94
|
| `workflow` | 列出、查看、导出、校验或选择工作流。 |
|
|
51
|
-
| `agent
|
|
95
|
+
| `agent setup` | 自动创建安装目录并安装 Driver,重复执行只读复验。 |
|
|
96
|
+
| `agent install` | 在已存在的目标目录安装 Agent Driver Skill。 |
|
|
97
|
+
| `agent status` | 只读检查 Driver 是否缺失、匹配当前版本、过旧或冲突,并提示下一步。 |
|
|
52
98
|
| `doctor connectors` | 对已声明的连接器执行无外部写入的诊断。 |
|
|
53
99
|
|
|
54
100
|
## 参考文档
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { applicationFixedPublicErrors, applicationInternalError, isApplicationPublicErrorCode, } from "../../protocol/public-contract.js";
|
|
1
|
+
import { applicationFixedPublicErrors, applicationFilesystemPermissionError, applicationInternalError, isApplicationPublicErrorCode, } from "../../protocol/public-contract.js";
|
|
2
2
|
export class CliAdapterError extends Error {
|
|
3
3
|
code;
|
|
4
4
|
constructor(code, message) {
|
|
@@ -12,6 +12,13 @@ export function json(value) {
|
|
|
12
12
|
}
|
|
13
13
|
export function errorOutput(error, route) {
|
|
14
14
|
const code = error instanceof Error && "code" in error ? String(error.code) : applicationInternalError.code;
|
|
15
|
+
if (error instanceof Error && ["EPERM", "EACCES", "EROFS"].includes(code)
|
|
16
|
+
&& "syscall" in error && typeof error.syscall === "string"
|
|
17
|
+
&& ["mkdir", "open", "read", "write", "rename", "unlink", "rmdir", "copyfile", "link", "symlink", "stat", "lstat", "scandir", "chmod"].includes(error.syscall)
|
|
18
|
+
&& "path" in error && typeof error.path === "string"
|
|
19
|
+
&& isApplicationPublicErrorCode(applicationFilesystemPermissionError.code, route)) {
|
|
20
|
+
return { ok: false, error: { ...applicationFilesystemPermissionError } };
|
|
21
|
+
}
|
|
15
22
|
if (error instanceof Error && code !== applicationInternalError.code && isApplicationPublicErrorCode(code, route)) {
|
|
16
23
|
const fixed = applicationFixedPublicErrors[code];
|
|
17
24
|
return { ok: false, error: fixed === undefined ? { code, message: error.message } : { ...fixed } };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/adapters/cli/output.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,4BAA4B,GAE7B,MAAM,mCAAmC,CAAC;AAQ3C,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACnB;IAArB,YAAqB,IAAwB,EAAE,OAAe;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;QADI,SAAI,GAAJ,IAAI,CAAoB;QAE3C,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,UAAU,IAAI,CAAC,KAAc;IACjC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,KAA2B;IACrE,MAAM,IAAI,GAAG,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAE,KAAmC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC;IAC3I,IAAI,KAAK,YAAY,KAAK,IAAI,IAAI,KAAK,wBAAwB,CAAC,IAAI,IAAI,4BAA4B,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAClH,MAAM,KAAK,GAAG,4BAA4B,CAAC,IAAiD,CAAC,CAAC;QAC9F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC;IACrG,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,wBAAwB,EAAE,EAAE,CAAC;AAC/D,CAAC"}
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/adapters/cli/output.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,oCAAoC,EACpC,wBAAwB,EACxB,4BAA4B,GAE7B,MAAM,mCAAmC,CAAC;AAQ3C,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACnB;IAArB,YAAqB,IAAwB,EAAE,OAAe;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;QADI,SAAI,GAAJ,IAAI,CAAoB;QAE3C,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,UAAU,IAAI,CAAC,KAAc;IACjC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,KAA2B;IACrE,MAAM,IAAI,GAAG,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAE,KAAmC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC;IAC3I,IAAI,KAAK,YAAY,KAAK,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;WACpE,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;WACvD,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;WAC3J,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;WACjD,4BAA4B,CAAC,oCAAoC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QACpF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,oCAAoC,EAAE,EAAE,CAAC;IAC3E,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,IAAI,IAAI,KAAK,wBAAwB,CAAC,IAAI,IAAI,4BAA4B,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAClH,MAAM,KAAK,GAAG,4BAA4B,CAAC,IAAiD,CAAC,CAAC;QAC9F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC;IACrG,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,wBAAwB,EAAE,EAAE,CAAC;AAC/D,CAAC"}
|
|
@@ -17,7 +17,8 @@ export interface SecureInstallRequest {
|
|
|
17
17
|
target: string;
|
|
18
18
|
targetDev: string;
|
|
19
19
|
targetIno: string;
|
|
20
|
-
operation: "create" | "verify";
|
|
20
|
+
operation: "create" | "verify" | "setup";
|
|
21
|
+
segments?: string[];
|
|
21
22
|
dryRun: boolean;
|
|
22
23
|
contentBase64?: string;
|
|
23
24
|
expectedDigest?: string;
|
|
@@ -26,3 +27,21 @@ export interface SecureInstallRequest {
|
|
|
26
27
|
export declare function secureInstallDriverFile(request: SecureInstallRequest): Promise<void>;
|
|
27
28
|
export declare function createDriverSkillInstaller(overrides?: Partial<DriverSkillInstallerDependencies>): (input: InstallDriverSkillInput) => Promise<InstallDriverSkillResult>;
|
|
28
29
|
export declare const installDriverSkill: (input: InstallDriverSkillInput) => Promise<InstallDriverSkillResult>;
|
|
30
|
+
export interface DriverSkillStatus {
|
|
31
|
+
agent: DriverAgent;
|
|
32
|
+
target: string;
|
|
33
|
+
status: "missing" | "current" | "outdated" | "conflict";
|
|
34
|
+
expectedVersion: number;
|
|
35
|
+
installedVersion?: number;
|
|
36
|
+
hostLoaded: "unknown";
|
|
37
|
+
installationSupported: boolean;
|
|
38
|
+
nextSteps: string[];
|
|
39
|
+
}
|
|
40
|
+
/** Disk inspection only: the CLI cannot observe the host's loaded skill catalog. */
|
|
41
|
+
export declare function inspectDriverSkill(input: Omit<InstallDriverSkillInput, "dryRun">): Promise<DriverSkillStatus>;
|
|
42
|
+
export declare function createDriverSkillSetup(overrides?: Partial<DriverSkillInstallerDependencies>): (input: InstallDriverSkillInput) => Promise<DriverSkillStatus & {
|
|
43
|
+
dryRun: boolean;
|
|
44
|
+
}>;
|
|
45
|
+
export declare const setupDriverSkill: (input: InstallDriverSkillInput) => Promise<DriverSkillStatus & {
|
|
46
|
+
dryRun: boolean;
|
|
47
|
+
}>;
|
|
@@ -8,13 +8,17 @@ import { claudeDriverTarget } from "./claude.js";
|
|
|
8
8
|
import { codexDriverTarget } from "./codex.js";
|
|
9
9
|
import { cursorDriverTarget } from "./cursor.js";
|
|
10
10
|
import { genericDriverTarget } from "./generic.js";
|
|
11
|
-
const currentDriverVersion =
|
|
11
|
+
const currentDriverVersion = 15;
|
|
12
12
|
const maximumDriverBytes = 1048576n;
|
|
13
|
-
const
|
|
13
|
+
const legacyDriverDescription = "使用 WSSpecKit 驱动软件交付 Workflow;新任务、已有任务或用户明确要求时调用。";
|
|
14
|
+
const driverDescriptionV14 = "在已初始化 WSSpecKit 的项目中实现功能、修复错误或交付文档,继续已有 Work Item,或用户明确要求使用 WSSpecKit 时调用。";
|
|
15
|
+
const driverDescription = "在已初始化 WSSpecKit 项目中实现功能、修复错误、交付文档、继续已有 Work Item,或用户明确要求使用 WSSpecKit 记录只读评估时调用。";
|
|
14
16
|
const driverFrontMatterKeys = ["description", "name", "wsspeckit-driver-content-digest", "wsspeckit-driver-version"];
|
|
15
17
|
// v1 的中文指导曾在未提升版本号时更新,因此两个历史摘要都必须显式登记。
|
|
16
18
|
const canonicalDriverDigests = {
|
|
17
19
|
codex: {
|
|
20
|
+
15: ["sha256:4d364f53e0c586a79b818b3c50ebf738361a193cc6478f7b0f47c0284675d420"],
|
|
21
|
+
14: ["sha256:ebb2d1bb583dcc32468952b766bf09daca00295fe64fa52dd3f6d57bba8f4210"],
|
|
18
22
|
13: ["sha256:c7016f1e819af357d9135bb671fabd9b38606730cc93506c3e8c324e2e2bccbc"],
|
|
19
23
|
1: [
|
|
20
24
|
"sha256:8804ee37451e7740a488c14291d048b57a21bdd7e2efb1b1beb70a46940030e3",
|
|
@@ -33,6 +37,8 @@ const canonicalDriverDigests = {
|
|
|
33
37
|
11: ["sha256:3d2335676195672913c280663db65fc91bf8e141f3d69549a033678e55ee9383"],
|
|
34
38
|
},
|
|
35
39
|
claude: {
|
|
40
|
+
15: ["sha256:982941fb0282da31e2a440022cdc92bd5ed495287ef4a83b2ee6e34b32ab0509"],
|
|
41
|
+
14: ["sha256:dd2015258aad398d94adc1acd22afaef81b2a3681db029328cb7775f2ff730e6"],
|
|
36
42
|
13: ["sha256:855e464ec86d5b26bab5e649da6cca8eb15418cfe2b72778e0af69dd608260b5"],
|
|
37
43
|
1: [
|
|
38
44
|
"sha256:3a592093e530e6e65c46d3d0cbde567fc4674135b250b0bd807e44dcb8ff8fb7",
|
|
@@ -51,6 +57,8 @@ const canonicalDriverDigests = {
|
|
|
51
57
|
11: ["sha256:c030ff3dc4958af5886149b48a3fbb7f030f7f9015845602be897fd906df6f88"],
|
|
52
58
|
},
|
|
53
59
|
cursor: {
|
|
60
|
+
15: ["sha256:8c2db8930e01301a31c5425af6a267f779bade345e7db135a540ac95bd2ac43d"],
|
|
61
|
+
14: ["sha256:92f9c8c267fa722bbb28b92478cf15266650c48a600de423862d2eb0889603cd"],
|
|
54
62
|
13: ["sha256:b69be5618ff95a936e289cdbe88e292b208ae09aed5fb95740acf97415e2b7ad"],
|
|
55
63
|
1: [
|
|
56
64
|
"sha256:d74438d605600c54633d2262a9558163a3f0d3a5c664983e4a20d4f84708b392",
|
|
@@ -69,6 +77,8 @@ const canonicalDriverDigests = {
|
|
|
69
77
|
11: ["sha256:6646b72622b63e91b2bf7ca575412ae9eeb969c492645cd7ba327b9e00c7049f"],
|
|
70
78
|
},
|
|
71
79
|
generic: {
|
|
80
|
+
15: ["sha256:3e0fbe06c81de83648dd6bdb3db0a50156974bbae14802d5bc25c00fdd05858a"],
|
|
81
|
+
14: ["sha256:5682bba5ea6ded239fc59b6156bdba42cabd10afb2c1408811fa7c34d0cb401f"],
|
|
72
82
|
13: ["sha256:d5acf16f2f8d9981578646879c5b451eaee0f7ada8dca384066ebfda1d59aef3"],
|
|
73
83
|
1: [
|
|
74
84
|
"sha256:a2aeea6a8e14df5fb5477d5ec37eee0a7666f10976e80ac92a8087d1484b94c5",
|
|
@@ -164,6 +174,8 @@ function contract(agent) {
|
|
|
164
174
|
version: 1,
|
|
165
175
|
workflowSelection: {
|
|
166
176
|
feature: "builtin://workflows/feature-delivery",
|
|
177
|
+
fix: "builtin://workflows/bugfix-delivery",
|
|
178
|
+
assessment: "builtin://workflows/assessment",
|
|
167
179
|
documentation: "builtin://workflows/documentation-delivery",
|
|
168
180
|
},
|
|
169
181
|
entrypoints: { new: "start", recovery: "inspect" },
|
|
@@ -244,9 +256,30 @@ function body(agent) {
|
|
|
244
256
|
return [
|
|
245
257
|
"# WSSpecKit Driver",
|
|
246
258
|
"",
|
|
259
|
+
"## 何时接入",
|
|
260
|
+
"",
|
|
261
|
+
"用户要求实现功能、修复错误或新增/修改文档,且项目已初始化 WSSpecKit 时,使用本 Driver 推进交付。用户明确要求使用 WSSpecKit 时也读取本指引;项目未初始化则先报告接入状态,不把本次普通请求当作初始化授权。",
|
|
262
|
+
"",
|
|
263
|
+
"纯咨询、解释、只读 review 或评估直接回答,不创建 Work Item。用户明确要求用 WSSpecKit 做只读评估时,选择 `builtin://workflows/assessment`,只记录评估 Artifact 和控制面信息,不创建业务代码工作树或执行提交/发布。",
|
|
264
|
+
"",
|
|
265
|
+
"会话中已知相关 Work Item 时,先走恢复入口;只有明确独立的新需求才 start。用户说‘继续’但没有明确关联任务时,先从当前会话确认 Work Item;存在多个候选或无法确定时询问,不凭任务目录名猜测 ID。",
|
|
266
|
+
"",
|
|
247
267
|
"## Workflow 决策",
|
|
248
268
|
"",
|
|
249
|
-
"
|
|
269
|
+
"对于新交付请求,仅当需求明确为新增或修改文档且不涉及代码时选择 `builtin://workflows/documentation-delivery`;功能实现选择 `builtin://workflows/feature-delivery`,错误修复选择 `builtin://workflows/bugfix-delivery`。用户可以在创建前覆盖选择,但创建时必须传递明确的 `workflowRef`;Work Item 创建后不得自动切换 Workflow。",
|
|
270
|
+
"",
|
|
271
|
+
"## 日常入口(优先)",
|
|
272
|
+
"",
|
|
273
|
+
"新任务可以用 `wspec start --intent <feature|fix|assessment|docs> --prompt \"<用户需求>\"`,也可保留显式 --workflow;两者不同时使用。普通咨询不创建任务。",
|
|
274
|
+
"已有任务使用 `wspec continue <workItemId> --actor <actor>`,将完整 JSON stdout 保存到工作区外临时目录的 <packagePath>。相同 actor 的有效执行包会原样恢复,不重领 lease;guidance 返回时按 view.nextAction 处理,不将等待审批当作批准。",
|
|
275
|
+
"每次收到 execute(包括 complete 返回的下一包),先读取 workPackage.skills 对应的完整 SKILL.md,按其中的产物格式执行,不能只看 description。builtin://skills/<id> 的正文位于当前 wspec 安装包的 resources/skills/<id>/SKILL.md:从实际使用的 CLI 文件解析 realpath,dist/cli/main.js 上两级为包根;不要读全局旧包或凭 URI 猜文件。其他来源按已锁定的项目/Package/Global 绑定解析,来源不明则报告阻塞。",
|
|
276
|
+
"完成当前包时,在原 artifactAuthoring.draftRoots 授权目录写好输出文件,再在同一工作区外临时目录写 <inputPath> JSON:outputs 是 [{outputId,contentFile}],result 是 SubmitResult 中除 artifacts 外的字段。执行 `wspec complete <workItemId> --actor <actor> --package <packagePath> --input <inputPath>`。无需手填 step、attempt、lease 或 ArtifactRef;系统已提供的 requirement-source 无需另写,verify-red/verify-green 的 outputs 为空,可信证据由引擎生成。",
|
|
277
|
+
'输入模板:`{"outputs":[],"result":{"version":1,"status":"completed","summary":"填写当前步骤的实际结果","modifiedFiles":[],"commands":[],"evidence":[],"externalWrites":[],"remainingRisks":[]}}`',
|
|
278
|
+
"保留模板全部字段,按实际执行填写,不能虚报完成或将已知风险清空。有 Agent 输出时按 requiredOutputs 添加 outputs 映射;contentFile 必须为相对原执行工作目录的草稿路径,不传绝对路径。不要添加 checks 等未知字段。schema 错误时核对完整模板或正式 Schema,不能靠逐条补字段反复试错。",
|
|
279
|
+
'modifiedFiles 只列实际业务工作区改动的相对路径,不包括引擎管理的 drafts、Artifact 或工作区外临时 JSON;只读步骤通常为 []。commands、evidence、externalWrites 的每项必须是对象,不能填字符串。实际运行命令可写 {"argv":["node","--test"],"exitCode":0};证据可写 {"kind":"observation","summary":"实际观察"},未执行或未知的字段不要伪造。remainingRisks 可填非空文字或风险对象,例如 {"level":"low","summary":"范围有限"};按实际风险填写。',
|
|
280
|
+
"收到 WSSPEC_FILESYSTEM_PERMISSION_DENIED 时停止重复 start,说明 Host 沙箱或目录权限阻止控制面访问;由用户/Host 为当前仓库提供所需权限后按已有任务状态恢复。不修改 Host 安全配置,不以换 workflow 绕过权限。",
|
|
281
|
+
"complete 返回 execute 时已领取下一包,保存新 stdout 并继续;不要再次 acquire。重试必须使用同一原包和相同内容。查看进度使用 `wspec status <workItemId>`。过期授权、外部审批与冲突仍遵守恢复合同,不自动批准或换任务。",
|
|
282
|
+
"下面的低层合同保留给兼容调用与精确恢复。高层 complete 已完成 author/submit 时,不重复执行低层提交。",
|
|
250
283
|
"",
|
|
251
284
|
"## 新任务与恢复",
|
|
252
285
|
"",
|
|
@@ -380,10 +413,10 @@ function ownedSkillVersion(content, agent) {
|
|
|
380
413
|
const version = source["wsspeckit-driver-version"];
|
|
381
414
|
const digest = source["wsspeckit-driver-content-digest"];
|
|
382
415
|
const owned = source.name === "wsspeckit-driver"
|
|
383
|
-
&& source.description === driverDescription
|
|
416
|
+
&& source.description === (version === 15 ? driverDescription : version === 14 ? driverDescriptionV14 : legacyDriverDescription)
|
|
384
417
|
&& keys.length === driverFrontMatterKeys.length
|
|
385
418
|
&& keys.every((key, index) => key === driverFrontMatterKeys[index])
|
|
386
|
-
&& (version === 1 || version === 2 || version === 3 || version === 4 || version === 5 || version === 6 || version === 7 || version === 8 || version === 9 || version === 10 || version === 11 || version === 12 || version === 13)
|
|
419
|
+
&& (version === 1 || version === 2 || version === 3 || version === 4 || version === 5 || version === 6 || version === 7 || version === 8 || version === 9 || version === 10 || version === 11 || version === 12 || version === 13 || version === 14 || version === 15)
|
|
387
420
|
&& typeof digest === "string"
|
|
388
421
|
&& digest === sha256(match[2])
|
|
389
422
|
&& canonicalDriverDigests[agent][version].includes(digest);
|
|
@@ -543,63 +576,118 @@ def create(directory, content, dry_run):
|
|
|
543
576
|
pass
|
|
544
577
|
raise
|
|
545
578
|
|
|
579
|
+
def prepare_directories(target, expected_dev, expected_ino, segments, dry_run):
|
|
580
|
+
if not isinstance(segments, list) or not segments:
|
|
581
|
+
fail()
|
|
582
|
+
if any(not isinstance(part, str) or not part or part in (".", "..") or "/" in part or "\x00" in part for part in segments):
|
|
583
|
+
fail()
|
|
584
|
+
current = open_target(target, expected_dev, expected_ino)
|
|
585
|
+
current_path = target
|
|
586
|
+
try:
|
|
587
|
+
for part in segments:
|
|
588
|
+
pinned = os.fstat(current)
|
|
589
|
+
confirmed = open_target(current_path, str(pinned.st_dev), str(pinned.st_ino))
|
|
590
|
+
os.close(confirmed)
|
|
591
|
+
try:
|
|
592
|
+
before = os.stat(part, dir_fd=current, follow_symlinks=False)
|
|
593
|
+
except FileNotFoundError:
|
|
594
|
+
if dry_run:
|
|
595
|
+
return
|
|
596
|
+
try:
|
|
597
|
+
os.mkdir(part, 0o700, dir_fd=current)
|
|
598
|
+
os.fsync(current)
|
|
599
|
+
except FileExistsError:
|
|
600
|
+
pass
|
|
601
|
+
before = os.stat(part, dir_fd=current, follow_symlinks=False)
|
|
602
|
+
if not stat.S_ISDIR(before.st_mode):
|
|
603
|
+
fail()
|
|
604
|
+
child = os.open(part, os.O_RDONLY | os.O_DIRECTORY | os.O_NOFOLLOW, dir_fd=current)
|
|
605
|
+
after = os.fstat(child)
|
|
606
|
+
if (before.st_dev, before.st_ino) != (after.st_dev, after.st_ino):
|
|
607
|
+
os.close(child)
|
|
608
|
+
fail()
|
|
609
|
+
os.close(current)
|
|
610
|
+
current = child
|
|
611
|
+
current_path = os.path.join(current_path, part)
|
|
612
|
+
pinned = os.fstat(current)
|
|
613
|
+
confirmed = open_target(current_path, str(pinned.st_dev), str(pinned.st_ino))
|
|
614
|
+
os.close(confirmed)
|
|
615
|
+
directory = current
|
|
616
|
+
current = None
|
|
617
|
+
return directory
|
|
618
|
+
finally:
|
|
619
|
+
if current is not None:
|
|
620
|
+
os.close(current)
|
|
621
|
+
|
|
546
622
|
try:
|
|
547
623
|
source = json.load(sys.stdin)
|
|
548
|
-
if not isinstance(source, dict) or set(source) - {"target", "targetDev", "targetIno", "operation", "dryRun", "contentBase64", "expectedDigest", "expectedSize"}:
|
|
624
|
+
if not isinstance(source, dict) or set(source) - {"target", "targetDev", "targetIno", "operation", "dryRun", "contentBase64", "expectedDigest", "expectedSize", "segments"}:
|
|
549
625
|
fail()
|
|
550
626
|
target = request_value(source, "target", str)
|
|
551
627
|
target_dev = request_value(source, "targetDev", str)
|
|
552
628
|
target_ino = request_value(source, "targetIno", str)
|
|
553
629
|
operation = request_value(source, "operation", str)
|
|
554
630
|
dry_run = request_value(source, "dryRun", bool)
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
631
|
+
if operation == "setup":
|
|
632
|
+
segments = request_value(source, "segments", list)
|
|
633
|
+
directory = prepare_directories(target, target_dev, target_ino, segments, dry_run)
|
|
634
|
+
if directory is not None:
|
|
635
|
+
target = os.path.join(target, *segments)
|
|
636
|
+
pinned = os.fstat(directory)
|
|
637
|
+
target_dev, target_ino = str(pinned.st_dev), str(pinned.st_ino)
|
|
638
|
+
operation = "create"
|
|
639
|
+
else:
|
|
640
|
+
directory = open_target(target, target_dev, target_ino)
|
|
641
|
+
if directory is None:
|
|
642
|
+
result(True)
|
|
643
|
+
else:
|
|
644
|
+
created = False
|
|
645
|
+
expected_digest = None
|
|
646
|
+
expected_size = None
|
|
647
|
+
created_identity = None
|
|
648
|
+
try:
|
|
649
|
+
if operation == "create":
|
|
650
|
+
encoded = request_value(source, "contentBase64", str)
|
|
651
|
+
content = base64.b64decode(encoded, validate=True)
|
|
652
|
+
if len(content) > 1048576:
|
|
653
|
+
fail()
|
|
654
|
+
expected_digest = hashlib.sha256(content).hexdigest()
|
|
655
|
+
expected_size = len(content)
|
|
656
|
+
created = create(directory, content, dry_run)
|
|
657
|
+
if created:
|
|
658
|
+
created_stat = os.stat("SKILL.md", dir_fd=directory, follow_symlinks=False)
|
|
659
|
+
if not stat.S_ISREG(created_stat.st_mode) or created_stat.st_nlink != 1:
|
|
660
|
+
fail()
|
|
661
|
+
created_identity = (created_stat.st_dev, created_stat.st_ino)
|
|
662
|
+
verify(directory, expected_digest, expected_size)
|
|
663
|
+
elif operation == "verify":
|
|
664
|
+
expected_digest = request_value(source, "expectedDigest", str)
|
|
665
|
+
expected_size = request_value(source, "expectedSize", int)
|
|
666
|
+
if dry_run not in (True, False) or len(expected_digest) != 64 or expected_size < 0 or expected_size > 1048576:
|
|
572
667
|
fail()
|
|
573
|
-
created_identity = (created_stat.st_dev, created_stat.st_ino)
|
|
574
668
|
verify(directory, expected_digest, expected_size)
|
|
575
|
-
|
|
576
|
-
expected_digest = request_value(source, "expectedDigest", str)
|
|
577
|
-
expected_size = request_value(source, "expectedSize", int)
|
|
578
|
-
if dry_run not in (True, False) or len(expected_digest) != 64 or expected_size < 0 or expected_size > 1048576:
|
|
669
|
+
else:
|
|
579
670
|
fail()
|
|
580
|
-
|
|
581
|
-
else:
|
|
582
|
-
fail()
|
|
583
|
-
confirmed = open_target(target, target_dev, target_ino)
|
|
584
|
-
try:
|
|
585
|
-
if operation == "verify" or created:
|
|
586
|
-
verify(confirmed, expected_digest, expected_size)
|
|
587
|
-
finally:
|
|
588
|
-
os.close(confirmed)
|
|
589
|
-
except BaseException:
|
|
590
|
-
if created_identity is not None:
|
|
671
|
+
confirmed = open_target(target, target_dev, target_ino)
|
|
591
672
|
try:
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
673
|
+
if operation == "verify" or created:
|
|
674
|
+
verify(confirmed, expected_digest, expected_size)
|
|
675
|
+
finally:
|
|
676
|
+
os.close(confirmed)
|
|
677
|
+
except BaseException:
|
|
678
|
+
if created_identity is not None:
|
|
679
|
+
try:
|
|
680
|
+
current = os.stat("SKILL.md", dir_fd=directory, follow_symlinks=False)
|
|
681
|
+
if (stat.S_ISREG(current.st_mode) and current.st_nlink == 1
|
|
682
|
+
and (current.st_dev, current.st_ino) == created_identity):
|
|
683
|
+
os.unlink("SKILL.md", dir_fd=directory)
|
|
684
|
+
os.fsync(directory)
|
|
685
|
+
except BaseException:
|
|
686
|
+
pass
|
|
687
|
+
raise
|
|
688
|
+
finally:
|
|
689
|
+
os.close(directory)
|
|
690
|
+
result(True)
|
|
603
691
|
except BaseException:
|
|
604
692
|
result(False, "conflict")
|
|
605
693
|
`;
|
|
@@ -674,4 +762,81 @@ export function createDriverSkillInstaller(overrides = {}) {
|
|
|
674
762
|
};
|
|
675
763
|
}
|
|
676
764
|
export const installDriverSkill = createDriverSkillInstaller();
|
|
765
|
+
/** Disk inspection only: the CLI cannot observe the host's loaded skill catalog. */
|
|
766
|
+
export async function inspectDriverSkill(input) {
|
|
767
|
+
const target = await targetFor(input);
|
|
768
|
+
let status = "missing";
|
|
769
|
+
let installedVersion;
|
|
770
|
+
try {
|
|
771
|
+
await assertCanonicalDirectoryChain(target);
|
|
772
|
+
const owned = await assertOwned(target, input.agent);
|
|
773
|
+
if (owned !== undefined) {
|
|
774
|
+
installedVersion = owned.version;
|
|
775
|
+
status = owned.version === currentDriverVersion ? "current" : "outdated";
|
|
776
|
+
}
|
|
777
|
+
}
|
|
778
|
+
catch (error) {
|
|
779
|
+
if (!isMissing(error)) {
|
|
780
|
+
if (!(error instanceof CliAdapterError) || error.code !== "WSSPEC_SKILL_INSTALL_CONFLICT")
|
|
781
|
+
throw error;
|
|
782
|
+
status = "conflict";
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
const nextSteps = status === "missing"
|
|
786
|
+
? ["运行 wspec agent setup --client " + input.agent + (input.agent === "generic" ? " --target <安装目录>" : "") + "。"]
|
|
787
|
+
: status === "outdated"
|
|
788
|
+
? ["已安装历史 Driver;确认并移走旧 SKILL.md 后重新安装,不会自动覆盖。"]
|
|
789
|
+
: status === "conflict"
|
|
790
|
+
? ["目标路径或 SKILL.md 不符合安装合同;检查自定义内容、链接或文件类型,保留原文件后处理冲突。"]
|
|
791
|
+
: ["磁盘 Driver 与当前 CLI 匹配;请在 Host 的技能列表确认 wsspeckit-driver,未出现时重新加载技能或开启新会话。"];
|
|
792
|
+
if (process.platform !== "darwin")
|
|
793
|
+
nextSteps.push("安全安装器当前仅支持 macOS;本次只执行磁盘检查。");
|
|
794
|
+
if (status !== "current")
|
|
795
|
+
nextSteps.push("安装后需要 Host 重新加载;本命令无法证明当前会话已加载 Driver。");
|
|
796
|
+
return { agent: input.agent, target, status, expectedVersion: currentDriverVersion,
|
|
797
|
+
...(installedVersion === undefined ? {} : { installedVersion }), hostLoaded: "unknown",
|
|
798
|
+
installationSupported: process.platform === "darwin", nextSteps };
|
|
799
|
+
}
|
|
800
|
+
export function createDriverSkillSetup(overrides = {}) {
|
|
801
|
+
const dependencies = { ...defaultDependencies, ...overrides };
|
|
802
|
+
const install = createDriverSkillInstaller(dependencies);
|
|
803
|
+
return async (input) => {
|
|
804
|
+
const before = await inspectDriverSkill(input);
|
|
805
|
+
let installed = false;
|
|
806
|
+
if (before.status === "conflict")
|
|
807
|
+
conflict("Driver 接入目标存在冲突,请保留原文件并处理后重试。");
|
|
808
|
+
if (before.status === "outdated")
|
|
809
|
+
conflict("Driver 为旧版本,请确认并移走旧 SKILL.md 后重新 setup。");
|
|
810
|
+
if (before.status === "missing") {
|
|
811
|
+
let ancestor = before.target;
|
|
812
|
+
let info;
|
|
813
|
+
for (;;) {
|
|
814
|
+
try {
|
|
815
|
+
info = await assertCanonicalDirectoryChain(ancestor);
|
|
816
|
+
break;
|
|
817
|
+
}
|
|
818
|
+
catch (error) {
|
|
819
|
+
if (!isMissing(error) || path.dirname(ancestor) === ancestor)
|
|
820
|
+
throw error;
|
|
821
|
+
ancestor = path.dirname(ancestor);
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
const segments = path.relative(ancestor, before.target).split(path.sep).filter(Boolean);
|
|
825
|
+
if (segments.length > 0) {
|
|
826
|
+
await dependencies.secureInstall({ target: ancestor, targetDev: info.dev.toString(), targetIno: info.ino.toString(),
|
|
827
|
+
operation: "setup", segments, dryRun: input.dryRun === true, contentBase64: Buffer.from(skill(input.agent)).toString("base64") });
|
|
828
|
+
installed = true;
|
|
829
|
+
if (input.dryRun === true)
|
|
830
|
+
return { ...before, dryRun: true };
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
if (!installed)
|
|
834
|
+
await install(input);
|
|
835
|
+
const result = await inspectDriverSkill(input);
|
|
836
|
+
if (input.dryRun !== true && result.status !== "current")
|
|
837
|
+
conflict("Driver 安装后复核失败,请重新检查接入状态。");
|
|
838
|
+
return { ...result, dryRun: input.dryRun === true };
|
|
839
|
+
};
|
|
840
|
+
}
|
|
841
|
+
export const setupDriverSkill = createDriverSkillSetup();
|
|
677
842
|
//# sourceMappingURL=install.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/adapters/skills/install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/adapters/skills/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface ProjectGuidanceDependencies {
|
|
2
|
+
randomUUID(): string;
|
|
3
|
+
}
|
|
4
|
+
export interface ProjectGuidanceInput {
|
|
5
|
+
root: string;
|
|
6
|
+
operation: "setup" | "remove";
|
|
7
|
+
dryRun?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface ProjectGuidanceResult {
|
|
10
|
+
root: string;
|
|
11
|
+
target: string;
|
|
12
|
+
operation: "setup" | "remove";
|
|
13
|
+
dryRun: boolean;
|
|
14
|
+
changed: boolean;
|
|
15
|
+
recoveryFile?: string;
|
|
16
|
+
}
|
|
17
|
+
/** Pure byte-preserving edit outside the registered managed block. */
|
|
18
|
+
export declare function transformProjectGuidance(source: string, operation: "setup" | "remove"): string;
|
|
19
|
+
/** Caller enforces Git/init policy. This function touches only root/AGENTS.md. */
|
|
20
|
+
export declare function manageProjectGuidance(input: ProjectGuidanceInput, dependencies?: ProjectGuidanceDependencies): Promise<ProjectGuidanceResult>;
|