@fitlab-ai/agent-infra 0.3.2 → 0.4.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 +18 -33
- package/README.zh-CN.md +18 -33
- package/lib/defaults.json +3 -12
- package/lib/init.js +13 -24
- package/lib/paths.js +3 -42
- package/lib/update.js +98 -32
- package/package.json +2 -1
- package/templates/.agents/QUICKSTART.md +7 -7
- package/templates/.agents/QUICKSTART.zh-CN.md +7 -7
- package/templates/.agents/README.md +4 -4
- package/templates/.agents/README.zh-CN.md +4 -4
- package/templates/.agents/skills/analyze-task/SKILL.md +6 -6
- package/templates/.agents/skills/analyze-task/SKILL.zh-CN.md +6 -6
- package/templates/.agents/skills/block-task/SKILL.md +8 -8
- package/templates/.agents/skills/block-task/SKILL.zh-CN.md +8 -8
- package/templates/.agents/skills/check-task/SKILL.md +3 -3
- package/templates/.agents/skills/check-task/SKILL.zh-CN.md +3 -3
- package/templates/.agents/skills/commit/SKILL.md +1 -1
- package/templates/.agents/skills/commit/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/complete-task/SKILL.md +7 -7
- package/templates/.agents/skills/complete-task/SKILL.zh-CN.md +7 -7
- package/templates/.agents/skills/create-issue/SKILL.md +2 -2
- package/templates/.agents/skills/create-issue/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/create-pr/SKILL.md +1 -1
- package/templates/.agents/skills/create-pr/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/create-task/SKILL.md +4 -4
- package/templates/.agents/skills/create-task/SKILL.zh-CN.md +4 -4
- package/templates/.agents/skills/implement-task/SKILL.md +8 -8
- package/templates/.agents/skills/implement-task/SKILL.zh-CN.md +8 -8
- package/templates/.agents/skills/import-codescan/SKILL.md +1 -1
- package/templates/.agents/skills/import-codescan/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/import-dependabot/SKILL.md +3 -3
- package/templates/.agents/skills/import-dependabot/SKILL.zh-CN.md +3 -3
- package/templates/.agents/skills/import-issue/SKILL.md +5 -5
- package/templates/.agents/skills/import-issue/SKILL.zh-CN.md +5 -5
- package/templates/.agents/skills/plan-task/SKILL.md +6 -6
- package/templates/.agents/skills/plan-task/SKILL.zh-CN.md +6 -6
- package/templates/.agents/skills/refine-task/SKILL.md +3 -3
- package/templates/.agents/skills/refine-task/SKILL.zh-CN.md +3 -3
- package/templates/.agents/skills/release/SKILL.md +55 -14
- package/templates/.agents/skills/release/SKILL.zh-CN.md +55 -14
- package/templates/.agents/skills/review-task/SKILL.md +9 -9
- package/templates/.agents/skills/review-task/SKILL.zh-CN.md +9 -9
- package/templates/.agents/skills/sync-issue/SKILL.md +8 -8
- package/templates/.agents/skills/sync-issue/SKILL.zh-CN.md +8 -8
- package/templates/.agents/skills/sync-pr/SKILL.md +3 -3
- package/templates/.agents/skills/sync-pr/SKILL.zh-CN.md +3 -3
- package/templates/.agents/skills/update-agent-infra/SKILL.md +6 -6
- package/templates/.agents/skills/update-agent-infra/SKILL.zh-CN.md +6 -6
- package/templates/.agents/skills/update-agent-infra/scripts/sync-templates.js +61 -116
- package/templates/.agents/templates/handoff.md +1 -1
- package/templates/.agents/templates/handoff.zh-CN.md +1 -1
- package/templates/.agents/workflows/bug-fix.yaml +71 -71
- package/templates/.agents/workflows/bug-fix.zh-CN.yaml +1 -1
- package/templates/.agents/workflows/feature-development.yaml +71 -71
- package/templates/.agents/workflows/feature-development.zh-CN.yaml +1 -1
- package/templates/.agents/workflows/refactoring.yaml +76 -76
- package/templates/.agents/workflows/refactoring.zh-CN.yaml +1 -1
- package/templates/{.agent-workspace → .agents/workspace}/README.md +1 -1
- package/templates/{.agent-workspace → .agents/workspace}/README.zh-CN.md +1 -1
- package/templates/.claude/CLAUDE.md +1 -1
- package/templates/.claude/CLAUDE.zh-CN.md +1 -1
- package/templates/.claude/hooks/check-version-format.sh +44 -0
- package/templates/.claude/settings.json +14 -0
- package/templates/.opencode/COMMAND_STYLE_GUIDE.md +6 -6
- package/templates/.opencode/COMMAND_STYLE_GUIDE.zh-CN.md +6 -6
- package/templates/AGENTS.md +1 -1
- package/templates/AGENTS.zh-CN.md +1 -1
- package/templates/.editorconfig +0 -15
- package/templates/.github/ISSUE_TEMPLATE/01_bug_report.yml +0 -149
- package/templates/.github/ISSUE_TEMPLATE/02_question.yml +0 -101
- package/templates/.github/ISSUE_TEMPLATE/03_feature_request.yml +0 -131
- package/templates/.github/ISSUE_TEMPLATE/04_documentation.yml +0 -165
- package/templates/.github/ISSUE_TEMPLATE/05_other.yml +0 -147
- package/templates/.github/ISSUE_TEMPLATE/config.yml +0 -11
- package/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -123
- package/templates/.github/dependabot.yml +0 -17
- package/templates/.github/hooks/check-utf8-encoding.sh +0 -25
- package/templates/.github/release.yml +0 -27
- package/templates/.github/workflows/pr-title-check.yml +0 -42
- package/templates/.mailmap +0 -4
- package/templates/CONTRIBUTING.md +0 -126
- package/templates/CONTRIBUTING.zh-CN.md +0 -124
- package/templates/SECURITY.md +0 -131
- package/templates/SECURITY.zh-CN.md +0 -131
|
@@ -55,7 +55,7 @@ Get the current timestamp:
|
|
|
55
55
|
date +%Y%m%d-%H%M%S
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
-
- Create the task directory: `.
|
|
58
|
+
- Create the task directory: `.agents/workspace/active/TASK-{yyyyMMdd-HHmmss}/`
|
|
59
59
|
- Use the `.agents/templates/task.md` template to create the task file: `task.md`
|
|
60
60
|
|
|
61
61
|
**Important**:
|
|
@@ -86,7 +86,7 @@ Get the current time:
|
|
|
86
86
|
date "+%Y-%m-%d %H:%M:%S"
|
|
87
87
|
```
|
|
88
88
|
|
|
89
|
-
Update `.
|
|
89
|
+
Update `.agents/workspace/active/{task-id}/task.md`:
|
|
90
90
|
- `current_step`: requirement-analysis
|
|
91
91
|
- `assigned_to`: {current AI agent}
|
|
92
92
|
- `updated_at`: {current time}
|
|
@@ -110,7 +110,7 @@ Task information:
|
|
|
110
110
|
- Workflow: {workflow}
|
|
111
111
|
|
|
112
112
|
Output file:
|
|
113
|
-
- Task file: .
|
|
113
|
+
- Task file: .agents/workspace/active/{task-id}/task.md
|
|
114
114
|
|
|
115
115
|
Next step - run requirements analysis:
|
|
116
116
|
- Claude Code / OpenCode: /analyze-task {task-id}
|
|
@@ -120,7 +120,7 @@ Next step - run requirements analysis:
|
|
|
120
120
|
|
|
121
121
|
## Completion Checklist
|
|
122
122
|
|
|
123
|
-
- [ ] Created the task file `.
|
|
123
|
+
- [ ] Created the task file `.agents/workspace/active/{task-id}/task.md`
|
|
124
124
|
- [ ] Updated `current_step` to requirement-analysis in task.md
|
|
125
125
|
- [ ] Updated `updated_at` to the current time in task.md
|
|
126
126
|
- [ ] Updated `assigned_to` in task.md
|
|
@@ -54,7 +54,7 @@ description: >
|
|
|
54
54
|
date +%Y%m%d-%H%M%S
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
-
- 创建任务目录:`.
|
|
57
|
+
- 创建任务目录:`.agents/workspace/active/TASK-{yyyyMMdd-HHmmss}/`
|
|
58
58
|
- 使用 `.agents/templates/task.md` 模板创建任务文件:`task.md`
|
|
59
59
|
|
|
60
60
|
**重要**:
|
|
@@ -85,7 +85,7 @@ assigned_to: {当前 AI 代理}
|
|
|
85
85
|
date "+%Y-%m-%d %H:%M:%S"
|
|
86
86
|
```
|
|
87
87
|
|
|
88
|
-
更新 `.
|
|
88
|
+
更新 `.agents/workspace/active/{task-id}/task.md`:
|
|
89
89
|
- `current_step`:requirement-analysis
|
|
90
90
|
- `assigned_to`:{当前 AI 代理}
|
|
91
91
|
- `updated_at`:{当前时间}
|
|
@@ -109,7 +109,7 @@ date "+%Y-%m-%d %H:%M:%S"
|
|
|
109
109
|
- 工作流:{workflow}
|
|
110
110
|
|
|
111
111
|
产出文件:
|
|
112
|
-
- 任务文件:.
|
|
112
|
+
- 任务文件:.agents/workspace/active/{task-id}/task.md
|
|
113
113
|
|
|
114
114
|
下一步 - 执行需求分析:
|
|
115
115
|
- Claude Code / OpenCode:/analyze-task {task-id}
|
|
@@ -119,7 +119,7 @@ date "+%Y-%m-%d %H:%M:%S"
|
|
|
119
119
|
|
|
120
120
|
## 完成检查清单
|
|
121
121
|
|
|
122
|
-
- [ ] 创建了任务文件 `.
|
|
122
|
+
- [ ] 创建了任务文件 `.agents/workspace/active/{task-id}/task.md`
|
|
123
123
|
- [ ] 更新了 task.md 中的 `current_step` 为 requirement-analysis
|
|
124
124
|
- [ ] 更新了 task.md 中的 `updated_at` 为当前时间
|
|
125
125
|
- [ ] 更新了 task.md 中的 `assigned_to`
|
|
@@ -21,7 +21,7 @@ description: >
|
|
|
21
21
|
### 1. Verify Prerequisites
|
|
22
22
|
|
|
23
23
|
Check required files:
|
|
24
|
-
- `.
|
|
24
|
+
- `.agents/workspace/active/{task-id}/task.md` - Task file
|
|
25
25
|
- At least one technical plan artifact: `plan.md` or `plan-r{N}.md`
|
|
26
26
|
|
|
27
27
|
Note: `{task-id}` format is `TASK-{yyyyMMdd-HHmmss}`, e.g. `TASK-20260306-143022`
|
|
@@ -30,10 +30,10 @@ If either file is missing, prompt the user to complete the prerequisite step fir
|
|
|
30
30
|
|
|
31
31
|
### 2. Determine the Input Plan and Implementation Round
|
|
32
32
|
|
|
33
|
-
Scan `.
|
|
33
|
+
Scan `.agents/workspace/active/{task-id}/` for technical plan files (`plan.md`, `plan-r{N}.md`):
|
|
34
34
|
- Read the highest-round plan file and record it as `{plan-artifact}`
|
|
35
35
|
|
|
36
|
-
Scan `.
|
|
36
|
+
Scan `.agents/workspace/active/{task-id}/` for implementation report files:
|
|
37
37
|
- If neither `implementation.md` nor `implementation-r*.md` exists -> this is Round 1 and must create `implementation.md`
|
|
38
38
|
- If `implementation.md` exists and no `implementation-r*.md` exists -> this is Round 2 and must create `implementation-r2.md`
|
|
39
39
|
- If `implementation-r{N}.md` exists -> this is Round N+1 and must create `implementation-r{N+1}.md`
|
|
@@ -93,7 +93,7 @@ Proceed to Steps 6, 7, and 8 only after the full test suite passes.
|
|
|
93
93
|
|
|
94
94
|
### 6. Output Implementation Report
|
|
95
95
|
|
|
96
|
-
Create `.
|
|
96
|
+
Create `.agents/workspace/active/{task-id}/{implementation-artifact}`.
|
|
97
97
|
|
|
98
98
|
Requirements:
|
|
99
99
|
- Do not overwrite any existing implementation report
|
|
@@ -108,7 +108,7 @@ Get the current time:
|
|
|
108
108
|
date "+%Y-%m-%d %H:%M:%S"
|
|
109
109
|
```
|
|
110
110
|
|
|
111
|
-
Update `.
|
|
111
|
+
Update `.agents/workspace/active/{task-id}/task.md`:
|
|
112
112
|
- `current_step`: implementation
|
|
113
113
|
- `assigned_to`: {current AI agent}
|
|
114
114
|
- `updated_at`: {current time}
|
|
@@ -133,7 +133,7 @@ Summary:
|
|
|
133
133
|
- Tests passed: {count}/{total}
|
|
134
134
|
|
|
135
135
|
Output file:
|
|
136
|
-
- Implementation report: .
|
|
136
|
+
- Implementation report: .agents/workspace/active/{task-id}/{implementation-artifact} (Round {implementation-round})
|
|
137
137
|
|
|
138
138
|
Next step - code review:
|
|
139
139
|
- Claude Code / OpenCode: /review-task {task-id}
|
|
@@ -204,7 +204,7 @@ Next step - code review:
|
|
|
204
204
|
## Completion Checklist
|
|
205
205
|
|
|
206
206
|
- [ ] Completed all code implementation
|
|
207
|
-
- [ ] Created implementation report `.
|
|
207
|
+
- [ ] Created implementation report `.agents/workspace/active/{task-id}/{implementation-artifact}`
|
|
208
208
|
- [ ] All tests pass
|
|
209
209
|
- [ ] Updated `current_step` to implementation in task.md
|
|
210
210
|
- [ ] Updated `updated_at` to current time in task.md
|
|
@@ -221,7 +221,7 @@ After completing the checklist, **stop**. Do not auto-commit. Wait for code revi
|
|
|
221
221
|
|
|
222
222
|
1. **Prerequisites**: Must have a reviewed technical plan (`plan.md` or `plan-r{N}.md` exists and is approved)
|
|
223
223
|
2. **No auto-commit**: Do NOT execute `git commit` or `git add` automatically. Remind the user to commit manually
|
|
224
|
-
3. **Test requirement**: All new code must have unit tests; test coverage must not decrease
|
|
224
|
+
3. **Test requirement**: All new code must have unit tests; test coverage must not decrease. When removing a feature, delete the test fixtures and assertions that existed solely for that feature — do not mechanically flip assertions; every assertion must verify meaningful business logic, not merely confirm that data passes through unchanged
|
|
225
225
|
4. **Code quality**: Follow project coding standards
|
|
226
226
|
5. **Plan deviation**: If you need to deviate from the plan, document the reason in the implementation report
|
|
227
227
|
6. **Versioning rule**: First-round implementation uses `implementation.md`; later re-implementations use `implementation-r{N}.md`
|
|
@@ -19,7 +19,7 @@ description: >
|
|
|
19
19
|
### 1. 验证前置条件
|
|
20
20
|
|
|
21
21
|
检查必要文件:
|
|
22
|
-
- `.
|
|
22
|
+
- `.agents/workspace/active/{task-id}/task.md` - 任务文件
|
|
23
23
|
- 至少一个技术方案产物:`plan.md` 或 `plan-r{N}.md`
|
|
24
24
|
|
|
25
25
|
注意:`{task-id}` 格式为 `TASK-{yyyyMMdd-HHmmss}`,例如 `TASK-20260306-143022`
|
|
@@ -28,10 +28,10 @@ description: >
|
|
|
28
28
|
|
|
29
29
|
### 2. 确定输入方案与实现轮次
|
|
30
30
|
|
|
31
|
-
扫描 `.
|
|
31
|
+
扫描 `.agents/workspace/active/{task-id}/` 目录中的技术方案文件(`plan.md`、`plan-r{N}.md`):
|
|
32
32
|
- 读取最高轮次的方案文件,记为 `{plan-artifact}`
|
|
33
33
|
|
|
34
|
-
扫描 `.
|
|
34
|
+
扫描 `.agents/workspace/active/{task-id}/` 目录中的实现报告文件:
|
|
35
35
|
- 如果不存在 `implementation.md` 且不存在 `implementation-r*.md` → 本轮为第 1 轮,产出 `implementation.md`
|
|
36
36
|
- 如果存在 `implementation.md` 且不存在 `implementation-r*.md` → 本轮为第 2 轮,产出 `implementation-r2.md`
|
|
37
37
|
- 如果存在 `implementation-r{N}.md` → 本轮为第 N+1 轮,产出 `implementation-r{N+1}.md`
|
|
@@ -91,7 +91,7 @@ description: >
|
|
|
91
91
|
|
|
92
92
|
### 6. 输出实现报告
|
|
93
93
|
|
|
94
|
-
创建 `.
|
|
94
|
+
创建 `.agents/workspace/active/{task-id}/{implementation-artifact}`。
|
|
95
95
|
|
|
96
96
|
要求:
|
|
97
97
|
- 不要覆盖已有的实现报告
|
|
@@ -106,7 +106,7 @@ description: >
|
|
|
106
106
|
date "+%Y-%m-%d %H:%M:%S"
|
|
107
107
|
```
|
|
108
108
|
|
|
109
|
-
更新 `.
|
|
109
|
+
更新 `.agents/workspace/active/{task-id}/task.md`:
|
|
110
110
|
- `current_step`:implementation
|
|
111
111
|
- `assigned_to`:{当前 AI 代理}
|
|
112
112
|
- `updated_at`:{当前时间}
|
|
@@ -131,7 +131,7 @@ date "+%Y-%m-%d %H:%M:%S"
|
|
|
131
131
|
- 测试通过:{数量}/{总数}
|
|
132
132
|
|
|
133
133
|
产出文件:
|
|
134
|
-
- 实现报告:.
|
|
134
|
+
- 实现报告:.agents/workspace/active/{task-id}/{implementation-artifact}(Round {implementation-round})
|
|
135
135
|
|
|
136
136
|
下一步 - 代码审查:
|
|
137
137
|
- Claude Code / OpenCode:/review-task {task-id}
|
|
@@ -202,7 +202,7 @@ date "+%Y-%m-%d %H:%M:%S"
|
|
|
202
202
|
## 完成检查清单
|
|
203
203
|
|
|
204
204
|
- [ ] 完成了所有代码实现
|
|
205
|
-
- [ ] 创建了实现报告 `.
|
|
205
|
+
- [ ] 创建了实现报告 `.agents/workspace/active/{task-id}/{implementation-artifact}`
|
|
206
206
|
- [ ] 所有测试通过
|
|
207
207
|
- [ ] 更新了 task.md 中的 `current_step` 为 implementation
|
|
208
208
|
- [ ] 更新了 task.md 中的 `updated_at` 为当前时间
|
|
@@ -219,7 +219,7 @@ date "+%Y-%m-%d %H:%M:%S"
|
|
|
219
219
|
|
|
220
220
|
1. **前置条件**:必须有已审查的技术方案(`plan.md` 或 `plan-r{N}.md` 存在且已获批准)
|
|
221
221
|
2. **禁止自动提交**:不要自动执行 `git commit` 或 `git add`。提醒用户手动提交
|
|
222
|
-
3.
|
|
222
|
+
3. **测试要求**:所有新代码必须有单元测试;测试覆盖率不得下降。删除功能时,必须同时删除为该功能而存在的测试 fixture 和断言,不要机械地翻转断言方向;每条断言都应验证有意义的业务逻辑,仅确认数据原样通过的断言不构成有效测试
|
|
223
223
|
4. **代码质量**:遵循项目编码规范
|
|
224
224
|
5. **计划偏离**:如果需要偏离计划,在实现报告中记录原因
|
|
225
225
|
6. **版本化规则**:首轮实现使用 `implementation.md`;后续重实现使用 `implementation-r{N}.md`
|
|
@@ -36,7 +36,7 @@ Extract key information:
|
|
|
36
36
|
|
|
37
37
|
Check whether a task for this alert already exists. If not, create one:
|
|
38
38
|
|
|
39
|
-
Directory: `.
|
|
39
|
+
Directory: `.agents/workspace/active/TASK-{yyyyMMdd-HHmmss}/`
|
|
40
40
|
|
|
41
41
|
Task metadata:
|
|
42
42
|
```yaml
|
|
@@ -33,11 +33,11 @@ Extract key information:
|
|
|
33
33
|
|
|
34
34
|
### 2. Create the Task Directory and File
|
|
35
35
|
|
|
36
|
-
Check whether `.
|
|
36
|
+
Check whether `.agents/workspace/active/` already has a task for this alert.
|
|
37
37
|
- If found, ask the user whether to re-import
|
|
38
38
|
- If not found, create a new task
|
|
39
39
|
|
|
40
|
-
Create directory: `.
|
|
40
|
+
Create directory: `.agents/workspace/active/TASK-{yyyyMMdd-HHmmss}/`
|
|
41
41
|
|
|
42
42
|
Task metadata must include:
|
|
43
43
|
```yaml
|
|
@@ -78,7 +78,7 @@ Task information:
|
|
|
78
78
|
- Task ID: {task-id}
|
|
79
79
|
|
|
80
80
|
Output file:
|
|
81
|
-
- Task file: .
|
|
81
|
+
- Task file: .agents/workspace/active/{task-id}/task.md
|
|
82
82
|
|
|
83
83
|
Next step:
|
|
84
84
|
- Claude Code / OpenCode: /analyze-task {task-id}
|
|
@@ -32,11 +32,11 @@ gh api repos/{owner}/{repo}/dependabot/alerts/<alert-number>
|
|
|
32
32
|
|
|
33
33
|
### 2. 创建任务目录和文件
|
|
34
34
|
|
|
35
|
-
检查 `.
|
|
35
|
+
检查 `.agents/workspace/active/` 中是否已存在该告警的任务。
|
|
36
36
|
- 如果找到,询问用户是否重新导入
|
|
37
37
|
- 如果未找到,创建新任务
|
|
38
38
|
|
|
39
|
-
创建目录:`.
|
|
39
|
+
创建目录:`.agents/workspace/active/TASK-{yyyyMMdd-HHmmss}/`
|
|
40
40
|
|
|
41
41
|
任务元数据需包含:
|
|
42
42
|
```yaml
|
|
@@ -77,7 +77,7 @@ date "+%Y-%m-%d %H:%M:%S"
|
|
|
77
77
|
- 任务 ID:{task-id}
|
|
78
78
|
|
|
79
79
|
产出文件:
|
|
80
|
-
- 任务文件:.
|
|
80
|
+
- 任务文件:.agents/workspace/active/{task-id}/task.md
|
|
81
81
|
|
|
82
82
|
下一步:
|
|
83
83
|
- Claude Code / OpenCode:/analyze-task {task-id}
|
|
@@ -27,7 +27,7 @@ Extract: issue number, title, description, and labels.
|
|
|
27
27
|
|
|
28
28
|
### 2. Check for an Existing Task
|
|
29
29
|
|
|
30
|
-
Search `.
|
|
30
|
+
Search `.agents/workspace/active/` for an existing task linked to this Issue.
|
|
31
31
|
- If found, ask the user whether to re-import or continue with the existing task
|
|
32
32
|
- If not found, create a new task
|
|
33
33
|
|
|
@@ -37,7 +37,7 @@ Search `.agent-workspace/active/` for an existing task linked to this Issue.
|
|
|
37
37
|
date +%Y%m%d-%H%M%S
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
- Create the directory: `.
|
|
40
|
+
- Create the directory: `.agents/workspace/active/TASK-{yyyyMMdd-HHmmss}/`
|
|
41
41
|
- Use the `.agents/templates/task.md` template to create `task.md`
|
|
42
42
|
|
|
43
43
|
Task metadata:
|
|
@@ -62,7 +62,7 @@ Get the current time:
|
|
|
62
62
|
date "+%Y-%m-%d %H:%M:%S"
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
Update `.
|
|
65
|
+
Update `.agents/workspace/active/{task-id}/task.md`:
|
|
66
66
|
- `current_step`: requirement-analysis
|
|
67
67
|
- `assigned_to`: {current AI agent}
|
|
68
68
|
- `updated_at`: {current time}
|
|
@@ -84,7 +84,7 @@ Task information:
|
|
|
84
84
|
- Workflow: {workflow}
|
|
85
85
|
|
|
86
86
|
Output file:
|
|
87
|
-
- Task file: .
|
|
87
|
+
- Task file: .agents/workspace/active/{task-id}/task.md
|
|
88
88
|
|
|
89
89
|
Next step - run requirements analysis:
|
|
90
90
|
- Claude Code / OpenCode: /analyze-task {task-id}
|
|
@@ -94,7 +94,7 @@ Next step - run requirements analysis:
|
|
|
94
94
|
|
|
95
95
|
## Completion Checklist
|
|
96
96
|
|
|
97
|
-
- [ ] Created the task file `.
|
|
97
|
+
- [ ] Created the task file `.agents/workspace/active/{task-id}/task.md`
|
|
98
98
|
- [ ] Recorded `issue_number` in task.md
|
|
99
99
|
- [ ] Updated `current_step` to requirement-analysis
|
|
100
100
|
- [ ] Updated `updated_at` to the current time
|
|
@@ -27,7 +27,7 @@ gh issue view <issue-number> --json number,title,body,labels
|
|
|
27
27
|
|
|
28
28
|
### 2. 检查已有任务
|
|
29
29
|
|
|
30
|
-
搜索 `.
|
|
30
|
+
搜索 `.agents/workspace/active/` 中是否已有链接到此 Issue 的任务。
|
|
31
31
|
- 如果找到,询问用户是重新导入还是继续使用现有任务
|
|
32
32
|
- 如果未找到,创建新任务
|
|
33
33
|
|
|
@@ -37,7 +37,7 @@ gh issue view <issue-number> --json number,title,body,labels
|
|
|
37
37
|
date +%Y%m%d-%H%M%S
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
- 创建目录:`.
|
|
40
|
+
- 创建目录:`.agents/workspace/active/TASK-{yyyyMMdd-HHmmss}/`
|
|
41
41
|
- 使用 `.agents/templates/task.md` 模板创建 `task.md`
|
|
42
42
|
|
|
43
43
|
任务元数据:
|
|
@@ -62,7 +62,7 @@ assigned_to: {当前 AI 代理}
|
|
|
62
62
|
date "+%Y-%m-%d %H:%M:%S"
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
更新 `.
|
|
65
|
+
更新 `.agents/workspace/active/{task-id}/task.md`:
|
|
66
66
|
- `current_step`:requirement-analysis
|
|
67
67
|
- `assigned_to`:{当前 AI 代理}
|
|
68
68
|
- `updated_at`:{当前时间}
|
|
@@ -84,7 +84,7 @@ Issue #{number} 已导入。
|
|
|
84
84
|
- 工作流:{workflow}
|
|
85
85
|
|
|
86
86
|
产出文件:
|
|
87
|
-
- 任务文件:.
|
|
87
|
+
- 任务文件:.agents/workspace/active/{task-id}/task.md
|
|
88
88
|
|
|
89
89
|
下一步 - 执行需求分析:
|
|
90
90
|
- Claude Code / OpenCode:/analyze-task {task-id}
|
|
@@ -94,7 +94,7 @@ Issue #{number} 已导入。
|
|
|
94
94
|
|
|
95
95
|
## 完成检查清单
|
|
96
96
|
|
|
97
|
-
- [ ] 创建了任务文件 `.
|
|
97
|
+
- [ ] 创建了任务文件 `.agents/workspace/active/{task-id}/task.md`
|
|
98
98
|
- [ ] 在 task.md 中记录了 issue_number
|
|
99
99
|
- [ ] 更新了 `current_step` 为 requirement-analysis
|
|
100
100
|
- [ ] 更新了 `updated_at` 为当前时间
|
|
@@ -20,7 +20,7 @@ description: >
|
|
|
20
20
|
### 1. Verify Prerequisites
|
|
21
21
|
|
|
22
22
|
Check required files:
|
|
23
|
-
- `.
|
|
23
|
+
- `.agents/workspace/active/{task-id}/task.md` - Task file
|
|
24
24
|
- At least one analysis artifact: `analysis.md` or `analysis-r{N}.md`
|
|
25
25
|
|
|
26
26
|
Note: `{task-id}` format is `TASK-{yyyyMMdd-HHmmss}`, for example `TASK-20260306-143022`
|
|
@@ -29,7 +29,7 @@ If any required file is missing, prompt the user to complete the prerequisite st
|
|
|
29
29
|
|
|
30
30
|
### 2. Determine the Plan Round
|
|
31
31
|
|
|
32
|
-
Scan `.
|
|
32
|
+
Scan `.agents/workspace/active/{task-id}/` for plan artifact files:
|
|
33
33
|
- If neither `plan.md` nor `plan-r*.md` exists -> this is Round 1 and must create `plan.md`
|
|
34
34
|
- If `plan.md` exists and no `plan-r*.md` exists -> this is Round 2 and must create `plan-r2.md`
|
|
35
35
|
- If `plan-r{N}.md` exists -> this is Round N+1 and must create `plan-r{N+1}.md`
|
|
@@ -77,7 +77,7 @@ Follow the `technical-design` step in `.agents/workflows/feature-development.yam
|
|
|
77
77
|
|
|
78
78
|
### 6. Output Plan Document
|
|
79
79
|
|
|
80
|
-
Create `.
|
|
80
|
+
Create `.agents/workspace/active/{task-id}/{plan-artifact}`.
|
|
81
81
|
|
|
82
82
|
### 7. Update Task Status
|
|
83
83
|
|
|
@@ -87,7 +87,7 @@ Get the current time:
|
|
|
87
87
|
date "+%Y-%m-%d %H:%M:%S"
|
|
88
88
|
```
|
|
89
89
|
|
|
90
|
-
Update `.
|
|
90
|
+
Update `.agents/workspace/active/{task-id}/task.md`:
|
|
91
91
|
- `current_step`: technical-design
|
|
92
92
|
- `assigned_to`: {current AI agent}
|
|
93
93
|
- `updated_at`: {current time}
|
|
@@ -115,7 +115,7 @@ Plan summary:
|
|
|
115
115
|
- Estimated complexity: {assessment}
|
|
116
116
|
|
|
117
117
|
Output file:
|
|
118
|
-
- Technical plan: .
|
|
118
|
+
- Technical plan: .agents/workspace/active/{task-id}/{plan-artifact}
|
|
119
119
|
|
|
120
120
|
Important: human review checkpoint.
|
|
121
121
|
Please review the technical plan before continuing to implementation.
|
|
@@ -200,7 +200,7 @@ Next step - implement the task:
|
|
|
200
200
|
|
|
201
201
|
- [ ] Read and understood the requirements analysis
|
|
202
202
|
- [ ] Considered alternative options
|
|
203
|
-
- [ ] Created the plan document `.
|
|
203
|
+
- [ ] Created the plan document `.agents/workspace/active/{task-id}/{plan-artifact}`
|
|
204
204
|
- [ ] Updated `current_step` to technical-design in task.md
|
|
205
205
|
- [ ] Updated `updated_at` to the current time in task.md
|
|
206
206
|
- [ ] Recorded `{plan-artifact}` as a completed artifact in task.md
|
|
@@ -18,7 +18,7 @@ description: >
|
|
|
18
18
|
### 1. 验证前置条件
|
|
19
19
|
|
|
20
20
|
检查必要文件:
|
|
21
|
-
- `.
|
|
21
|
+
- `.agents/workspace/active/{task-id}/task.md` - 任务文件
|
|
22
22
|
- 至少一个分析产物:`analysis.md` 或 `analysis-r{N}.md`
|
|
23
23
|
|
|
24
24
|
注意:`{task-id}` 格式为 `TASK-{yyyyMMdd-HHmmss}`,例如 `TASK-20260306-143022`
|
|
@@ -27,7 +27,7 @@ description: >
|
|
|
27
27
|
|
|
28
28
|
### 2. 确定方案轮次
|
|
29
29
|
|
|
30
|
-
扫描 `.
|
|
30
|
+
扫描 `.agents/workspace/active/{task-id}/` 目录中的方案产物文件:
|
|
31
31
|
- 如果不存在 `plan.md` 且不存在 `plan-r*.md` → 本轮为第 1 轮,产出 `plan.md`
|
|
32
32
|
- 如果存在 `plan.md` 且不存在 `plan-r*.md` → 本轮为第 2 轮,产出 `plan-r2.md`
|
|
33
33
|
- 如果存在 `plan-r{N}.md` → 本轮为第 N+1 轮,产出 `plan-r{N+1}.md`
|
|
@@ -75,7 +75,7 @@ description: >
|
|
|
75
75
|
|
|
76
76
|
### 6. 输出计划文档
|
|
77
77
|
|
|
78
|
-
创建 `.
|
|
78
|
+
创建 `.agents/workspace/active/{task-id}/{plan-artifact}`。
|
|
79
79
|
|
|
80
80
|
### 7. 更新任务状态
|
|
81
81
|
|
|
@@ -85,7 +85,7 @@ description: >
|
|
|
85
85
|
date "+%Y-%m-%d %H:%M:%S"
|
|
86
86
|
```
|
|
87
87
|
|
|
88
|
-
更新 `.
|
|
88
|
+
更新 `.agents/workspace/active/{task-id}/task.md`:
|
|
89
89
|
- `current_step`:technical-design
|
|
90
90
|
- `assigned_to`:{当前 AI 代理}
|
|
91
91
|
- `updated_at`:{当前时间}
|
|
@@ -113,7 +113,7 @@ date "+%Y-%m-%d %H:%M:%S"
|
|
|
113
113
|
- 预估复杂度:{评估}
|
|
114
114
|
|
|
115
115
|
产出文件:
|
|
116
|
-
- 技术方案:.
|
|
116
|
+
- 技术方案:.agents/workspace/active/{task-id}/{plan-artifact}
|
|
117
117
|
|
|
118
118
|
重要:人工审查检查点。
|
|
119
119
|
请在继续实现之前审查技术方案。
|
|
@@ -198,7 +198,7 @@ date "+%Y-%m-%d %H:%M:%S"
|
|
|
198
198
|
|
|
199
199
|
- [ ] 阅读并理解了需求分析
|
|
200
200
|
- [ ] 考虑了备选方案
|
|
201
|
-
- [ ] 创建了计划文档 `.
|
|
201
|
+
- [ ] 创建了计划文档 `.agents/workspace/active/{task-id}/{plan-artifact}`
|
|
202
202
|
- [ ] 更新了 task.md 中的 `current_step` 为 technical-design
|
|
203
203
|
- [ ] 更新了 task.md 中的 `updated_at` 为当前时间
|
|
204
204
|
- [ ] 在 task.md 中记录了 `{plan-artifact}` 为已完成产物
|
|
@@ -20,7 +20,7 @@ description: >
|
|
|
20
20
|
### 1. Verify Prerequisites
|
|
21
21
|
|
|
22
22
|
Check required files:
|
|
23
|
-
- `.
|
|
23
|
+
- `.agents/workspace/active/{task-id}/task.md` - Task file
|
|
24
24
|
- At least one review artifact: `review.md` or `review-r{N}.md`
|
|
25
25
|
|
|
26
26
|
Note: `{task-id}` format is `TASK-{yyyyMMdd-HHmmss}`, for example `TASK-20260306-143022`
|
|
@@ -86,7 +86,7 @@ Ensure all tests still pass after the fixes.
|
|
|
86
86
|
|
|
87
87
|
### 6. Create Refinement Report
|
|
88
88
|
|
|
89
|
-
Create `.
|
|
89
|
+
Create `.agents/workspace/active/{task-id}/{refinement-artifact}`.
|
|
90
90
|
|
|
91
91
|
### 7. Update Task Status
|
|
92
92
|
|
|
@@ -96,7 +96,7 @@ Get the current time:
|
|
|
96
96
|
date "+%Y-%m-%d %H:%M:%S"
|
|
97
97
|
```
|
|
98
98
|
|
|
99
|
-
Update `.
|
|
99
|
+
Update `.agents/workspace/active/{task-id}/task.md`:
|
|
100
100
|
- `current_step`: refinement
|
|
101
101
|
- `assigned_to`: {current AI agent}
|
|
102
102
|
- `updated_at`: {current time}
|
|
@@ -18,7 +18,7 @@ description: >
|
|
|
18
18
|
### 1. 验证前置条件
|
|
19
19
|
|
|
20
20
|
检查必要文件:
|
|
21
|
-
- `.
|
|
21
|
+
- `.agents/workspace/active/{task-id}/task.md` - 任务文件
|
|
22
22
|
- 至少一个审查产物:`review.md` 或 `review-r{N}.md`
|
|
23
23
|
|
|
24
24
|
注意:`{task-id}` 格式为 `TASK-{yyyyMMdd-HHmmss}`,例如 `TASK-20260306-143022`
|
|
@@ -84,7 +84,7 @@ description: >
|
|
|
84
84
|
|
|
85
85
|
### 6. 创建修复报告
|
|
86
86
|
|
|
87
|
-
创建 `.
|
|
87
|
+
创建 `.agents/workspace/active/{task-id}/{refinement-artifact}`。
|
|
88
88
|
|
|
89
89
|
### 7. 更新任务状态
|
|
90
90
|
|
|
@@ -94,7 +94,7 @@ description: >
|
|
|
94
94
|
date "+%Y-%m-%d %H:%M:%S"
|
|
95
95
|
```
|
|
96
96
|
|
|
97
|
-
更新 `.
|
|
97
|
+
更新 `.agents/workspace/active/{task-id}/task.md`:
|
|
98
98
|
- `current_step`:refinement
|
|
99
99
|
- `assigned_to`:{当前 AI 代理}
|
|
100
100
|
- `updated_at`:{当前时间}
|
|
@@ -31,7 +31,26 @@ git status --short
|
|
|
31
31
|
|
|
32
32
|
If there are uncommitted changes, error: "Workspace has uncommitted changes. Please commit or stash first."
|
|
33
33
|
|
|
34
|
-
### Step 3:
|
|
34
|
+
### Step 3: Pre-release Verification
|
|
35
|
+
|
|
36
|
+
<!-- TODO: Replace with your project's pre-release verification steps -->
|
|
37
|
+
|
|
38
|
+
Run any checks that must pass before preparing a release:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
git branch --show-current
|
|
42
|
+
# TODO: Replace with your project's test/build verification commands
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Verification guidance:
|
|
46
|
+
- Confirm the release is being prepared from the correct branch for your project
|
|
47
|
+
- Run the full validation commands required by your release process
|
|
48
|
+
|
|
49
|
+
Handling rules:
|
|
50
|
+
- If the current branch is unexpected, print a warning or exit based on your policy
|
|
51
|
+
- If any verification command fails, stop the release process and fix the issue first
|
|
52
|
+
|
|
53
|
+
### Step 4: Update Version References
|
|
35
54
|
|
|
36
55
|
<!-- TODO: Replace with your project's version update steps -->
|
|
37
56
|
|
|
@@ -45,6 +64,7 @@ Search for version references in project files and update them:
|
|
|
45
64
|
|
|
46
65
|
**Common files to update**:
|
|
47
66
|
- `package.json` (Node.js)
|
|
67
|
+
- `package-lock.json` (Node.js; run `npm install --package-lock-only` after updating `package.json`)
|
|
48
68
|
- `pom.xml` (Maven)
|
|
49
69
|
- `setup.py` / `pyproject.toml` (Python)
|
|
50
70
|
- `version.go` (Go)
|
|
@@ -52,22 +72,39 @@ Search for version references in project files and update them:
|
|
|
52
72
|
- `SECURITY.md` / `SECURITY.zh-CN.md` (supported version table)
|
|
53
73
|
|
|
54
74
|
**Exclude from version replacement**:
|
|
55
|
-
- `.agents/`, `.
|
|
75
|
+
- `.agents/`, `.agents/workspace/`, `.claude/`, `.codex/`, `.gemini/`, `.opencode/` (AI tool configs)
|
|
76
|
+
|
|
77
|
+
If the project uses `package-lock.json`, run `npm install --package-lock-only` after updating `package.json` so the lockfile version stays in sync.
|
|
78
|
+
|
|
79
|
+
### Step 5: Rebuild Artifacts
|
|
56
80
|
|
|
57
|
-
|
|
81
|
+
<!-- TODO: Replace with your project's artifact rebuild steps -->
|
|
82
|
+
|
|
83
|
+
If version updates affect generated files, embedded metadata, or bundled assets, rebuild them now:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
# TODO: Replace with your project's rebuild command(s)
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Execution guidance:
|
|
90
|
+
- Run this after updating version references so generated artifacts pick up the new version
|
|
91
|
+
- If your project has no generated artifacts, document that explicitly in the project-specific skill
|
|
92
|
+
- If the rebuild fails, stop the release process and fix the build first
|
|
93
|
+
|
|
94
|
+
### Step 6: Create Release Commit
|
|
58
95
|
|
|
59
96
|
```bash
|
|
60
97
|
git add -A
|
|
61
98
|
git commit -m "chore: release v{version}"
|
|
62
99
|
```
|
|
63
100
|
|
|
64
|
-
### Step
|
|
101
|
+
### Step 7: Create Git Tag
|
|
65
102
|
|
|
66
103
|
```bash
|
|
67
104
|
git tag v{version}
|
|
68
105
|
```
|
|
69
106
|
|
|
70
|
-
### Step
|
|
107
|
+
### Step 8: Manage Milestones
|
|
71
108
|
|
|
72
109
|
Close the milestone for the released version when it exists, and create the missing planning milestones for the next cycle.
|
|
73
110
|
|
|
@@ -84,7 +121,7 @@ The script is responsible for:
|
|
|
84
121
|
- When `PATCH=0`, also ensuring `{MAJOR}.{MINOR+1}.0` and `{MAJOR}.{MINOR+1}.x`
|
|
85
122
|
- Printing a milestone summary with the released milestone action and new milestone count
|
|
86
123
|
|
|
87
|
-
### Step
|
|
124
|
+
### Step 9: Output Summary
|
|
88
125
|
|
|
89
126
|
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent.
|
|
90
127
|
|
|
@@ -100,12 +137,12 @@ Files updated: {count}
|
|
|
100
137
|
|
|
101
138
|
Next steps (manual):
|
|
102
139
|
|
|
103
|
-
1. Push
|
|
104
|
-
git push origin v{version}
|
|
105
|
-
|
|
106
|
-
2. Push branch:
|
|
140
|
+
1. Push branch:
|
|
107
141
|
git push origin {current-branch}
|
|
108
142
|
|
|
143
|
+
2. Push tag:
|
|
144
|
+
git push origin v{version}
|
|
145
|
+
|
|
109
146
|
3. (Optional) Generate release notes:
|
|
110
147
|
- Claude Code / OpenCode: /create-release-note {version}
|
|
111
148
|
- Gemini CLI: /{{project}}:create-release-note {version}
|
|
@@ -130,13 +167,17 @@ git checkout -- .
|
|
|
130
167
|
|
|
131
168
|
1. **Clean workspace required**: Must have no uncommitted changes
|
|
132
169
|
2. **No auto-push**: All operations are local only; user pushes manually
|
|
133
|
-
3. **
|
|
134
|
-
4. **
|
|
135
|
-
5. **
|
|
136
|
-
6. **
|
|
170
|
+
3. **Pre-release verification**: Replace the Step 3 TODOs with the branch, test, and validation commands your release process requires
|
|
171
|
+
4. **Generated artifacts**: Replace the Step 5 TODOs when version changes affect generated files, bundled assets, or embedded metadata
|
|
172
|
+
5. **Release automation**: If pushing a tag triggers CI/CD or package publishing, confirm the required credentials and pipeline settings first
|
|
173
|
+
6. **Version replacement scope**: Search determines which files to update; exclude AI tool directories
|
|
174
|
+
7. **Adapt to your project**: The version update and rebuild steps above are generic; customize them for your project's versioning scheme
|
|
175
|
+
8. **Milestone coordination**: Releases should create the next planning milestones automatically; initialize the taxonomy first with `init-milestones` when needed
|
|
137
176
|
|
|
138
177
|
## Error Handling
|
|
139
178
|
|
|
140
179
|
- Invalid version format: Prompt correct format and exit
|
|
141
180
|
- Dirty workspace: Prompt to commit or stash
|
|
181
|
+
- Verification failure: Display the failing check and stop the release
|
|
182
|
+
- Artifact rebuild failure: Display the build error and stop the release
|
|
142
183
|
- Git operation failure: Display error and provide rollback instructions
|