easy-coding-harness 0.4.0 → 0.5.1
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/CHANGELOG.md +15 -0
- package/README.md +30 -4
- package/dist/cli.js +1641 -557
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
- package/templates/claude/settings.json +4 -4
- package/templates/codex/hooks.json +2 -2
- package/templates/common/bundled-skills/ec-init/SKILL.md +10 -0
- package/templates/common/skills/ec-git/SKILL.md +9 -1
- package/templates/common/skills/ec-memory/SKILL.md +17 -0
- package/templates/main-constraint/AGENTS.md.tpl +1 -0
- package/templates/main-constraint/CLAUDE.md.tpl +1 -0
- package/templates/qoder/settings.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,21 @@
|
|
|
6
6
|
- `y`:常规功能升级
|
|
7
7
|
- `z`:日常 bug 修复
|
|
8
8
|
|
|
9
|
+
## 0.5.1
|
|
10
|
+
|
|
11
|
+
- 修复 Claude Code hook 命令使用相对路径导致在子目录 cwd 下找不到 `.claude/hooks/*.py` 的问题;Claude、Codex、Qoder 的 hook 配置现在安装时渲染为带引号的绝对脚本路径。
|
|
12
|
+
- `easy-coding upgrade` 可直接刷新存量 0.5.0 项目的 hook 配置并解决该问题;升级后 `ec-init` 合规扫描会校验 hook 配置是否已使用当前版本要求的绝对路径。
|
|
13
|
+
- `easy-coding clear` 和 `install-manifest.json` 兼容新绝对 hook 命令,清理时仍按项目相对 hook 路径识别托管注册项。
|
|
14
|
+
|
|
15
|
+
## 0.5.0
|
|
16
|
+
|
|
17
|
+
- 新增 supermodule 支持:`easy-coding init` 会识别 `.gitmodules`,父仓必装,已检出的一级子仓可按交互或参数选择分层安装。
|
|
18
|
+
- 新增 `--submodules <list>` / `--no-submodules` 参数,支持 `init`、`add-agent` 和 `clear` 精确控制子仓范围;`--yes` 在 init 中默认选择全部已检出子仓,clear 默认只处理父仓。
|
|
19
|
+
- `config.yaml` 新增 `supermodule.role`、`submodules` / `parent` 拓扑字段,父仓主约束会注入 supermodule 边界声明。
|
|
20
|
+
- `add-agent` 和 `upgrade` 支持父仓 + 已初始化子仓分层处理,普通仓库无 `.gitmodules` 时保持原单目录行为。
|
|
21
|
+
- `ec-git` 增加 submodule 两段提交纪律,`ec-memory` 增加父仓任务下子仓技术记忆分流规则。
|
|
22
|
+
- README 补充 supermodule 安装、运行、提交与记忆边界说明。
|
|
23
|
+
|
|
9
24
|
## 0.4.0
|
|
10
25
|
|
|
11
26
|
- 升级跨 agent 交接模型:交接记录只保存交接前 agent、阶段、摘要和时间,不再要求也不保存下一任 agent。
|
package/README.md
CHANGED
|
@@ -37,6 +37,19 @@ easy-coding init
|
|
|
37
37
|
easy-coding init --agent=claude-code,codex,qoder
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
+
如果当前目录是 git supermodule 父仓(存在 `.gitmodules`),`init` 会安装父仓,并列出已检出的一级子仓供选择。父仓和每个选中子仓都会得到独立完整的 harness 运行时:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# 默认交互选择已检出的子仓;--yes 会全选
|
|
44
|
+
easy-coding init --agent=claude-code,codex,qoder
|
|
45
|
+
|
|
46
|
+
# 只安装父仓,不安装子仓
|
|
47
|
+
easy-coding init --no-submodules
|
|
48
|
+
|
|
49
|
+
# 只安装指定子仓;值可用 submodule path 或 name
|
|
50
|
+
easy-coding init --submodules packages/a,packages/b
|
|
51
|
+
```
|
|
52
|
+
|
|
40
53
|
2. 打开目标 agent,运行项目知识初始化:
|
|
41
54
|
|
|
42
55
|
```text
|
|
@@ -71,16 +84,29 @@ any stage --[user abort via ec-task-close]--> CLOSED
|
|
|
71
84
|
- `MEMORY_SHORT` 写入本次任务短期记忆。
|
|
72
85
|
- `MEMORY_LONG` 只有短期记忆数量超过阈值时才沉淀长期记忆,否则 no-op。
|
|
73
86
|
|
|
87
|
+
## Supermodule 模型
|
|
88
|
+
|
|
89
|
+
在包含 `.gitmodules` 的父仓中,Easy Coding Harness 按 git 边界分层运行:
|
|
90
|
+
|
|
91
|
+
- **安装边界**:父仓必装;已检出的一级子仓可选择安装。未检出的子仓会跳过并提示,不会自动执行 `git submodule update --init`。
|
|
92
|
+
- **清理边界**:在父仓执行 `easy-coding clear` 会交互列出父仓和已初始化子仓;无参数交互和 `--yes` 默认只选父仓,子仓需要交互勾选或通过 `--submodules` 指定。
|
|
93
|
+
- **运行边界**:跨仓任务在父仓根打开 agent,使用父仓 `.easy-coding` 的任务、状态、spec 和全景记忆;单仓任务进入对应子仓打开 agent,使用子仓自己的 `.easy-coding`。
|
|
94
|
+
- **记忆边界**:父仓记录跨仓背景和协议;属于某个子仓的技术记忆写回该子仓 `.easy-coding/memory`,让子仓被单独 clone 时也能带走改动原因。
|
|
95
|
+
- **提交边界**:跨仓改动采用两段式提交,先提交并推送各子仓,再提交父仓 gitlink 更新和父仓自身改动。
|
|
96
|
+
- **拓扑记录**:每层 `config.yaml` 会写入 `supermodule.role`;父仓记录 `submodules`,子仓记录 `parent`。
|
|
97
|
+
|
|
98
|
+
当前仅支持一级 submodule,不自动处理子仓里的二级 submodule。
|
|
99
|
+
|
|
74
100
|
## CLI 命令
|
|
75
101
|
|
|
76
102
|
| 命令 | 用途 |
|
|
77
103
|
| --- | --- |
|
|
78
|
-
| `easy-coding init` | 首次接入项目,安装所选平台的 skills、hooks、agents
|
|
79
|
-
| `easy-coding add-agent` | 给已接入项目追加 Claude Code、Codex 或 Qoder
|
|
80
|
-
| `easy-coding upgrade` | CLI
|
|
104
|
+
| `easy-coding init` | 首次接入项目,安装所选平台的 skills、hooks、agents、主约束和运行时骨架;supermodule 父仓支持 `--submodules` / `--no-submodules` |
|
|
105
|
+
| `easy-coding add-agent` | 给已接入项目追加 Claude Code、Codex 或 Qoder 支持;supermodule 父仓可按已初始化子仓分层追加 |
|
|
106
|
+
| `easy-coding upgrade` | CLI 升级后同步项目内生成文件,生成区覆盖,用户资产保留;supermodule 父仓会同步升级已初始化子仓 |
|
|
81
107
|
| `easy-coding update` | 更新全局 CLI 到最新发布版 |
|
|
82
108
|
| `easy-coding status` | 查看已安装平台、harness 版本、当前任务状态 |
|
|
83
|
-
| `easy-coding clear` | 移除 harness 安装物,保留 tasks、spec、memory、project.yaml
|
|
109
|
+
| `easy-coding clear` | 移除 harness 安装物,保留 tasks、spec、memory、project.yaml 等用户资产;supermodule 父仓支持交互选择、`--submodules` 和 `--no-submodules` |
|
|
84
110
|
|
|
85
111
|
## Skill 清单
|
|
86
112
|
|