developing-agent-forge 1.0.0 → 2.0.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/README.md +42 -39
- package/README.zh-CN.md +42 -39
- package/developing-forge.yaml +35 -0
- package/dist/agents/developer.d.ts +15 -1
- package/dist/agents/developer.d.ts.map +1 -1
- package/dist/agents/developer.js +41 -4
- package/dist/agents/developer.js.map +1 -1
- package/dist/agents/manager.d.ts +7 -4
- package/dist/agents/manager.d.ts.map +1 -1
- package/dist/agents/manager.js +26 -13
- package/dist/agents/manager.js.map +1 -1
- package/dist/agents/reviewer.js +2 -2
- package/dist/agents/trajectory-optimizer.d.ts +1 -2
- package/dist/agents/trajectory-optimizer.d.ts.map +1 -1
- package/dist/agents/trajectory-optimizer.js +5 -8
- package/dist/agents/trajectory-optimizer.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/pipeline/factory.d.ts +3 -0
- package/dist/pipeline/factory.d.ts.map +1 -0
- package/dist/pipeline/factory.js +7 -0
- package/dist/pipeline/factory.js.map +1 -0
- package/dist/pipeline/index.d.ts +2 -2
- package/dist/pipeline/index.d.ts.map +1 -1
- package/dist/pipeline/index.js +2 -2
- package/dist/pipeline/index.js.map +1 -1
- package/dist/pipeline/pipeline.d.ts +49 -29
- package/dist/pipeline/pipeline.d.ts.map +1 -1
- package/dist/pipeline/pipeline.js +37 -24
- package/dist/pipeline/pipeline.js.map +1 -1
- package/dist/pipeline/pipelineskill.d.ts +43 -25
- package/dist/pipeline/pipelineskill.d.ts.map +1 -1
- package/dist/pipeline/pipelineskill.js +4 -5
- package/dist/pipeline/pipelineskill.js.map +1 -1
- package/dist/pipeline/project-devloop.d.ts +15 -0
- package/dist/pipeline/project-devloop.d.ts.map +1 -0
- package/dist/pipeline/project-devloop.js +59 -0
- package/dist/pipeline/project-devloop.js.map +1 -0
- package/dist/pipeline/task-devloop.d.ts +11 -0
- package/dist/pipeline/task-devloop.d.ts.map +1 -0
- package/dist/pipeline/task-devloop.js +77 -0
- package/dist/pipeline/task-devloop.js.map +1 -0
- package/package.json +3 -2
- package/skills/coding-style/SKILL.md +4 -4
- package/dist/pipeline/development.d.ts +0 -14
- package/dist/pipeline/development.d.ts.map +0 -1
- package/dist/pipeline/development.js +0 -55
- package/dist/pipeline/development.js.map +0 -1
- package/dist/pipeline/revision.d.ts +0 -10
- package/dist/pipeline/revision.d.ts.map +0 -1
- package/dist/pipeline/revision.js +0 -52
- package/dist/pipeline/revision.js.map +0 -1
package/README.md
CHANGED
|
@@ -10,17 +10,18 @@ The usual entry point is [`develop.sh`](develop.sh), which calls `npm run develo
|
|
|
10
10
|
|
|
11
11
|
- the goal file passed with `--goal-path`
|
|
12
12
|
- `skills/coding-style/SKILL.md`
|
|
13
|
-
- the
|
|
13
|
+
- the project progress memory directory passed with `--project-progress-memory-path`
|
|
14
|
+
- the code design memory directory passed with `--code-design-memory-path`
|
|
14
15
|
- the target codebase directory
|
|
15
16
|
- the development archive directory, passed through the current CLI option name `--achive-dir`
|
|
16
17
|
|
|
17
|
-
The pipeline works in the configured `--target-path`, reads the current high-level objective from `--goal-path`,
|
|
18
|
+
The pipeline works in the configured `--target-path`, reads the current high-level objective from `--goal-path`, recalls and updates project progress memory under `--project-progress-memory-path`, recalls and updates code design memory under `--code-design-memory-path`, and archives per-iteration task/review artifacts under the configured archive directory.
|
|
18
19
|
|
|
19
20
|
The package exposes a TypeScript API from [`src/index.ts`](src/index.ts) and a CLI from [`src/cli.ts`](src/cli.ts).
|
|
20
21
|
|
|
21
22
|
## Core Idea: Developing And Coding Style
|
|
22
23
|
|
|
23
|
-
`src` turns the current goal into a repeatable code-writing trajectory. `coding-manager` reads the current repository, the goal, and
|
|
24
|
+
`src` turns the current goal into a repeatable code-writing trajectory. `coding-manager` reads the current repository, the goal, and remembered context, chooses one concrete developing task, `developer` edits the target repository, and `code-reviewer` either returns `ACCEPT` or sends task feedback back into the same task.
|
|
24
25
|
|
|
25
26
|
The coding-style skill is [`skills/coding-style/SKILL.md`](skills/coding-style/SKILL.md). Its job is to control the code-writing agent's code structure and style. The upstream user task decides what to implement; this skill decides how to keep the implementation readable, local, low-coupling, and consistent with the current framework.
|
|
26
27
|
|
|
@@ -63,15 +64,13 @@ npm run build
|
|
|
63
64
|
|
|
64
65
|
For local CLI development, use `npm run dev -- developing ...` or the prepared `npm run developing` and `npm run developing-skill` script aliases.
|
|
65
66
|
|
|
66
|
-
## Goal File And
|
|
67
|
+
## Goal File And Memory Context
|
|
67
68
|
|
|
68
|
-
`developing` and `developing-skill`
|
|
69
|
+
`developing` and `developing-skill` both accept `--goal-path <path>`. The pipeline reads that file once at the start of the run and passes its contents to `coding-manager`, `developer`, `code-reviewer`, and `trajectory-optimizer` as the current high-level objective.
|
|
69
70
|
|
|
70
71
|
Each time you want to execute the next new task, update the file passed to `--goal-path` before rerunning [`develop.sh`](develop.sh) or [`develop-skill.sh`](develop-skill.sh). Put any stable project contract, task context paths, constraints, or task focus directly in that goal file.
|
|
71
72
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
This `TODO.md` workflow is a temporary memory mechanism. A more advanced memory mechanism should replace or extend it later, so treat the current file as a practical bridge for task continuity rather than the final long-term memory design.
|
|
73
|
+
The configured `--project-progress-memory-path` stores project progress memory used by `coding-manager` for task selection and project continuity. The configured `--code-design-memory-path` stores code design memory used by `developer` while completing the selected task. If old context is no longer useful, delete or edit the memory files under the relevant directory before rerunning the pipeline.
|
|
75
74
|
|
|
76
75
|
## Direct Command
|
|
77
76
|
|
|
@@ -83,48 +82,52 @@ npm run developing -- \
|
|
|
83
82
|
--config "secret.yaml" \
|
|
84
83
|
--target-path "output/codebase" \
|
|
85
84
|
--achive-dir "output/developing-archives" \
|
|
86
|
-
--
|
|
85
|
+
--project-progress-memory-path "output/developing/project-progress-memory" \
|
|
86
|
+
--code-design-memory-path "output/developing/code-design-memory" \
|
|
87
87
|
--coding-style-skill-path "skills/coding-style" \
|
|
88
88
|
--goal-path "output/goal.md" \
|
|
89
89
|
--max-iterations "100" \
|
|
90
|
-
--max-
|
|
90
|
+
--max-task-devloop-iterations "10" \
|
|
91
|
+
--max-memory-rounds "3"
|
|
91
92
|
```
|
|
92
93
|
|
|
93
94
|
The current CLI option name is `--achive-dir`.
|
|
94
95
|
|
|
95
96
|
## Options Reference
|
|
96
97
|
|
|
97
|
-
| Option
|
|
98
|
-
|
|
|
99
|
-
| `--config`
|
|
100
|
-
| `--target-path`
|
|
101
|
-
| `--achive-dir`
|
|
102
|
-
| `--
|
|
103
|
-
| `--
|
|
104
|
-
| `--
|
|
105
|
-
| `--
|
|
106
|
-
| `--max-
|
|
98
|
+
| Option | Description |
|
|
99
|
+
| -------------------------------- | --------------------------------------------------------------------- |
|
|
100
|
+
| `--config` | One or more YAML config files loaded with `coding-agent-forge`. |
|
|
101
|
+
| `--target-path` | Target codebase directory. |
|
|
102
|
+
| `--achive-dir` | Project development archive directory. |
|
|
103
|
+
| `--project-progress-memory-path` | Memory directory used for project progress continuity. |
|
|
104
|
+
| `--code-design-memory-path` | Memory directory used for code design continuity. |
|
|
105
|
+
| `--coding-style-skill-path` | Configured coding-style skill. |
|
|
106
|
+
| `--goal-path` | Markdown file containing the current objective and task context. |
|
|
107
|
+
| `--max-iterations` | Stops the outer loop if `coding-manager` has not returned `FINISHED`. |
|
|
108
|
+
| `--max-task-devloop-iterations` | Limits developer/reviewer attempts for each selected task. |
|
|
109
|
+
| `--max-memory-rounds` | Limits memory recall and remember refinement rounds. |
|
|
107
110
|
|
|
108
111
|
## Main Flow
|
|
109
112
|
|
|
110
|
-
[`pipeline/pipeline.ts`](src/pipeline/pipeline.ts) parses CLI options and delegates the development
|
|
113
|
+
[`pipeline/pipeline.ts`](src/pipeline/pipeline.ts) parses CLI options and delegates the project development workflow to [`pipeline/project-devloop.ts`](src/pipeline/project-devloop.ts).
|
|
111
114
|
|
|
112
115
|
Each iteration does the following:
|
|
113
116
|
|
|
114
|
-
1. `coding-manager` scans the current repository, the goal from `--goal-path`, and
|
|
117
|
+
1. `coding-manager` decides what should be recalled, the pipeline recalls the matching memory, then `coding-manager` scans the current repository, the goal from `--goal-path`, and remembered context before choosing one developing task.
|
|
115
118
|
2. `developer` loads the configured coding-style skill, edits the repository, and reports what changed for review.
|
|
116
|
-
3. `code-reviewer` reads the code and developer report, then returns exactly `ACCEPT` or
|
|
119
|
+
3. `code-reviewer` reads the code and developer report, then returns exactly `ACCEPT` or task feedback.
|
|
117
120
|
4. If the reviewer returns feedback, `developer` fixes the same task and `code-reviewer` reviews again.
|
|
118
|
-
5. After the review loop ends, the pipeline archives the task and reports,
|
|
121
|
+
5. After the review loop ends, the pipeline archives the task and reports, asks `coding-manager` to output what should be remembered, and stores that content through `memory-agent-forge`.
|
|
119
122
|
6. The pipeline stops when `coding-manager` returns `FINISHED` or `--max-iterations` is reached.
|
|
120
123
|
|
|
121
124
|
## Developing-Skill And Trajectory Feedback
|
|
122
125
|
|
|
123
|
-
[`develop-skill.sh`](develop-skill.sh) calls the related `developing-skill` pipeline in [`pipeline/pipelineskill.ts`](src/pipeline/pipelineskill.ts). It runs the same development
|
|
126
|
+
[`develop-skill.sh`](develop-skill.sh) calls the related `developing-skill` pipeline in [`pipeline/pipelineskill.ts`](src/pipeline/pipelineskill.ts). It runs the same project development workflow, adds `--metaskill-path`, and invokes `trajectory-optimizer` before and after the developer/reviewer loop so the coding-style skill can be improved from concrete development feedback.
|
|
124
127
|
|
|
125
128
|
The first `trajectory-optimizer` call runs in `scan` mode before the developer starts. It reads the target repository, the current coding-style skill, and the goal context so the optimizer has the same project context as the code-writing loop.
|
|
126
129
|
|
|
127
|
-
The second `trajectory-optimizer` call runs in `optimize` mode after the
|
|
130
|
+
The second `trajectory-optimizer` call runs in `optimize` mode after the iteration finishes. It reads the metaskill, target repository, goal context, current task, and the Developer reports and Reviewer feedback; evaluates whether the skill produced a good modification trajectory; then edits the coding-style skill directly. The prompt focuses the optimizer on missing, misleading, or redundant guidance that affected task selection, coding, or review.
|
|
128
131
|
|
|
129
132
|
The intended loop is:
|
|
130
133
|
|
|
@@ -139,31 +142,31 @@ This is the coding-style version of skill self-improvement: the metaskill states
|
|
|
139
142
|
|
|
140
143
|
The pipeline maintains:
|
|
141
144
|
|
|
142
|
-
| Artifact | Where it lives
|
|
143
|
-
| --------------------------- |
|
|
144
|
-
|
|
|
145
|
-
| Timestamped archive folders | Under the configured archive directory; contains each selected task,
|
|
145
|
+
| Artifact | Where it lives |
|
|
146
|
+
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
147
|
+
| Memory files | Under the configured project progress and code design memory directories; maintained by `memory-agent-forge`. |
|
|
148
|
+
| Timestamped archive folders | Under the configured archive directory; contains each selected task, memory recall guidance, recalled memory, Developer reports, Reviewer feedback, and things to remember. |
|
|
146
149
|
|
|
147
150
|
## Important Files
|
|
148
151
|
|
|
149
152
|
| Path | Purpose |
|
|
150
153
|
| ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
|
|
151
154
|
| [`pipeline/pipeline.ts`](src/pipeline/pipeline.ts) | CLI argument parsing and the base `developing` pipeline wrapper. |
|
|
152
|
-
| [`pipeline/
|
|
153
|
-
| [`pipeline/
|
|
155
|
+
| [`pipeline/project-devloop.ts`](src/pipeline/project-devloop.ts) | Outer project workflow, archive creation, memory recall/update, and per-agent handoff. |
|
|
156
|
+
| [`pipeline/task-devloop.ts`](src/pipeline/task-devloop.ts) | Inner developer/reviewer loop for one selected task. |
|
|
154
157
|
| [`pipeline/pipelineskill.ts`](src/pipeline/pipelineskill.ts) | `developing-skill` wrapper that adds trajectory optimization callbacks around the base loop. |
|
|
155
158
|
| [`agents/factory.ts`](src/agents/factory.ts) | Registers the developing coding manager, developer, and reviewer agents. |
|
|
156
159
|
| [`agents/types.ts`](src/agents/types.ts) | Shared workspace-aware base class and variables. |
|
|
157
|
-
| [`agents/manager.ts`](src/agents/manager.ts) |
|
|
160
|
+
| [`agents/manager.ts`](src/agents/manager.ts) | Decides what to recall, selects outer-loop tasks, and outputs what should be remembered. |
|
|
158
161
|
| [`agents/developer.ts`](src/agents/developer.ts) | Edits the target repository using the shared coding-style skill. |
|
|
159
162
|
| [`agents/reviewer.ts`](src/agents/reviewer.ts) | Performs the read-only code review gate. |
|
|
160
163
|
| [`agents/trajectory-optimizer.ts`](src/agents/trajectory-optimizer.ts) | Scans the trajectory and proposes coding-style skill improvements for `developing-skill`. |
|
|
161
164
|
|
|
162
165
|
## Troubleshooting
|
|
163
166
|
|
|
164
|
-
| Problem
|
|
165
|
-
|
|
|
166
|
-
| The loop stops with `FINISHED`
|
|
167
|
-
| A task keeps returning
|
|
168
|
-
| A new goal keeps inheriting old context
|
|
169
|
-
| The archive option looks misspelled
|
|
167
|
+
| Problem | Likely cause | Fix |
|
|
168
|
+
| --------------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
|
|
169
|
+
| The loop stops with `FINISHED` | `coding-manager` decided no further developing task is needed. | Inspect the memory directory and the latest archive. |
|
|
170
|
+
| A task keeps returning task feedback | The inner developer/reviewer loop has not reached `ACCEPT`. | Read the Developer reports and Reviewer feedback in the timestamped archive folder. |
|
|
171
|
+
| A new goal keeps inheriting old context | One of the memory directories still contains old task state. | Update `--goal-path`; if needed, edit or delete stale memory files before rerunning the wrapper. |
|
|
172
|
+
| The archive option looks misspelled | The current CLI option name is `--achive-dir`. | Use the current option name until the CLI changes. |
|
package/README.zh-CN.md
CHANGED
|
@@ -10,17 +10,18 @@
|
|
|
10
10
|
|
|
11
11
|
- 通过 `--goal-path` 传入的目标文件
|
|
12
12
|
- `skills/coding-style/SKILL.md`
|
|
13
|
-
-
|
|
13
|
+
- 通过 `--project-progress-memory-path` 传入的项目进度 memory 目录
|
|
14
|
+
- 通过 `--code-design-memory-path` 传入的代码设计 memory 目录
|
|
14
15
|
- 目标代码库目录
|
|
15
16
|
- development archive 目录;当前 CLI 参数名仍是 `--achive-dir`
|
|
16
17
|
|
|
17
|
-
pipeline 会在配置的 `--target-path` 中继续写代码,从 `--goal-path`
|
|
18
|
+
pipeline 会在配置的 `--target-path` 中继续写代码,从 `--goal-path` 读取当前高层任务目标,召回并更新 `--project-progress-memory-path` 下的项目进度记忆,召回并更新 `--code-design-memory-path` 下的代码设计记忆,并把每轮 task/review 产物归档到 archive 目录。
|
|
18
19
|
|
|
19
20
|
TypeScript API 从 [`src/index.ts`](src/index.ts) 导出,CLI 入口在 [`src/cli.ts`](src/cli.ts)。
|
|
20
21
|
|
|
21
22
|
## 核心思想:Developing 和 Coding Style
|
|
22
23
|
|
|
23
|
-
`src` 会把当前 goal 变成一条可重复执行的代码编写 trajectory。`coding-manager` 读取当前 repo、goal
|
|
24
|
+
`src` 会把当前 goal 变成一条可重复执行的代码编写 trajectory。`coding-manager` 读取当前 repo、goal 和记下来的上下文,选择一个具体 developing task;`developer` 修改目标 repo;`code-reviewer` 返回严格的 `ACCEPT`,或者把 task feedback 送回同一个 task。
|
|
24
25
|
|
|
25
26
|
coding-style skill 是 [`skills/coding-style/SKILL.md`](skills/coding-style/SKILL.md)。它的功能是控制写代码 agent 的代码结构和代码风格。上游用户任务决定要实现什么;这个 skill 决定如何让实现保持 readable、local、low-coupling,并和当前 framework 保持一致。
|
|
26
27
|
|
|
@@ -63,15 +64,13 @@ npm run build
|
|
|
63
64
|
|
|
64
65
|
本地调试 CLI 时,可以使用 `npm run dev -- developing ...`,也可以继续使用预设的 `npm run developing` 和 `npm run developing-skill` 脚本别名。
|
|
65
66
|
|
|
66
|
-
## Goal
|
|
67
|
+
## Goal 文件和 Memory 上下文
|
|
67
68
|
|
|
68
|
-
`developing` 和 `developing-skill`
|
|
69
|
+
`developing` 和 `developing-skill` 都接受 `--goal-path <path>`。pipeline 会在运行开始时读取这个文件,并把其中内容作为当前 high-level objective 传给 `coding-manager`、`developer`、`code-reviewer` 和 `trajectory-optimizer`。
|
|
69
70
|
|
|
70
71
|
每次想执行下一个新任务时,先更新 `--goal-path` 指向的文件,再重新运行 [`develop.sh`](develop.sh) 或 [`develop-skill.sh`](develop-skill.sh)。稳定的项目 contract、任务上下文路径、约束和这一次的任务重点都直接写进这个 goal 文件。
|
|
71
72
|
|
|
72
|
-
配置的 `--
|
|
73
|
-
|
|
74
|
-
这个 `TODO.md` workflow 是临时记忆机制。之后会实现更高级的记忆机制来替代或扩展它,所以现在可以把这个文件理解成用于保持任务连续性的过渡方案,而不是最终的长期记忆设计。
|
|
73
|
+
配置的 `--project-progress-memory-path` 存放给 `coding-manager` 做任务选择和项目连续性判断的项目进度记忆。配置的 `--code-design-memory-path` 存放给 `developer` 完成当前任务时使用的代码设计记忆。如果旧上下文不再有用,可以在下一次运行前删除或编辑对应目录下的 memory 文件。
|
|
75
74
|
|
|
76
75
|
## 直接命令
|
|
77
76
|
|
|
@@ -83,48 +82,52 @@ npm run developing -- \
|
|
|
83
82
|
--config "secret.yaml" \
|
|
84
83
|
--target-path "output/codebase" \
|
|
85
84
|
--achive-dir "output/developing-archives" \
|
|
86
|
-
--
|
|
85
|
+
--project-progress-memory-path "output/developing/project-progress-memory" \
|
|
86
|
+
--code-design-memory-path "output/developing/code-design-memory" \
|
|
87
87
|
--coding-style-skill-path "skills/coding-style" \
|
|
88
88
|
--goal-path "output/goal.md" \
|
|
89
89
|
--max-iterations "100" \
|
|
90
|
-
--max-
|
|
90
|
+
--max-task-devloop-iterations "10" \
|
|
91
|
+
--max-memory-rounds "3"
|
|
91
92
|
```
|
|
92
93
|
|
|
93
94
|
当前 CLI 参数名是 `--achive-dir`。
|
|
94
95
|
|
|
95
96
|
## 参数参考
|
|
96
97
|
|
|
97
|
-
| 参数
|
|
98
|
-
|
|
|
99
|
-
| `--config`
|
|
100
|
-
| `--target-path`
|
|
101
|
-
| `--achive-dir`
|
|
102
|
-
| `--
|
|
103
|
-
| `--
|
|
104
|
-
| `--
|
|
105
|
-
| `--
|
|
106
|
-
| `--max-
|
|
98
|
+
| 参数 | 说明 |
|
|
99
|
+
| -------------------------------- | ---------------------------------------------------------------- |
|
|
100
|
+
| `--config` | 用 `coding-agent-forge` 加载的一个或多个 YAML config 文件。 |
|
|
101
|
+
| `--target-path` | 目标代码库目录。 |
|
|
102
|
+
| `--achive-dir` | Project development archive 目录。 |
|
|
103
|
+
| `--project-progress-memory-path` | 用于保持项目进度连续性的 memory 目录。 |
|
|
104
|
+
| `--code-design-memory-path` | 用于保持代码设计连续性的 memory 目录。 |
|
|
105
|
+
| `--coding-style-skill-path` | 配置的 coding-style skill。 |
|
|
106
|
+
| `--goal-path` | 包含当前 high-level objective 和 task context 的 Markdown 文件。 |
|
|
107
|
+
| `--max-iterations` | 当 `coding-manager` 尚未返回 `FINISHED` 时限制外层循环。 |
|
|
108
|
+
| `--max-task-devloop-iterations` | 限制每个 selected task 的 developer/reviewer 尝试次数。 |
|
|
109
|
+
| `--max-memory-rounds` | 限制 memory recall 和 remember 的 refinement 轮数。 |
|
|
107
110
|
|
|
108
111
|
## 主流程
|
|
109
112
|
|
|
110
|
-
[`pipeline/pipeline.ts`](src/pipeline/pipeline.ts) 负责解析 CLI
|
|
113
|
+
[`pipeline/pipeline.ts`](src/pipeline/pipeline.ts) 负责解析 CLI 参数,并把 project development workflow 交给 [`pipeline/project-devloop.ts`](src/pipeline/project-devloop.ts)。
|
|
111
114
|
|
|
112
115
|
每轮迭代执行以下步骤:
|
|
113
116
|
|
|
114
|
-
1. `coding-manager` 扫描当前 repo、`--goal-path` 中的 goal
|
|
117
|
+
1. `coding-manager` 先判断需要回忆什么,pipeline 再召回匹配的记忆,然后 `coding-manager` 扫描当前 repo、`--goal-path` 中的 goal 和记下来的上下文,选择一个 developing task。
|
|
115
118
|
2. `developer` 加载配置的 coding-style skill,修改 repo,并报告自己改了哪些内容给 reviewer。
|
|
116
|
-
3. `code-reviewer` 阅读代码和 developer report,返回严格的 `ACCEPT` 或
|
|
119
|
+
3. `code-reviewer` 阅读代码和 developer report,返回严格的 `ACCEPT` 或 task feedback。
|
|
117
120
|
4. 如果 reviewer 返回 feedback,`developer` 继续修同一个任务,然后 `code-reviewer` 再审。
|
|
118
|
-
5. review 循环结束后,pipeline 归档 task 和 reports
|
|
121
|
+
5. review 循环结束后,pipeline 归档 task 和 reports,让 `coding-manager` 输出有什么需要记下,并通过 `memory-agent-forge` 写入记忆。
|
|
119
122
|
6. 当 `coding-manager` 返回 `FINISHED` 或达到 `--max-iterations` 时停止。
|
|
120
123
|
|
|
121
124
|
## developing-skill 和 Trajectory Feedback
|
|
122
125
|
|
|
123
|
-
[`develop-skill.sh`](develop-skill.sh) 会调用 [`pipeline/pipelineskill.ts`](src/pipeline/pipelineskill.ts) 中的 `developing-skill` pipeline
|
|
126
|
+
[`develop-skill.sh`](develop-skill.sh) 会调用 [`pipeline/pipelineskill.ts`](src/pipeline/pipelineskill.ts) 中的 `developing-skill` pipeline。它复用同一套 project development workflow,额外传入 `--metaskill-path`,并在 developer/reviewer 循环前后调用 `trajectory-optimizer`,让 coding-style skill 能根据具体开发反馈继续优化。
|
|
124
127
|
|
|
125
128
|
第一次 `trajectory-optimizer` 调用发生在 developer 开始前,使用 `scan` 模式。它会读取目标 repo、当前 coding-style skill 和 goal context,让 optimizer 拿到和代码编写循环相同的项目上下文。
|
|
126
129
|
|
|
127
|
-
第二次 `trajectory-optimizer`
|
|
130
|
+
第二次 `trajectory-optimizer` 调用发生在迭代结束后,使用 `optimize` 模式。它会读取 metaskill、target repo、goal context、current task、Developer reports 和 Reviewer feedback;根据 [`metaskills/coding-style/METASKILL.md`](metaskills/coding-style/METASKILL.md) 中写的偏好评估这次修改 trajectory 的质量;然后直接修改 coding-style skill。这个 prompt 会重点检查哪些 guidance 缺失、误导或冗余,并看这些问题是否影响 task selection、coding 或 review。
|
|
128
131
|
|
|
129
132
|
推荐的使用循环是:
|
|
130
133
|
|
|
@@ -139,31 +142,31 @@ npm run developing -- \
|
|
|
139
142
|
|
|
140
143
|
pipeline 会维护:
|
|
141
144
|
|
|
142
|
-
| Artifact | 位置
|
|
143
|
-
| -------------------- |
|
|
144
|
-
|
|
|
145
|
-
| 按时间戳归档的文件夹 | 配置的 archive 目录下,保存 selected task
|
|
145
|
+
| Artifact | 位置 |
|
|
146
|
+
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
147
|
+
| Memory files | 配置的 project progress 和 code design memory 目录下,由 `memory-agent-forge` 维护。 |
|
|
148
|
+
| 按时间戳归档的文件夹 | 配置的 archive 目录下,保存 selected task、memory recall guidance、recalled memory、Developer reports、Reviewer feedback 和 things to remember。 |
|
|
146
149
|
|
|
147
150
|
## 重要文件
|
|
148
151
|
|
|
149
152
|
| 路径 | 作用 |
|
|
150
153
|
| ---------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
|
|
151
154
|
| [`pipeline/pipeline.ts`](src/pipeline/pipeline.ts) | CLI 参数解析和基础 `developing` pipeline 包装。 |
|
|
152
|
-
| [`pipeline/
|
|
153
|
-
| [`pipeline/
|
|
155
|
+
| [`pipeline/project-devloop.ts`](src/pipeline/project-devloop.ts) | 外层 project workflow、archive 创建、memory recall/update 和各 agent 之间的交接。 |
|
|
156
|
+
| [`pipeline/task-devloop.ts`](src/pipeline/task-devloop.ts) | 针对一个 selected task 的内层 developer/reviewer 循环。 |
|
|
154
157
|
| [`pipeline/pipelineskill.ts`](src/pipeline/pipelineskill.ts) | 给基础开发循环增加 trajectory optimization callbacks 的 `developing-skill` 包装。 |
|
|
155
158
|
| [`agents/factory.ts`](src/agents/factory.ts) | 注册 developing coding manager、developer 和 reviewer agents。 |
|
|
156
159
|
| [`agents/types.ts`](src/agents/types.ts) | 共享的 workspace-aware base class 和变量定义。 |
|
|
157
|
-
| [`agents/manager.ts`](src/agents/manager.ts) |
|
|
160
|
+
| [`agents/manager.ts`](src/agents/manager.ts) | 判断需要回忆什么、选择外层任务,并输出有什么需要记下。 |
|
|
158
161
|
| [`agents/developer.ts`](src/agents/developer.ts) | 使用共享 coding-style skill 修改目标 repo。 |
|
|
159
162
|
| [`agents/reviewer.ts`](src/agents/reviewer.ts) | 执行只读代码审阅 gate。 |
|
|
160
163
|
| [`agents/trajectory-optimizer.ts`](src/agents/trajectory-optimizer.ts) | 扫描开发轨迹,并为 `developing-skill` 提出 coding-style skill 优化建议。 |
|
|
161
164
|
|
|
162
165
|
## 常见问题
|
|
163
166
|
|
|
164
|
-
| 问题
|
|
165
|
-
|
|
|
166
|
-
| Loop 以 `FINISHED` 停止
|
|
167
|
-
| 某个任务持续返回
|
|
168
|
-
| 新 goal 仍然继承旧上下文
|
|
169
|
-
| Archive 参数看起来拼错
|
|
167
|
+
| 问题 | 常见原因 | 解决办法 |
|
|
168
|
+
| ------------------------------ | ----------------------------------------------------- | -------------------------------------------------------------------------- |
|
|
169
|
+
| Loop 以 `FINISHED` 停止 | `coding-manager` 判断不需要继续选择 developing task。 | 检查 memory 目录和最新 archive。 |
|
|
170
|
+
| 某个任务持续返回 task feedback | 内层 developer/reviewer 循环尚未达到 `ACCEPT`。 | 阅读按时间戳归档的 Developer reports 和 Reviewer feedback。 |
|
|
171
|
+
| 新 goal 仍然继承旧上下文 | 某个 memory 目录里还保留旧任务状态。 | 更新 `--goal-path`;必要时编辑或删除过时 memory 文件,再重新运行 wrapper。 |
|
|
172
|
+
| Archive 参数看起来拼错 | 当前 CLI 参数名就是 `--achive-dir`。 | 在 CLI 改名前继续使用当前参数名。 |
|
package/developing-forge.yaml
CHANGED
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
# - the CLI's --target-path
|
|
5
5
|
# - each developing agent's constants.workspacePath
|
|
6
6
|
# - the developer/reviewer threads' workingDirectory
|
|
7
|
+
# - the CLI's --project-progress-memory-path and --code-design-memory-path
|
|
8
|
+
# - each memory agent's constants.workingDir
|
|
9
|
+
# - the memory thread's workingDirectory
|
|
7
10
|
#
|
|
8
11
|
# Put provider credentials in secret.yaml (git-ignored) and pass it after this
|
|
9
12
|
# file: --config developing-forge.yaml --config secret.yaml
|
|
@@ -41,6 +44,13 @@ threads:
|
|
|
41
44
|
sandboxMode: danger-full-access
|
|
42
45
|
workingDirectory: .
|
|
43
46
|
|
|
47
|
+
memory-runner:
|
|
48
|
+
runtime: codex
|
|
49
|
+
options:
|
|
50
|
+
model: gpt-5.5
|
|
51
|
+
sandboxMode: danger-full-access
|
|
52
|
+
workingDirectory: &memoryWorkspace output/developing
|
|
53
|
+
|
|
44
54
|
agents:
|
|
45
55
|
coding-manager:
|
|
46
56
|
thread: coding-manager-runner
|
|
@@ -59,3 +69,28 @@ agents:
|
|
|
59
69
|
|
|
60
70
|
trajectory-optimizer:
|
|
61
71
|
thread: trajectory-optimizer-runner
|
|
72
|
+
|
|
73
|
+
memory-reader:
|
|
74
|
+
thread: memory-runner
|
|
75
|
+
constants:
|
|
76
|
+
workingDir: *memoryWorkspace
|
|
77
|
+
|
|
78
|
+
memory-modify-planner:
|
|
79
|
+
thread: memory-runner
|
|
80
|
+
constants:
|
|
81
|
+
workingDir: *memoryWorkspace
|
|
82
|
+
|
|
83
|
+
memory-modifier:
|
|
84
|
+
thread: memory-runner
|
|
85
|
+
constants:
|
|
86
|
+
workingDir: *memoryWorkspace
|
|
87
|
+
|
|
88
|
+
memory-create-planner:
|
|
89
|
+
thread: memory-runner
|
|
90
|
+
constants:
|
|
91
|
+
workingDir: *memoryWorkspace
|
|
92
|
+
|
|
93
|
+
memory-creator:
|
|
94
|
+
thread: memory-runner
|
|
95
|
+
constants:
|
|
96
|
+
workingDir: *memoryWorkspace
|
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
import { DevelopingAgent, type DevelopingAgentVariables } from "./types.js";
|
|
2
|
-
|
|
2
|
+
type RecallDeveloperVariables = DevelopingAgentVariables & {
|
|
3
3
|
currentTask: string;
|
|
4
|
+
phase: "recall";
|
|
5
|
+
};
|
|
6
|
+
type DevelopDeveloperVariables = DevelopingAgentVariables & {
|
|
7
|
+
currentTask: string;
|
|
8
|
+
memory: string;
|
|
9
|
+
phase: "develop";
|
|
4
10
|
reviewerReport?: string;
|
|
5
11
|
};
|
|
12
|
+
type UpdateDeveloperVariables = DevelopingAgentVariables & {
|
|
13
|
+
currentTask: string;
|
|
14
|
+
memory: string;
|
|
15
|
+
phase: "update";
|
|
16
|
+
taskDevReport: string;
|
|
17
|
+
};
|
|
18
|
+
export type DeveloperVariables = RecallDeveloperVariables | DevelopDeveloperVariables | UpdateDeveloperVariables;
|
|
6
19
|
export declare class DeveloperAgent extends DevelopingAgent<DeveloperVariables> {
|
|
7
20
|
protected buildPrompt(variables: Readonly<DeveloperVariables>): string;
|
|
8
21
|
}
|
|
22
|
+
export {};
|
|
9
23
|
//# sourceMappingURL=developer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"developer.d.ts","sourceRoot":"","sources":["../../src/agents/developer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,KAAK,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE5E,
|
|
1
|
+
{"version":3,"file":"developer.d.ts","sourceRoot":"","sources":["../../src/agents/developer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,KAAK,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE5E,KAAK,wBAAwB,GAAG,wBAAwB,GAAG;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF,KAAK,yBAAyB,GAAG,wBAAwB,GAAG;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,KAAK,wBAAwB,GAAG,wBAAwB,GAAG;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,QAAQ,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC1B,wBAAwB,GACxB,yBAAyB,GACzB,wBAAwB,CAAC;AAE7B,qBAAa,cAAe,SAAQ,eAAe,CAAC,kBAAkB,CAAC;IACrE,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,MAAM;CAgEvE"}
|
package/dist/agents/developer.js
CHANGED
|
@@ -4,17 +4,54 @@ export class DeveloperAgent extends DevelopingAgent {
|
|
|
4
4
|
buildPrompt(variables) {
|
|
5
5
|
const codingStyleSkillPath = this.workspaceRelativePath(variables.codingStyleSkillPath);
|
|
6
6
|
const targetPath = this.workspaceRelativePath(variables.targetPath);
|
|
7
|
-
const reviewerReport = variables.reviewerReport ?? "(none)";
|
|
8
7
|
const codingStyleSkillInstructionText = codingStyleSkillInstruction(codingStyleSkillPath);
|
|
9
8
|
const goalInstructionText = goalInstruction(variables.goal);
|
|
10
|
-
|
|
9
|
+
if (variables.phase === "recall") {
|
|
10
|
+
return `
|
|
11
11
|
${codingStyleSkillInstructionText}
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
${goalInstructionText}
|
|
14
|
+
|
|
15
|
+
Current task:
|
|
16
|
+
${variables.currentTask}
|
|
17
|
+
|
|
18
|
+
Scan the target repository at ${targetPath}/ and decide what code design memory helps complete the current task.
|
|
19
|
+
|
|
20
|
+
Output concise code design memory recall guidance.
|
|
21
|
+
`;
|
|
22
|
+
}
|
|
23
|
+
if (variables.phase === "update") {
|
|
24
|
+
return `
|
|
25
|
+
${codingStyleSkillInstructionText}
|
|
14
26
|
|
|
15
27
|
${goalInstructionText}
|
|
16
28
|
|
|
17
|
-
Current
|
|
29
|
+
Current task:
|
|
30
|
+
${variables.currentTask}
|
|
31
|
+
|
|
32
|
+
Related code design memory before the current task:
|
|
33
|
+
${variables.memory}
|
|
34
|
+
|
|
35
|
+
Revision process for completing the current task:
|
|
36
|
+
${variables.taskDevReport}
|
|
37
|
+
|
|
38
|
+
Scan the target repository at ${targetPath}/ and consider what code logic relationships and design reasons should be remembered after the current task.
|
|
39
|
+
|
|
40
|
+
Remember code logic relationships and why the current design matches the repository.
|
|
41
|
+
`;
|
|
42
|
+
}
|
|
43
|
+
const reviewerReport = variables.reviewerReport ?? "(none)";
|
|
44
|
+
return `
|
|
45
|
+
${codingStyleSkillInstructionText}
|
|
46
|
+
|
|
47
|
+
${goalInstructionText}
|
|
48
|
+
|
|
49
|
+
Related code design memory:
|
|
50
|
+
${variables.memory}
|
|
51
|
+
|
|
52
|
+
Work in the target repository at ${targetPath}/.
|
|
53
|
+
|
|
54
|
+
Current task:
|
|
18
55
|
${variables.currentTask}
|
|
19
56
|
|
|
20
57
|
Reviewer report:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"developer.js","sourceRoot":"","sources":["../../src/agents/developer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAiC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"developer.js","sourceRoot":"","sources":["../../src/agents/developer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAiC,MAAM,YAAY,CAAC;AA0B5E,MAAM,OAAO,cAAe,SAAQ,eAAmC;IAC3D,WAAW,CAAC,SAAuC;QAC3D,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACxF,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACpE,MAAM,+BAA+B,GAAG,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;QAC1F,MAAM,mBAAmB,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE5D,IAAI,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO;EACX,+BAA+B;;EAE/B,mBAAmB;;;EAGnB,SAAS,CAAC,WAAW;;gCAES,UAAU;;;CAGzC,CAAC;QACE,CAAC;QAED,IAAI,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO;EACX,+BAA+B;;EAE/B,mBAAmB;;;EAGnB,SAAS,CAAC,WAAW;;;EAGrB,SAAS,CAAC,MAAM;;;EAGhB,SAAS,CAAC,aAAa;;gCAEO,UAAU;;;CAGzC,CAAC;QACE,CAAC;QAED,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,IAAI,QAAQ,CAAC;QAC5D,OAAO;EACT,+BAA+B;;EAE/B,mBAAmB;;;EAGnB,SAAS,CAAC,MAAM;;mCAEiB,UAAU;;;EAG3C,SAAS,CAAC,WAAW;;;EAGrB,cAAc;;;;;CAKf,CAAC;IACA,CAAC;CACF"}
|
package/dist/agents/manager.d.ts
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { DevelopingAgent, type DevelopingAgentVariables } from "./types.js";
|
|
2
|
+
type RecallCodingManagerVariables = DevelopingAgentVariables & {
|
|
3
|
+
phase: "recall";
|
|
4
|
+
};
|
|
2
5
|
type SelectCodingManagerVariables = DevelopingAgentVariables & {
|
|
3
|
-
|
|
6
|
+
memory: string;
|
|
4
7
|
finishMark: string;
|
|
5
8
|
phase: "select";
|
|
6
9
|
};
|
|
7
10
|
type UpdateCodingManagerVariables = DevelopingAgentVariables & {
|
|
8
|
-
|
|
11
|
+
memory: string;
|
|
9
12
|
finishMark: string;
|
|
10
13
|
phase: "update";
|
|
11
14
|
currentTask: string;
|
|
12
|
-
|
|
15
|
+
taskDevReport: string;
|
|
13
16
|
};
|
|
14
|
-
export type CodingManagerVariables = SelectCodingManagerVariables | UpdateCodingManagerVariables;
|
|
17
|
+
export type CodingManagerVariables = RecallCodingManagerVariables | SelectCodingManagerVariables | UpdateCodingManagerVariables;
|
|
15
18
|
export declare class CodingManagerAgent extends DevelopingAgent<CodingManagerVariables> {
|
|
16
19
|
protected buildPrompt(variables: Readonly<CodingManagerVariables>): string;
|
|
17
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/agents/manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,KAAK,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE5E,KAAK,4BAA4B,GAAG,wBAAwB,GAAG;IAC7D,QAAQ,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/agents/manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,KAAK,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE5E,KAAK,4BAA4B,GAAG,wBAAwB,GAAG;IAC7D,KAAK,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF,KAAK,4BAA4B,GAAG,wBAAwB,GAAG;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF,KAAK,4BAA4B,GAAG,wBAAwB,GAAG;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,QAAQ,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAC9B,4BAA4B,GAC5B,4BAA4B,GAC5B,4BAA4B,CAAC;AAEjC,qBAAa,kBAAmB,SAAQ,eAAe,CAAC,sBAAsB,CAAC;IAC7E,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,MAAM;CAwD3E"}
|
package/dist/agents/manager.js
CHANGED
|
@@ -4,40 +4,53 @@ export class CodingManagerAgent extends DevelopingAgent {
|
|
|
4
4
|
buildPrompt(variables) {
|
|
5
5
|
const codingStyleSkillPath = this.workspaceRelativePath(variables.codingStyleSkillPath);
|
|
6
6
|
const targetPath = this.workspaceRelativePath(variables.targetPath);
|
|
7
|
-
const todoPath = this.workspaceRelativePath(variables.todoPath);
|
|
8
7
|
const codingStyleSkillInstructionText = codingStyleSkillInstruction(codingStyleSkillPath);
|
|
9
8
|
const goalInstructionText = goalInstruction(variables.goal);
|
|
10
|
-
if (variables.phase === "
|
|
9
|
+
if (variables.phase === "recall") {
|
|
11
10
|
return `
|
|
12
11
|
${codingStyleSkillInstructionText}
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
${goalInstructionText}
|
|
14
|
+
|
|
15
|
+
Scan the target repository at ${targetPath}/ and decide what project progress memory helps select the next task for the current goal.
|
|
16
|
+
|
|
17
|
+
Output concise project progress memory recall guidance.
|
|
18
|
+
`;
|
|
19
|
+
}
|
|
20
|
+
if (variables.phase === "update") {
|
|
21
|
+
return `
|
|
22
|
+
${codingStyleSkillInstructionText}
|
|
16
23
|
|
|
17
24
|
${goalInstructionText}
|
|
18
25
|
|
|
19
|
-
|
|
26
|
+
Developing task:
|
|
20
27
|
${variables.currentTask}
|
|
21
28
|
|
|
22
|
-
|
|
23
|
-
${variables.
|
|
29
|
+
Related project progress memory before the developing task:
|
|
30
|
+
${variables.memory}
|
|
31
|
+
|
|
32
|
+
Revision process for completing the developing task:
|
|
33
|
+
${variables.taskDevReport}
|
|
24
34
|
|
|
25
|
-
|
|
35
|
+
Scan the target repository at ${targetPath}/ and consider what project progress should be remembered after the developing task.
|
|
26
36
|
|
|
27
|
-
|
|
37
|
+
Remember completed work and current project progress.
|
|
28
38
|
`;
|
|
29
39
|
}
|
|
30
40
|
return `
|
|
31
41
|
${codingStyleSkillInstructionText}
|
|
32
42
|
|
|
33
|
-
Select the next developer task for the target repository.
|
|
34
|
-
Scan the target repository at ${targetPath}/ and the TODO file at ${todoPath}.
|
|
35
|
-
|
|
36
43
|
${goalInstructionText}
|
|
37
44
|
|
|
45
|
+
Related project progress memory:
|
|
46
|
+
${variables.memory}
|
|
47
|
+
|
|
48
|
+
Scan the target repository at ${targetPath}/ and read the project progress memory related to the current goal.
|
|
49
|
+
Select the next developing task for the target repository.
|
|
50
|
+
|
|
38
51
|
Choose exactly one new bounded task for the Developer.
|
|
39
52
|
|
|
40
|
-
When no further
|
|
53
|
+
When no further developing task is needed, return exactly:
|
|
41
54
|
${variables.finishMark}
|
|
42
55
|
`;
|
|
43
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/agents/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAiC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/agents/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAiC,MAAM,YAAY,CAAC;AAyB5E,MAAM,OAAO,kBAAmB,SAAQ,eAAuC;IACnE,WAAW,CAAC,SAA2C;QAC/D,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACxF,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACpE,MAAM,+BAA+B,GAAG,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;QAC1F,MAAM,mBAAmB,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE5D,IAAI,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO;EACX,+BAA+B;;EAE/B,mBAAmB;;gCAEW,UAAU;;;CAGzC,CAAC;QACE,CAAC;QAED,IAAI,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO;EACX,+BAA+B;;EAE/B,mBAAmB;;;EAGnB,SAAS,CAAC,WAAW;;;EAGrB,SAAS,CAAC,MAAM;;;EAGhB,SAAS,CAAC,aAAa;;gCAEO,UAAU;;;CAGzC,CAAC;QACE,CAAC;QAED,OAAO;EACT,+BAA+B;;EAE/B,mBAAmB;;;EAGnB,SAAS,CAAC,MAAM;;gCAEc,UAAU;;;;;;EAMxC,SAAS,CAAC,UAAU;CACrB,CAAC;IACA,CAAC;CACF"}
|
package/dist/agents/reviewer.js
CHANGED
|
@@ -10,11 +10,11 @@ export class CodeReviewerAgent extends DevelopingAgent {
|
|
|
10
10
|
`
|
|
11
11
|
|
|
12
12
|
Work in the target repository at ${targetPath}/.
|
|
13
|
-
Review the current
|
|
13
|
+
Review the current code. Read only.
|
|
14
14
|
|
|
15
15
|
${goalInstructionText}
|
|
16
16
|
|
|
17
|
-
Current
|
|
17
|
+
Current developing task:
|
|
18
18
|
${variables.currentTask}
|
|
19
19
|
|
|
20
20
|
Developer report:
|