easy-coding-harness 0.3.4 → 0.5.0

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 CHANGED
@@ -6,6 +6,22 @@
6
6
  - `y`:常规功能升级
7
7
  - `z`:日常 bug 修复
8
8
 
9
+ ## 0.5.0
10
+
11
+ - 新增 supermodule 支持:`easy-coding init` 会识别 `.gitmodules`,父仓必装,已检出的一级子仓可按交互或参数选择分层安装。
12
+ - 新增 `--submodules <list>` / `--no-submodules` 参数,支持 `init`、`add-agent` 和 `clear` 精确控制子仓范围;`--yes` 在 init 中默认选择全部已检出子仓,clear 默认只处理父仓。
13
+ - `config.yaml` 新增 `supermodule.role`、`submodules` / `parent` 拓扑字段,父仓主约束会注入 supermodule 边界声明。
14
+ - `add-agent` 和 `upgrade` 支持父仓 + 已初始化子仓分层处理,普通仓库无 `.gitmodules` 时保持原单目录行为。
15
+ - `ec-git` 增加 submodule 两段提交纪律,`ec-memory` 增加父仓任务下子仓技术记忆分流规则。
16
+ - README 补充 supermodule 安装、运行、提交与记忆边界说明。
17
+
18
+ ## 0.4.0
19
+
20
+ - 升级跨 agent 交接模型:交接记录只保存交接前 agent、阶段、摘要和时间,不再要求也不保存下一任 agent。
21
+ - 新增 `handoff-task` / `claim-task` 状态 API,交接方可写入 handoff 并释放当前 session,新 agent 可显式 claim 任务并读取最新交接摘要。
22
+ - `ec-task-management` 升级为任务面板:列出未完成任务并标注继续/接手,接手任务展示上一任 agent。
23
+ - `ec-workflow` 路由调整:有当前任务指针时优先继续;无指针时按提示词匹配未完成任务,未命中或无提示词时展示可继续/接手任务列表。
24
+
9
25
  ## 0.3.4
10
26
 
11
27
  - 修复 Claude Code 中任务已进入 ANALYSIS 但回复没有状态栏的问题:Claude 的 `UserPromptSubmit` 现在会先运行幂等的 `session-start.py`,再运行 `inject-workflow-state.py`,确保每轮提示词都能拿到最新 `status_context`。
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