@house365/comate 0.10.0 → 0.10.2
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/LICENSE +21 -21
- package/docs/CLEANUP_SUPERPOWERS.md +128 -0
- package/docs/SUPERPOWERS_FIX_SUMMARY.md +114 -0
- package/package.json +55 -55
- package/skills/comate/reference/decision-points.md +101 -101
- package/skills/comate/reference/prerequisites.md +88 -88
- package/skills/comate-archive/SKILL.md +63 -63
- package/skills/comate-build/SKILL.md +278 -278
- package/skills/comate-design/SKILL.md +156 -156
- package/skills/comate-gate/scaffold/docs/README.md +36 -36
- package/skills/comate-gate/scaffold/docs/architecture/README.md +31 -31
- package/skills/comate-gate/scaffold/docs/knowledge-base/README.md +41 -41
- package/skills/comate-gate/scaffold/docs/knowledge-base/integrations/_TEMPLATE/README.md +49 -49
- package/skills/comate-gate/scaffold/docs/knowledge-base/integrations/_TEMPLATE/api-snapshot.md +47 -47
- package/skills/comate-gate/scaffold/docs/knowledge-base/requirements/_templates/PRD.md +95 -95
- package/skills/comate-grill/SKILL.md +185 -185
- package/skills/comate-kb-integration/scripts/fetch_rendered_doc.py +84 -84
- package/skills/comate-open/SKILL.md +176 -176
- package/skills/comate-verify/SKILL.md +212 -173
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
# 前置依赖检查清单(prerequisites)
|
|
2
|
-
|
|
3
|
-
规范路径:`comate/reference/prerequisites.md`
|
|
4
|
-
|
|
5
|
-
`comate init` 会自动装好 OpenSpec CLI、Superpowers 和 comate 自身,正常情况下不需要手动执行本清单。清单保留下来用于排查:init 报某项失败时,对照这里确认要装什么、怎么自查、怎么补。
|
|
6
|
-
|
|
7
|
-
> 一键自查:`comate doctor`(或直接 `bash comate/scripts/comate.sh doctor`)。它会检查下列大部分项目并给出可执行提示。
|
|
8
|
-
|
|
9
|
-
## 1. 运行环境
|
|
10
|
-
|
|
11
|
-
| 依赖 | 要求 | 检查 | 缺失处理 |
|
|
12
|
-
|------|------|------|----------|
|
|
1
|
+
# 前置依赖检查清单(prerequisites)
|
|
2
|
+
|
|
3
|
+
规范路径:`comate/reference/prerequisites.md`
|
|
4
|
+
|
|
5
|
+
`comate init` 会自动装好 OpenSpec CLI、Superpowers 和 comate 自身,正常情况下不需要手动执行本清单。清单保留下来用于排查:init 报某项失败时,对照这里确认要装什么、怎么自查、怎么补。
|
|
6
|
+
|
|
7
|
+
> 一键自查:`comate doctor`(或直接 `bash comate/scripts/comate.sh doctor`)。它会检查下列大部分项目并给出可执行提示。
|
|
8
|
+
|
|
9
|
+
## 1. 运行环境
|
|
10
|
+
|
|
11
|
+
| 依赖 | 要求 | 检查 | 缺失处理 |
|
|
12
|
+
|------|------|------|----------|
|
|
13
13
|
| bash | ≥ 3.2 | `bash --version` | Windows 用 Git Bash / WSL;macOS 自带 3.2 可直接使用 |
|
|
14
|
-
| git | 任意近代版本 | `git --version` | 安装 git |
|
|
15
|
-
| sha256 工具 | `sha256sum` 或 `shasum` 至少其一 | `command -v sha256sum shasum` | Linux 装 coreutils;macOS 自带 `shasum`(perl) |
|
|
16
|
-
| LF 换行 | 所有 `.sh` 必须是 LF | `doctor` 会检测 CRLF | 仓库已带 `.gitattributes` 强制 `eol=lf`;若被改坏,用 `dos2unix` 或重新 checkout |
|
|
17
|
-
|
|
18
|
-
## 2. OpenSpec(WHAT 侧)
|
|
19
|
-
|
|
20
|
-
负责 proposal / spec 生命周期 / 归档。comate 的 open / archive 阶段依赖它。
|
|
21
|
-
|
|
22
|
-
安装:
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
npm install -g @fission-ai/openspec@latest
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
初始化(在项目根目录)。`comate init` 已经做过这一步,手动补做时需要 `--tools`:openspec 靠探测已有的 agent 配置目录决定写哪些 tool 文件,干净项目里探测不到会直接报 `No tools detected` 退出。
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
openspec init . --tools none
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
自查:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
openspec --version
|
|
38
|
-
openspec list --json # 列出活跃 change,应能正常返回
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
comate 用到的 OpenSpec 能力(以 skill 形式调用):`openspec-explore`、`openspec-new-change`、`openspec-propose`、`openspec-verify-change`。确认这些 skill 在你的平台 skills 目录中可用。
|
|
42
|
-
|
|
43
|
-
## 3. Superpowers(HOW 侧)
|
|
44
|
-
|
|
45
|
-
负责技术设计 / 计划 / 执行 / 收尾。comate 的 design / build / verify 阶段依赖它。
|
|
46
|
-
|
|
47
|
-
`comate init` 已用 `skills add obra/superpowers -g` 装到用户级。手动补装同理。安装后确认下列 skill 可加载:
|
|
48
|
-
|
|
49
|
-
- `superpowers:brainstorming`
|
|
50
|
-
- `superpowers:writing-plans`
|
|
51
|
-
- `superpowers:subagent-driven-development`
|
|
52
|
-
- `superpowers:executing-plans`
|
|
53
|
-
- `superpowers:test-driven-development`
|
|
54
|
-
- `superpowers:using-git-worktrees`
|
|
55
|
-
- `superpowers:finishing-a-development-branch`
|
|
56
|
-
|
|
57
|
-
自查:在 agent 中尝试加载 `superpowers:brainstorming`。若不可用,按你平台的安装说明补装。**任一 Superpowers 步骤不可用时,对应阶段必须停止并提示安装,不得用普通对话替代该步骤。**
|
|
58
|
-
|
|
59
|
-
## 4. comate 自身
|
|
60
|
-
|
|
61
|
-
comate 以 npm 包分发(`npm install -g @house365/comate`),`comate init` 通过 skills CLI 装到用户级 `~/.agents/skills`,一次装完所有项目共用,支持 Claude Code、Codex、Cursor 等 70+ agent。
|
|
62
|
-
|
|
63
|
-
采用**平铺布局**——每个 phase 是顶层 skill 目录,而非 `comate/<phase>/` 嵌套。部分 agent(含 Claude Code)只发现顶层目录,平铺是共同可用的最小公倍数:
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
skills/
|
|
67
|
-
├── comate/ # 主入口 + 共享资源
|
|
68
|
-
│ ├── SKILL.md # /comate:探测并分派
|
|
69
|
-
│ ├── reference/
|
|
70
|
-
│ │ ├── dirty-worktree.md
|
|
71
|
-
│ │ ├── decision-points.md
|
|
72
|
-
│ │ └── prerequisites.md
|
|
73
|
-
│ ├── scripts/
|
|
74
|
-
│ │ ├── comate-lib.sh
|
|
75
|
-
│ │ └── comate.sh
|
|
76
|
-
│ └── tests/
|
|
77
|
-
│ ├── comate.bats
|
|
78
|
-
│ └── run.sh
|
|
79
|
-
├── comate-open/SKILL.md # 阶段 1
|
|
80
|
-
├── comate-design/SKILL.md # 阶段 2
|
|
81
|
-
├── comate-build/SKILL.md # 阶段 3
|
|
82
|
-
├── comate-verify/SKILL.md # 阶段 4
|
|
83
|
-
├── comate-archive/SKILL.md # 阶段 5
|
|
84
|
-
├── comate-fix/SKILL.md # 预设(bug + 调整)
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
各 phase skill 通过 `*/comate/scripts/comate.sh` glob 定位脚本,共享 `comate/reference/*` 和 `comate/scripts/*`。若目标平台支持嵌套 skill 发现,也可改回 `comate/<phase>/SKILL.md` 子目录布局,纯命名调整,不影响脚本。
|
|
88
|
-
|
|
89
|
-
`doctor` 会校验 `comate/scripts/` 下文件齐全且为 LF。
|
|
14
|
+
| git | 任意近代版本 | `git --version` | 安装 git |
|
|
15
|
+
| sha256 工具 | `sha256sum` 或 `shasum` 至少其一 | `command -v sha256sum shasum` | Linux 装 coreutils;macOS 自带 `shasum`(perl) |
|
|
16
|
+
| LF 换行 | 所有 `.sh` 必须是 LF | `doctor` 会检测 CRLF | 仓库已带 `.gitattributes` 强制 `eol=lf`;若被改坏,用 `dos2unix` 或重新 checkout |
|
|
17
|
+
|
|
18
|
+
## 2. OpenSpec(WHAT 侧)
|
|
19
|
+
|
|
20
|
+
负责 proposal / spec 生命周期 / 归档。comate 的 open / archive 阶段依赖它。
|
|
21
|
+
|
|
22
|
+
安装:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm install -g @fission-ai/openspec@latest
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
初始化(在项目根目录)。`comate init` 已经做过这一步,手动补做时需要 `--tools`:openspec 靠探测已有的 agent 配置目录决定写哪些 tool 文件,干净项目里探测不到会直接报 `No tools detected` 退出。
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
openspec init . --tools none
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
自查:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
openspec --version
|
|
38
|
+
openspec list --json # 列出活跃 change,应能正常返回
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
comate 用到的 OpenSpec 能力(以 skill 形式调用):`openspec-explore`、`openspec-new-change`、`openspec-propose`、`openspec-verify-change`。确认这些 skill 在你的平台 skills 目录中可用。
|
|
42
|
+
|
|
43
|
+
## 3. Superpowers(HOW 侧)
|
|
44
|
+
|
|
45
|
+
负责技术设计 / 计划 / 执行 / 收尾。comate 的 design / build / verify 阶段依赖它。
|
|
46
|
+
|
|
47
|
+
`comate init` 已用 `skills add obra/superpowers -g` 装到用户级。手动补装同理。安装后确认下列 skill 可加载:
|
|
48
|
+
|
|
49
|
+
- `superpowers:brainstorming`
|
|
50
|
+
- `superpowers:writing-plans`
|
|
51
|
+
- `superpowers:subagent-driven-development`
|
|
52
|
+
- `superpowers:executing-plans`
|
|
53
|
+
- `superpowers:test-driven-development`
|
|
54
|
+
- `superpowers:using-git-worktrees`
|
|
55
|
+
- `superpowers:finishing-a-development-branch`
|
|
56
|
+
|
|
57
|
+
自查:在 agent 中尝试加载 `superpowers:brainstorming`。若不可用,按你平台的安装说明补装。**任一 Superpowers 步骤不可用时,对应阶段必须停止并提示安装,不得用普通对话替代该步骤。**
|
|
58
|
+
|
|
59
|
+
## 4. comate 自身
|
|
60
|
+
|
|
61
|
+
comate 以 npm 包分发(`npm install -g @house365/comate`),`comate init` 通过 skills CLI 装到用户级 `~/.agents/skills`,一次装完所有项目共用,支持 Claude Code、Codex、Cursor 等 70+ agent。
|
|
62
|
+
|
|
63
|
+
采用**平铺布局**——每个 phase 是顶层 skill 目录,而非 `comate/<phase>/` 嵌套。部分 agent(含 Claude Code)只发现顶层目录,平铺是共同可用的最小公倍数:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
skills/
|
|
67
|
+
├── comate/ # 主入口 + 共享资源
|
|
68
|
+
│ ├── SKILL.md # /comate:探测并分派
|
|
69
|
+
│ ├── reference/
|
|
70
|
+
│ │ ├── dirty-worktree.md
|
|
71
|
+
│ │ ├── decision-points.md
|
|
72
|
+
│ │ └── prerequisites.md
|
|
73
|
+
│ ├── scripts/
|
|
74
|
+
│ │ ├── comate-lib.sh
|
|
75
|
+
│ │ └── comate.sh
|
|
76
|
+
│ └── tests/
|
|
77
|
+
│ ├── comate.bats
|
|
78
|
+
│ └── run.sh
|
|
79
|
+
├── comate-open/SKILL.md # 阶段 1
|
|
80
|
+
├── comate-design/SKILL.md # 阶段 2
|
|
81
|
+
├── comate-build/SKILL.md # 阶段 3
|
|
82
|
+
├── comate-verify/SKILL.md # 阶段 4
|
|
83
|
+
├── comate-archive/SKILL.md # 阶段 5
|
|
84
|
+
├── comate-fix/SKILL.md # 预设(bug + 调整)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
各 phase skill 通过 `*/comate/scripts/comate.sh` glob 定位脚本,共享 `comate/reference/*` 和 `comate/scripts/*`。若目标平台支持嵌套 skill 发现,也可改回 `comate/<phase>/SKILL.md` 子目录布局,纯命名调整,不影响脚本。
|
|
88
|
+
|
|
89
|
+
`doctor` 会校验 `comate/scripts/` 下文件齐全且为 LF。
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: comate-archive
|
|
3
|
-
description: "comate 阶段 5:归档。用 /comate-archive 调用。委托 OpenSpec 合并 delta spec 并归档 change。"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# comate 阶段 5:归档(Archive)
|
|
7
|
-
|
|
8
|
-
## 前置条件
|
|
9
|
-
|
|
10
|
-
- 验证已通过(阶段 4 完成),分支已处理
|
|
11
|
-
- `openspec/changes/<name>/.comate.yaml` 中 `verify_result: pass`
|
|
12
|
-
|
|
13
|
-
## 步骤
|
|
14
|
-
|
|
15
|
-
### 0. 入口状态验证
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
COMATE="${COMATE:-$(for r in . ./.agents/skills ./.claude/skills ./.cursor/skills ./.codex/skills "$HOME"/.agents/skills "$HOME"/.claude/skills "$HOME"/.config/skills "$HOME"/.cursor/skills "$HOME"/.codex/skills "$HOME"/.gemini/skills; do
|
|
19
|
-
[ -d "$r" ] && find "$r" -maxdepth 6 -path '*/comate/scripts/comate.sh' -type f -print -quit 2>/dev/null
|
|
20
|
-
done | head -1)}"
|
|
21
|
-
if [ -z "$COMATE" ]; then
|
|
22
|
-
echo "ERROR: comate.sh 未找到,请确认 comate skill 已安装。" >&2
|
|
23
|
-
return 1 2>/dev/null || exit 1
|
|
24
|
-
fi
|
|
25
|
-
bash "$COMATE" state <name> check archive
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
### 1. 执行归档
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
bash "$COMATE" archive "<name>"
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
脚本自动完成:
|
|
35
|
-
1. 入口状态验证(phase=archive, verify_result=pass, archived=false)
|
|
36
|
-
2. 委托 `openspec archive <name> -y` 合并 delta spec 到主 spec;无 delta spec 时使用 `--skip-specs`
|
|
37
|
-
3. Design doc 前置元数据标注(archived-with, status: final),并把正文中指向 `openspec/changes/<name>/` 的引用重写为归档路径
|
|
38
|
-
4. Plan 前置元数据标注(archived-with),同样重写正文 OpenSpec 路径引用
|
|
39
|
-
5. 由 OpenSpec 移动 change 到 `openspec/changes/archive/YYYY-MM-DD-<name>/`
|
|
40
|
-
6. 通过 `state transition <archive-name> archived` 设 `archived: true`
|
|
41
|
-
7. 重写归档后 `.comate.yaml` 中随 change 移动的自指字段(`source_manifest` / `handoff_context` / `impl_context`)指向新归档路径,使 `sources <name> check/list` 等命令对归档 change 仍可用
|
|
42
|
-
|
|
43
|
-
非零退出码 → 报告错误并停止。零退出码 → 归档完成。摘要 `X/Y steps succeeded` 以真实执行步骤计数。
|
|
44
|
-
|
|
45
|
-
需预览不实际执行:加 `--dry-run`。
|
|
46
|
-
|
|
47
|
-
### 2. 生命周期闭环
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
brainstorming → delta spec → 实施 → 验证 → OpenSpec 合并主 spec → design doc 标注 → 归档
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## 退出条件
|
|
54
|
-
|
|
55
|
-
- 归档脚本退出码 0
|
|
56
|
-
- 归档目录 `openspec/changes/archive/YYYY-MM-DD-<name>/` 存在
|
|
57
|
-
- 归档后 `.comate.yaml` 中 `archived: true`
|
|
58
|
-
|
|
59
|
-
归档成功后**不要再对原 change 名跑 guard**,原活跃目录已不存在。
|
|
60
|
-
|
|
61
|
-
## 完成
|
|
62
|
-
|
|
63
|
-
comate 流程全部完成。如需开始新工作,调用 `/comate` 或 `/comate-open`。
|
|
1
|
+
---
|
|
2
|
+
name: comate-archive
|
|
3
|
+
description: "comate 阶段 5:归档。用 /comate-archive 调用。委托 OpenSpec 合并 delta spec 并归档 change。"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# comate 阶段 5:归档(Archive)
|
|
7
|
+
|
|
8
|
+
## 前置条件
|
|
9
|
+
|
|
10
|
+
- 验证已通过(阶段 4 完成),分支已处理
|
|
11
|
+
- `openspec/changes/<name>/.comate.yaml` 中 `verify_result: pass`
|
|
12
|
+
|
|
13
|
+
## 步骤
|
|
14
|
+
|
|
15
|
+
### 0. 入口状态验证
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
COMATE="${COMATE:-$(for r in . ./.agents/skills ./.claude/skills ./.cursor/skills ./.codex/skills "$HOME"/.agents/skills "$HOME"/.claude/skills "$HOME"/.config/skills "$HOME"/.cursor/skills "$HOME"/.codex/skills "$HOME"/.gemini/skills; do
|
|
19
|
+
[ -d "$r" ] && find "$r" -maxdepth 6 -path '*/comate/scripts/comate.sh' -type f -print -quit 2>/dev/null
|
|
20
|
+
done | head -1)}"
|
|
21
|
+
if [ -z "$COMATE" ]; then
|
|
22
|
+
echo "ERROR: comate.sh 未找到,请确认 comate skill 已安装。" >&2
|
|
23
|
+
return 1 2>/dev/null || exit 1
|
|
24
|
+
fi
|
|
25
|
+
bash "$COMATE" state <name> check archive
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### 1. 执行归档
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
bash "$COMATE" archive "<name>"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
脚本自动完成:
|
|
35
|
+
1. 入口状态验证(phase=archive, verify_result=pass, archived=false)
|
|
36
|
+
2. 委托 `openspec archive <name> -y` 合并 delta spec 到主 spec;无 delta spec 时使用 `--skip-specs`
|
|
37
|
+
3. Design doc 前置元数据标注(archived-with, status: final),并把正文中指向 `openspec/changes/<name>/` 的引用重写为归档路径
|
|
38
|
+
4. Plan 前置元数据标注(archived-with),同样重写正文 OpenSpec 路径引用
|
|
39
|
+
5. 由 OpenSpec 移动 change 到 `openspec/changes/archive/YYYY-MM-DD-<name>/`
|
|
40
|
+
6. 通过 `state transition <archive-name> archived` 设 `archived: true`
|
|
41
|
+
7. 重写归档后 `.comate.yaml` 中随 change 移动的自指字段(`source_manifest` / `handoff_context` / `impl_context`)指向新归档路径,使 `sources <name> check/list` 等命令对归档 change 仍可用
|
|
42
|
+
|
|
43
|
+
非零退出码 → 报告错误并停止。零退出码 → 归档完成。摘要 `X/Y steps succeeded` 以真实执行步骤计数。
|
|
44
|
+
|
|
45
|
+
需预览不实际执行:加 `--dry-run`。
|
|
46
|
+
|
|
47
|
+
### 2. 生命周期闭环
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
brainstorming → delta spec → 实施 → 验证 → OpenSpec 合并主 spec → design doc 标注 → 归档
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## 退出条件
|
|
54
|
+
|
|
55
|
+
- 归档脚本退出码 0
|
|
56
|
+
- 归档目录 `openspec/changes/archive/YYYY-MM-DD-<name>/` 存在
|
|
57
|
+
- 归档后 `.comate.yaml` 中 `archived: true`
|
|
58
|
+
|
|
59
|
+
归档成功后**不要再对原 change 名跑 guard**,原活跃目录已不存在。
|
|
60
|
+
|
|
61
|
+
## 完成
|
|
62
|
+
|
|
63
|
+
comate 流程全部完成。如需开始新工作,调用 `/comate` 或 `/comate-open`。
|