@baoanaz/cviauto 0.6.5 → 0.6.8
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/dist/templates/claude/agents/trellis-check.md +61 -61
- package/dist/templates/claude/agents/trellis-implement.md +58 -58
- package/dist/templates/claude/agents/trellis-research.md +67 -67
- package/dist/templates/codebuddy/agents/trellis-check.md +61 -61
- package/dist/templates/codebuddy/agents/trellis-implement.md +58 -58
- package/dist/templates/codebuddy/agents/trellis-research.md +67 -67
- package/dist/templates/codex/agents/trellis-check.toml +99 -30
- package/dist/templates/codex/agents/trellis-implement.toml +99 -16
- package/dist/templates/codex/agents/trellis-research.toml +116 -39
- package/dist/templates/common/bundled-skills/trellis-channel/SKILL.md +41 -41
- package/dist/templates/common/bundled-skills/trellis-channel/references/command-reference.md +194 -261
- package/dist/templates/common/bundled-skills/trellis-channel/references/forum.md +59 -93
- package/dist/templates/common/bundled-skills/trellis-channel/references/progress-debugging.md +72 -110
- package/dist/templates/common/bundled-skills/trellis-channel/references/workers.md +120 -171
- package/dist/templates/common/bundled-skills/trellis-channel/references/workflows.md +35 -43
- package/dist/templates/common/bundled-skills/trellis-meta/SKILL.md +78 -78
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/add-project-local-conventions.md +24 -24
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-agents.md +29 -29
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-context-loading.md +46 -46
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-hooks.md +28 -28
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-skills-or-commands.md +66 -66
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-spec-structure.md +32 -32
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-task-lifecycle.md +40 -40
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-workflow.md +40 -40
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/overview.md +44 -44
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/bundled-skills.md +79 -79
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/context-injection.md +37 -37
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/generated-files.md +43 -43
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/multi-agent-channel.md +47 -47
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/overview.md +40 -40
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/spec-system.md +33 -33
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/task-system.md +61 -61
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/workflow.md +41 -41
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/workspace-memory.md +31 -31
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/agents.md +40 -40
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/hooks-and-settings.md +40 -41
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/overview.md +36 -36
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/platform-map.md +36 -38
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/skills-and-commands.md +52 -52
- package/dist/templates/common/bundled-skills/trellis-session-insight/SKILL.md +45 -45
- package/dist/templates/common/bundled-skills/trellis-session-insight/references/cli-quick-reference.md +41 -42
- package/dist/templates/common/bundled-skills/trellis-session-insight/references/triggering-patterns.md +28 -28
- package/dist/templates/common/bundled-skills/trellis-spec-bootstrap/SKILL.md +30 -30
- package/dist/templates/common/bundled-skills/trellis-spec-bootstrap/references/mcp-setup.md +34 -34
- package/dist/templates/common/bundled-skills/trellis-spec-bootstrap/references/repository-analysis.md +30 -30
- package/dist/templates/common/bundled-skills/trellis-spec-bootstrap/references/spec-task-planning.md +39 -39
- package/dist/templates/common/bundled-skills/trellis-spec-bootstrap/references/spec-writing.md +40 -40
- package/dist/templates/common/commands/continue.md +28 -29
- package/dist/templates/common/commands/finish-work.md +32 -40
- package/dist/templates/cursor/agents/trellis-check.md +61 -61
- package/dist/templates/cursor/agents/trellis-implement.md +58 -58
- package/dist/templates/cursor/agents/trellis-research.md +67 -67
- package/dist/templates/droid/droids/trellis-check.md +64 -56
- package/dist/templates/droid/droids/trellis-implement.md +61 -53
- package/dist/templates/droid/droids/trellis-research.md +67 -67
- package/dist/templates/gemini/agents/trellis-check.md +64 -57
- package/dist/templates/gemini/agents/trellis-implement.md +61 -54
- package/dist/templates/gemini/agents/trellis-research.md +67 -67
- package/dist/templates/kiro/agents/trellis-check.json +15 -3
- package/dist/templates/kiro/agents/trellis-implement.json +15 -3
- package/dist/templates/kiro/agents/trellis-research.json +10 -2
- package/dist/templates/kiro/agents/trellis.json +19 -5
- package/dist/templates/opencode/agents/trellis-check.md +61 -61
- package/dist/templates/opencode/agents/trellis-implement.md +58 -59
- package/dist/templates/opencode/agents/trellis-research.md +67 -67
- package/dist/templates/pi/agents/trellis-check.md +99 -21
- package/dist/templates/pi/agents/trellis-implement.md +90 -22
- package/dist/templates/pi/agents/trellis-research.md +124 -12
- package/dist/templates/qoder/agents/trellis-check.md +64 -57
- package/dist/templates/qoder/agents/trellis-implement.md +61 -54
- package/dist/templates/qoder/agents/trellis-research.md +67 -67
- package/dist/templates/trae/agents/trellis-check.md +64 -57
- package/dist/templates/trae/agents/trellis-implement.md +61 -54
- package/dist/templates/trae/agents/trellis-research.md +67 -67
- package/dist/templates/trellis/agents/check.md +29 -29
- package/dist/templates/trellis/agents/implement.md +30 -30
- package/dist/templates/trellis/workflow.md +349 -356
- package/dist/templates/zcode/agents/trellis-check.md +64 -51
- package/dist/templates/zcode/agents/trellis-implement.md +61 -53
- package/package.json +2 -2
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 修改本地 Skills、Commands、Prompts 和 Workflows
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
当用户想更改 AI 入口点、自动触发规则或显式命令行为时,编辑本地平台目录中的 skills、commands、prompts 或 workflows。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
在编辑之前,先对你即将操作的 skill 进行分类:
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
7
|
+
- **捆绑的上游 skill** — `cviauto-meta`、`cviauto-spec-bootstrap`、`cviauto-session-insight`、`cviauto-channel`。其事实来源位于 Cviauto CLI 仓库的 `packages/cli/src/templates/common/bundled-skills/<name>/` 中;在 `cviauto init` / `cviauto update` 时由 `getBundledSkillTemplates()` 自动分发到每个平台的 skill 根目录。此处的本地编辑会被 `.cviauto/.template-hashes.json` 追踪,并在下次更新时被标记。
|
|
8
|
+
- **项目本地 skill** — 位于 `.{platform}/skills/` 下的其他所有内容。归用户所有,不会被 `cviauto update` 刷新。
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
本文余下部分使用"skill"代指本地文件;两种情况下覆盖和冲突规则不同。
|
|
11
11
|
|
|
12
|
-
##
|
|
12
|
+
## 先阅读这些文件
|
|
13
13
|
|
|
14
14
|
1. `.cviauto/workflow.md`
|
|
15
|
-
2.
|
|
16
|
-
3.
|
|
17
|
-
4.
|
|
18
|
-
5. `.cviauto/.template-hashes.json` —
|
|
15
|
+
2. 目标平台的 skill/command/prompt/workflow 目录
|
|
16
|
+
3. 相关的 agent 或 hook 文件
|
|
17
|
+
4. 确认 `.cviauto/spec/` 中是否已有项目规则
|
|
18
|
+
5. `.cviauto/.template-hashes.json` — 确认你要编辑的 skill 是上游所有的(有对应条目)还是项目本地的(无对应条目)
|
|
19
19
|
|
|
20
|
-
##
|
|
20
|
+
## 选择哪种入口类型
|
|
21
21
|
|
|
22
|
-
|
|
|
22
|
+
| 目标 | 推荐做法 |
|
|
23
23
|
| --- | --- |
|
|
24
|
-
| AI
|
|
25
|
-
|
|
|
26
|
-
|
|
|
27
|
-
|
|
|
28
|
-
|
|
|
29
|
-
|
|
|
24
|
+
| AI 应自动知晓某项能力 | 添加或修改 skill。 |
|
|
25
|
+
| 用户希望通过命令手动触发 | 添加或修改 command/prompt/workflow。 |
|
|
26
|
+
| 团队项目约定 | 优先使用 `.cviauto/spec/` 或项目本地 skill——切勿使用捆绑的 skill 目录。 |
|
|
27
|
+
| 为用户自己的项目微调捆绑 skill(`cviauto-meta` 等) | 创建一个名称不同的项目本地兄弟 skill 来覆盖意图,或编辑 `.cviauto/spec/`。在捆绑 skill 目录内的编辑仅在下一次 `cviauto update` 之前有效,且每次都需要选择"保留"。 |
|
|
28
|
+
| 将更改回馈给上游 | 在 Cviauto CLI 仓库中编辑 `packages/cli/src/templates/common/bundled-skills/<name>/`,而非部署后的副本。 |
|
|
29
|
+
| 更改 Cviauto 流程语义 | 同步 `.cviauto/workflow.md`。 |
|
|
30
30
|
|
|
31
|
-
##
|
|
31
|
+
## 修改 Skill
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
一个 skill 通常结构如下:
|
|
34
34
|
|
|
35
35
|
```text
|
|
36
36
|
<skill-name>/
|
|
@@ -38,86 +38,86 @@ A skill is usually:
|
|
|
38
38
|
└── references/
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
`SKILL.md`
|
|
41
|
+
`SKILL.md` 应简短,负责触发/路由。将长内容放入 `references/`,以便 AI 按需读取。
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
frontmatter 中的 description 应说明何时使用该 skill。示例:
|
|
44
44
|
|
|
45
45
|
```yaml
|
|
46
46
|
description: "Use when customizing this project's deployment workflow and release checklist."
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
不要编写模糊的 description,如 "helpful project skill";它们可能会错误触发。
|
|
50
50
|
|
|
51
|
-
###
|
|
51
|
+
### 捆绑 vs. 项目本地
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
相同的目录结构由两种截然不同的所有权模型使用:
|
|
54
54
|
|
|
55
|
-
|
|
|
55
|
+
| 方面 | 捆绑(`cviauto-meta`、`cviauto-spec-bootstrap`、`cviauto-session-insight`、`cviauto-channel`) | 项目本地 |
|
|
56
56
|
| --- | --- | --- |
|
|
57
|
-
|
|
|
58
|
-
|
|
|
59
|
-
| Hash
|
|
60
|
-
|
|
|
61
|
-
|
|
|
57
|
+
| 事实来源 | Cviauto CLI 仓库中的 `packages/cli/src/templates/common/bundled-skills/<name>/` | 用户项目自身内部 |
|
|
58
|
+
| 分发方式 | 在 `cviauto init` / `cviauto update` 时由 `getBundledSkillTemplates()`(`packages/cli/src/templates/common/index.ts`)自动分发到每个平台 skill 根目录 | 由用户(或其他 skill)创建,永不移动 |
|
|
59
|
+
| Hash 追踪 | 每个文件记录在 `.cviauto/.template-hashes.json` 中;更新时提示冲突 | 不追踪 |
|
|
60
|
+
| 本地编辑 | 允许,但在下次更新时会被标记为"用户已修改" | 自由编辑 |
|
|
61
|
+
| 正确的自定义方式 | 添加一个**新的**、**名称不同**的项目本地 skill 来补充(或替代)捆绑的 skill | 直接编辑文件 |
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
如果目标是"让我的项目 AI 在讨论发布说明时行为不同",答案几乎始终是创建一个项目本地 skill,而不是对 `cviauto-meta/` 动手术。
|
|
64
64
|
|
|
65
|
-
##
|
|
65
|
+
## 修改 Command/Prompt/Workflow
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
显式入口点应说明:
|
|
68
68
|
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
69
|
+
- 用户如何触发它。
|
|
70
|
+
- 需要读取哪些 `.cviauto/` 文件。
|
|
71
|
+
- 需要运行哪些脚本。
|
|
72
|
+
- 完成后如何报告。
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
如果一个 command 仅是重复工作流规则,优先让它引用/读取 `.cviauto/workflow.md`,而不是维护流程的第二份副本。
|
|
75
75
|
|
|
76
|
-
##
|
|
76
|
+
## 常见路径
|
|
77
77
|
|
|
78
|
-
|
|
|
78
|
+
| 平台 | 入口目录 |
|
|
79
79
|
| --- | --- |
|
|
80
|
-
| Claude Code | `.claude/skills
|
|
81
|
-
| Cursor | `.cursor/skills
|
|
82
|
-
| OpenCode | `.opencode/skills
|
|
83
|
-
| Codex | `.agents/skills
|
|
84
|
-
| Gemini CLI | `.agents/skills
|
|
80
|
+
| Claude Code | `.claude/skills/`、`.claude/commands/` |
|
|
81
|
+
| Cursor | `.cursor/skills/`、`.cursor/commands/` |
|
|
82
|
+
| OpenCode | `.opencode/skills/`、`.opencode/commands/` |
|
|
83
|
+
| Codex | `.agents/skills/`、`.codex/skills/` |
|
|
84
|
+
| Gemini CLI | `.agents/skills/`、`.gemini/commands/` |
|
|
85
85
|
| Kiro | `.kiro/skills/` |
|
|
86
|
-
| Qoder | `.qoder/skills
|
|
87
|
-
| CodeBuddy | `.codebuddy/skills
|
|
88
|
-
| GitHub Copilot | `.github/skills
|
|
89
|
-
| Factory Droid | `.factory/skills
|
|
86
|
+
| Qoder | `.qoder/skills/`、`.qoder/commands/` |
|
|
87
|
+
| CodeBuddy | `.codebuddy/skills/`、`.codebuddy/commands/` |
|
|
88
|
+
| GitHub Copilot | `.github/skills/`、`.github/prompts/` |
|
|
89
|
+
| Factory Droid | `.factory/skills/`、`.factory/commands/` |
|
|
90
90
|
| Pi Agent | `.pi/skills/` |
|
|
91
|
-
| Reasonix | `.reasonix/skills
|
|
92
|
-
| ZCode | `.agents/skills
|
|
91
|
+
| Reasonix | `.reasonix/skills/`(无独立 commands 目录;斜杠命令由平台内置) |
|
|
92
|
+
| ZCode | `.agents/skills/`、`.zcode/commands/` |
|
|
93
93
|
| Kilo / Antigravity / Devin | workflows + skills |
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
以上每个目录都是四个捆绑 skill 的部署目标。每个平台在 `cviauto init` 时获得完整副本,并在 `cviauto update` 时刷新;无需手动配置。
|
|
96
96
|
|
|
97
|
-
##
|
|
97
|
+
## 添加项目本地 Skill
|
|
98
98
|
|
|
99
|
-
|
|
99
|
+
如果用户想记录团队私有的自定义内容,创建项目本地 skill——切勿将项目私有内容放入捆绑 skill 目录,因为 `cviauto update` 会覆盖它。
|
|
100
100
|
|
|
101
101
|
```text
|
|
102
|
-
.claude/skills/project-
|
|
102
|
+
.claude/skills/project-cviauto-local/
|
|
103
103
|
└── SKILL.md
|
|
104
104
|
```
|
|
105
105
|
|
|
106
|
-
|
|
106
|
+
对于多平台项目,在每个平台 skill 目录中添加等效版本,或在支持共享层的平台(Codex、Gemini CLI)上使用 `.agents/skills/`。
|
|
107
107
|
|
|
108
|
-
|
|
108
|
+
选择一个**不**与捆绑集合冲突的名称:
|
|
109
109
|
|
|
110
110
|
- `cviauto-meta`
|
|
111
111
|
- `cviauto-spec-bootstrap`
|
|
112
112
|
- `cviauto-session-insight`
|
|
113
113
|
- `cviauto-channel`
|
|
114
114
|
|
|
115
|
-
|
|
115
|
+
重名会导致 `getBundledSkillTemplates()` 在下一次更新时覆盖项目本地副本。常见的约定是使用项目名称作为前缀:`acme-cviauto-deploy`、`acme-cviauto-onboarding`。
|
|
116
116
|
|
|
117
|
-
##
|
|
117
|
+
## 注意事项
|
|
118
118
|
|
|
119
|
-
-
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
-
|
|
123
|
-
-
|
|
119
|
+
- 不要将每个平台的语法混入一个文件中。
|
|
120
|
+
- 不要仅修改一个平台的入口点却声称支持所有平台。
|
|
121
|
+
- 不要将长期工程约定隐藏在 command 中;将其写入 `.cviauto/spec/`。
|
|
122
|
+
- 不要手动编辑任何 `.{platform}/skills/` 目录下的 `cviauto-meta/`、`cviauto-spec-bootstrap/`、`cviauto-session-insight/` 或 `cviauto-channel/` 中的文件并期望修改能持久——它们是捆绑的,会被 `cviauto update` 刷新。要么贡献给上游,要么添加一个补充它们的项目本地 skill。
|
|
123
|
+
- 当 `cviauto update` 报告捆绑 skill 文件存在"已被您修改"的冲突时,仅当你接受手动维护差异时才选择**保留**;否则接受覆盖并将意图作为项目本地 skill 重新实现。
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 修改本地 Spec 结构
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
当用户想更改 AI 遵循的工程约定、添加新的 spec 层或调整 monorepo 包映射时,编辑 `.cviauto/spec/` 和 `.cviauto/config.yaml`。
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 先阅读这些文件
|
|
6
6
|
|
|
7
7
|
1. `.cviauto/config.yaml`
|
|
8
8
|
2. `.cviauto/spec/`
|
|
9
|
-
3. `.cviauto/workflow.md`
|
|
10
|
-
4.
|
|
9
|
+
3. `.cviauto/workflow.md` 中的规划产物指导和 Phase 3.3
|
|
10
|
+
4. 当前 task 的 `implement.jsonl` / `check.jsonl`
|
|
11
11
|
|
|
12
|
-
##
|
|
12
|
+
## 常见需求
|
|
13
13
|
|
|
14
|
-
|
|
|
14
|
+
| 需求 | 编辑位置 |
|
|
15
15
|
| --- | --- |
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
16
|
+
| 添加 backend/frontend/docs/test 的 spec 层 | `.cviauto/spec/<layer>/` 或 `.cviauto/spec/<package>/<layer>/` |
|
|
17
|
+
| 添加共享思维指南 | `.cviauto/spec/guides/` |
|
|
18
|
+
| 调整 monorepo 包 | `.cviauto/config.yaml` 中的 `packages` |
|
|
19
|
+
| 更改默认包 | `.cviauto/config.yaml` 中的 `default_package` |
|
|
20
|
+
| 控制 spec 扫描范围 | `.cviauto/config.yaml` 中的 `spec_scope` |
|
|
21
|
+
| 让 task 读取新的 spec | Task 的 `implement.jsonl` / `check.jsonl` |
|
|
22
22
|
|
|
23
|
-
##
|
|
23
|
+
## 添加 Spec 层
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
单仓库示例:
|
|
26
26
|
|
|
27
27
|
```text
|
|
28
28
|
.cviauto/spec/security/
|
|
@@ -30,7 +30,7 @@ Single-repository example:
|
|
|
30
30
|
└── auth.md
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
Monorepo
|
|
33
|
+
Monorepo 示例:
|
|
34
34
|
|
|
35
35
|
```text
|
|
36
36
|
.cviauto/spec/webapp/security/
|
|
@@ -38,25 +38,25 @@ Monorepo example:
|
|
|
38
38
|
└── auth.md
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
`index.md`
|
|
41
|
+
`index.md` 应包含:
|
|
42
42
|
|
|
43
|
-
-
|
|
44
|
-
- Pre-Development Checklist
|
|
45
|
-
- Quality Check
|
|
46
|
-
-
|
|
43
|
+
- 该层适用于哪些代码。
|
|
44
|
+
- 开发前检查清单(Pre-Development Checklist)。
|
|
45
|
+
- 质量检查(Quality Check)。
|
|
46
|
+
- 指向具体指南文件的链接。
|
|
47
47
|
|
|
48
|
-
##
|
|
48
|
+
## 更新上下文
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
添加 spec 并不意味着每个 task 都会自动读取它。当前 task 必须在 JSONL 中引用它:
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
53
|
python3 ./.cviauto/scripts/task.py add-context <task> implement ".cviauto/spec/webapp/security/index.md" "Security conventions"
|
|
54
54
|
python3 ./.cviauto/scripts/task.py add-context <task> check ".cviauto/spec/webapp/security/index.md" "Security review rules"
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
-
##
|
|
57
|
+
## 更改 Monorepo 包
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
示例 `.cviauto/config.yaml`:
|
|
60
60
|
|
|
61
61
|
```yaml
|
|
62
62
|
packages:
|
|
@@ -67,17 +67,17 @@ packages:
|
|
|
67
67
|
default_package: webapp
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
编辑后运行:
|
|
71
71
|
|
|
72
72
|
```bash
|
|
73
73
|
python3 ./.cviauto/scripts/get_context.py --mode packages
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
使用此输出来确认 AI 能看到正确的包和 spec 层。
|
|
77
77
|
|
|
78
|
-
##
|
|
78
|
+
## 注意事项
|
|
79
79
|
|
|
80
|
-
- Specs
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
80
|
+
- Specs 是用户项目约定,可根据项目需求更改。
|
|
81
|
+
- 不要将临时任务信息放入 specs;将临时信息放入 task 中。
|
|
82
|
+
- 不要将长期约定仅放在 agent 或 command 中;将其保存在 specs 中。
|
|
83
|
+
- 更改 spec 结构后,检查现有 task JSONL 文件是否仍然指向存在的文件。
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 修改本地任务生命周期
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
任务生命周期包括创建、启动、上下文配置、完成、归档、父子任务以及生命周期钩子。默认的自定义目标是 `.cviauto/tasks/`、`.cviauto/config.yaml` 和 `.cviauto/scripts/`。
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 先阅读这些文件
|
|
6
6
|
|
|
7
7
|
1. `.cviauto/workflow.md`
|
|
8
8
|
2. `.cviauto/config.yaml`
|
|
9
9
|
3. `.cviauto/scripts/task.py`
|
|
10
10
|
4. `.cviauto/scripts/common/task_store.py`
|
|
11
11
|
5. `.cviauto/scripts/common/task_utils.py`
|
|
12
|
-
6.
|
|
12
|
+
6. 当前任务的 `.cviauto/tasks/<task>/task.json`
|
|
13
13
|
|
|
14
|
-
##
|
|
14
|
+
## 常见需求与编辑点
|
|
15
15
|
|
|
16
|
-
|
|
|
16
|
+
| 需求 | 编辑点 |
|
|
17
17
|
| --- | --- |
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
|
|
|
24
|
-
|
|
|
18
|
+
| 任务创建后自动同步外部系统 | `.cviauto/config.yaml` 中的 `hooks.after_create`。 |
|
|
19
|
+
| 任务启动后自动更新状态 | `.cviauto/config.yaml` 中的 `hooks.after_start`。 |
|
|
20
|
+
| 任务完成后运行脚本 | `.cviauto/config.yaml` 中的 `hooks.after_finish`。 |
|
|
21
|
+
| 归档后清理外部资源 | `.cviauto/config.yaml` 中的 `hooks.after_archive`。 |
|
|
22
|
+
| 修改默认任务字段 | `.cviauto/scripts/common/task_store.py`。 |
|
|
23
|
+
| 修改任务解析/搜索 | `.cviauto/scripts/common/task_utils.py`。 |
|
|
24
|
+
| 修改活动任务行为 | `.cviauto/scripts/common/active_task.py`。 |
|
|
25
25
|
|
|
26
|
-
##
|
|
26
|
+
## 生命周期钩子
|
|
27
27
|
|
|
28
|
-
`.cviauto/config.yaml`
|
|
28
|
+
`.cviauto/config.yaml` 支持:
|
|
29
29
|
|
|
30
30
|
```yaml
|
|
31
31
|
hooks:
|
|
@@ -39,13 +39,13 @@ hooks:
|
|
|
39
39
|
- "python3 .cviauto/scripts/hooks/my_sync.py archive"
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
钩子命令接收 `TASK_JSON_PATH` 环境变量,指向当前任务的 `task.json`。钩子失败通常应发出警告,但不应阻塞主任务操作。
|
|
43
43
|
|
|
44
|
-
##
|
|
44
|
+
## 修改任务字段
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
如果用户想要添加项目本地字段,建议将其放在 `task.json` 的 `meta` 下,以避免破坏现有脚本对标准字段的假设。
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
示例:
|
|
49
49
|
|
|
50
50
|
```json
|
|
51
51
|
"meta": {
|
|
@@ -54,37 +54,37 @@ Example:
|
|
|
54
54
|
}
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
如果确实需要修改标准字段,请检查所有读取 `task.json` 的本地脚本。
|
|
58
58
|
|
|
59
|
-
##
|
|
59
|
+
## 修改活动任务
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
活动任务是存储在 `.cviauto/.runtime/sessions/` 中的会话级状态。不要回退到全局 `.current-task` 模型。如果用户想要修改活动任务行为,请编辑:
|
|
62
62
|
|
|
63
63
|
- `.cviauto/scripts/common/active_task.py`
|
|
64
|
-
-
|
|
65
|
-
-
|
|
64
|
+
- 平台钩子或 shell 会话桥接
|
|
65
|
+
- `.cviauto/workflow.md` 中的活动任务描述
|
|
66
66
|
|
|
67
|
-
### `task.py create`
|
|
67
|
+
### `task.py create` 设置活动指针
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
`.cviauto/scripts/common/task_store.py` 中的 `cmd_create` 在写入新任务目录后立即尽最大努力(best-effort)调用 `set_active_task`。其行为如下:
|
|
70
70
|
|
|
71
|
-
-
|
|
72
|
-
-
|
|
71
|
+
- 当调用 shell 携带会话身份标识(`TRELLIS_CONTEXT_ID` 环境变量,或 `resolve_context_key` 能识别的任何平台特定会话环境变量——参见 `active_task.py:_ENV_SESSION_KEYS`)时,`.cviauto/.runtime/sessions/<context_key>.json` 中的按会话指针会被重写为指向新任务。任务 `status=planning`,且 `[workflow-state:planning]` 会在紧接着的 `UserPromptSubmit` 时触发。
|
|
72
|
+
- 当会话身份不可用时(AI 会话之外的原始 CLI 调用,或不传播身份到 shell 的平台),任务目录仍会被创建,`status=planning` 仍会被写入,但活动指针保持不变。用户可以在回到 AI 会话后通过 `task.py start <dir>` 附加该任务。
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
这使得 `[workflow-state:planning]` 成为 `task.py create` 之后的头脑风暴和 JSONL 整理工作中的实时面包屑导航。R7 之前的行为会将面包屑卡在 `no_task` 直到 `task.py start`,因此 planning 块实际上是一段死文本。
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
如果你 fork `task.py` 添加新的创建路径(例如绕过 `cmd_create` 的外部导入),请检查你的路径是否也调用了 `set_active_task`。没有该调用,你创建的任务将不会作为活动任务出现。完整的状态写入表位于 `.cviauto/spec/cli/backend/workflow-state-contract.md`。
|
|
77
77
|
|
|
78
|
-
##
|
|
78
|
+
## 修改步骤
|
|
79
79
|
|
|
80
|
-
1.
|
|
81
|
-
2.
|
|
82
|
-
3.
|
|
83
|
-
4.
|
|
84
|
-
5.
|
|
80
|
+
1. 使用 `python3 ./.cviauto/scripts/task.py current --source` 确认当前任务。
|
|
81
|
+
2. 读取当前任务的 `task.json` 并确认状态和字段。
|
|
82
|
+
3. 对于配置需求,首先编辑 `.cviauto/config.yaml`。
|
|
83
|
+
4. 对于脚本行为需求,然后编辑 `.cviauto/scripts/`。
|
|
84
|
+
5. 如果 AI 流程发生变化,同步更新 `.cviauto/workflow.md`。
|
|
85
85
|
|
|
86
|
-
##
|
|
86
|
+
## 不要做的事
|
|
87
87
|
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
-
|
|
88
|
+
- 不要直接编辑 `.cviauto/.runtime/sessions/` 来"修复"业务状态。
|
|
89
|
+
- 不要将项目私有字段硬编码到脚本中;优先使用 `meta`。
|
|
90
|
+
- 不要默认让用户 fork Cviauto CLI。
|
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 修改本地工作流
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
当用户想要修改 Cviauto 阶段、下一步提示、是否创建任务、是否使用子代理,或何时检查/收尾时,首先编辑 `.cviauto/workflow.md`。
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 先阅读这些文件
|
|
6
6
|
|
|
7
7
|
1. `.cviauto/workflow.md`
|
|
8
|
-
2.
|
|
9
|
-
3.
|
|
8
|
+
2. 当前平台的入口文件,如 skills/commands/prompts/workflows
|
|
9
|
+
3. 当前任务的 `task.json` 和 `prd.md`
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## 常见需求与编辑点
|
|
12
12
|
|
|
13
|
-
|
|
|
13
|
+
| 需求 | 编辑点 |
|
|
14
14
|
| --- | --- |
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
|
15
|
+
| 修改阶段名称或阶段顺序 | `Phase Index` 及对应的 Phase 章节。 |
|
|
16
|
+
| 修改无任务时是否创建任务 | `[workflow-state:no_task]` 状态块。 |
|
|
17
|
+
| 修改规划期间的下一步 | Phase 1 和 `[workflow-state:planning]`。 |
|
|
18
|
+
| 修改 in_progress 期间是否需要代理 | Phase 2 和 `[workflow-state:in_progress]`。 |
|
|
19
|
+
| 修改完成后的收尾 | Phase 3 和 `[workflow-state:completed]`。 |
|
|
20
|
+
| 修改用户意图触发哪个 skill | `Skill Routing` 表格。 |
|
|
21
21
|
|
|
22
|
-
##
|
|
22
|
+
## 修改步骤
|
|
23
23
|
|
|
24
|
-
1.
|
|
25
|
-
2.
|
|
26
|
-
3.
|
|
27
|
-
4.
|
|
28
|
-
5.
|
|
24
|
+
1. 在 `.cviauto/workflow.md` 中找到相关章节。
|
|
25
|
+
2. 修改规则时,保留明确的触发条件和下一步操作。
|
|
26
|
+
3. 如果添加或重命名 skill/agent,同步更新平台目录中的对应文件。
|
|
27
|
+
4. 工作流状态变更只需编辑 `.cviauto/workflow.md` 中的 `[workflow-state:STATUS]` 块。钩子是纯解析器——它会读取你在块中放入的任何内容。保持开始和结束标签的 STATUS 字符串一致(`[workflow-state:foo]…[/workflow-state:foo]`);不匹配的 STATUS 对会被静默丢弃。
|
|
28
|
+
5. 让 AI 重新读取 `.cviauto/workflow.md`;不要继续使用旧对话中的规则。
|
|
29
29
|
|
|
30
|
-
##
|
|
30
|
+
## 示例:放宽任务创建要求
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
要修改可以跳过任务创建的情形,通常编辑 `[workflow-state:no_task]`:
|
|
33
33
|
|
|
34
34
|
```md
|
|
35
35
|
[workflow-state:no_task]
|
|
36
|
-
|
|
36
|
+
当答案是单次回复说明、不涉及文件变更且无需调研时,不需要创建任务。
|
|
37
37
|
[/workflow-state:no_task]
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
如果正式的 Phase 1 流程也需要变更,同步修改 Phase 1 章节。
|
|
41
41
|
|
|
42
|
-
##
|
|
42
|
+
## 示例:某个平台不使用子代理
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
如果用户只想让某个平台避免使用子代理,首先确认该平台在工作流中是否有独立的分组。然后修改该平台分组的 Phase 2 路由,而不是跨平台删除所有 `cviauto-implement` / `cviauto-check` 指令。
|
|
45
45
|
|
|
46
|
-
## `/cviauto:continue`
|
|
46
|
+
## `/cviauto:continue` 路由表
|
|
47
47
|
|
|
48
|
-
`/cviauto:continue`
|
|
48
|
+
`/cviauto:continue` 通过决定下一步加载哪个阶段步骤来恢复任务。决策结合了 `task.json.status` 与任务目录中工件(artifact)的存在情况。映射关系在命令本身中固定;添加自定义状态的 fork 必须同时扩展 workflow.md 标签块和此路由表。
|
|
49
49
|
|
|
50
|
-
| `status` |
|
|
50
|
+
| `status` | 工件状态 | 恢复到 |
|
|
51
51
|
| --- | --- | --- |
|
|
52
|
-
| `planning` | `prd.md`
|
|
53
|
-
| `planning` |
|
|
54
|
-
| `planning` |
|
|
55
|
-
| `planning` |
|
|
56
|
-
| `in_progress` |
|
|
57
|
-
| `in_progress` |
|
|
58
|
-
| `in_progress` |
|
|
59
|
-
| `in_progress` |
|
|
60
|
-
| `completed` |
|
|
52
|
+
| `planning` | `prd.md` 缺失 | Phase 1.1(加载 `cviauto-brainstorm`) |
|
|
53
|
+
| `planning` | 轻量任务且 `prd.md` 已完成 | 询问开始审查,然后运行 `task.py start` |
|
|
54
|
+
| `planning` | 复杂任务缺少 `design.md` 或 `implement.md` | 补全缺失的规划工件 |
|
|
55
|
+
| `planning` | 复杂任务包含 `prd.md`、`design.md` 和 `implement.md` | 询问开始审查,然后运行 `task.py start` |
|
|
56
|
+
| `in_progress` | 对话历史中无实现记录 | Phase 2.1(`cviauto-implement`) |
|
|
57
|
+
| `in_progress` | 实现已完成,未运行 `cviauto-check` | Phase 2.2(`cviauto-check`) |
|
|
58
|
+
| `in_progress` | 检查已通过,无显式的 spec 提升请求 | Phase 3.4(commit) |
|
|
59
|
+
| `in_progress` | 检查已通过,用户显式要求将知识提升到 spec | Phase 3.3(spec 更新提案)→ 3.4(commit) |
|
|
60
|
+
| `completed` | 任务仍在活动树中 | Phase 3.5(运行 `/cviauto:finish-work` 进行归档) |
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
当你添加自定义状态(如 `in-review`)时,在 `.cviauto/workflow.md` 中为每轮面包屑导航添加 `[workflow-state:in-review]` 块,并扩展此路由表——通常通过编辑 `/cviauto:continue` 命令文件(`{platform}/commands/cviauto/continue.md` 或等效文件)来添加一行,决定从何处恢复。没有路由条目时,`/cviauto:continue` 会落入默认分支,用户将无法到达你预期的步骤。
|
|
63
63
|
|
|
64
|
-
##
|
|
64
|
+
## 注意事项
|
|
65
65
|
|
|
66
|
-
`.cviauto/workflow.md`
|
|
66
|
+
`.cviauto/workflow.md` 是本地项目工作流,而非不可变的模板。用户可以根据团队习惯进行调整。编辑后,平台入口文件可能仍包含旧描述,因此也需要检查它们。
|