@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.
Files changed (85) hide show
  1. package/README.md +18 -33
  2. package/README.zh-CN.md +18 -33
  3. package/lib/defaults.json +3 -12
  4. package/lib/init.js +13 -24
  5. package/lib/paths.js +3 -42
  6. package/lib/update.js +98 -32
  7. package/package.json +2 -1
  8. package/templates/.agents/QUICKSTART.md +7 -7
  9. package/templates/.agents/QUICKSTART.zh-CN.md +7 -7
  10. package/templates/.agents/README.md +4 -4
  11. package/templates/.agents/README.zh-CN.md +4 -4
  12. package/templates/.agents/skills/analyze-task/SKILL.md +6 -6
  13. package/templates/.agents/skills/analyze-task/SKILL.zh-CN.md +6 -6
  14. package/templates/.agents/skills/block-task/SKILL.md +8 -8
  15. package/templates/.agents/skills/block-task/SKILL.zh-CN.md +8 -8
  16. package/templates/.agents/skills/check-task/SKILL.md +3 -3
  17. package/templates/.agents/skills/check-task/SKILL.zh-CN.md +3 -3
  18. package/templates/.agents/skills/commit/SKILL.md +1 -1
  19. package/templates/.agents/skills/commit/SKILL.zh-CN.md +1 -1
  20. package/templates/.agents/skills/complete-task/SKILL.md +7 -7
  21. package/templates/.agents/skills/complete-task/SKILL.zh-CN.md +7 -7
  22. package/templates/.agents/skills/create-issue/SKILL.md +2 -2
  23. package/templates/.agents/skills/create-issue/SKILL.zh-CN.md +2 -2
  24. package/templates/.agents/skills/create-pr/SKILL.md +1 -1
  25. package/templates/.agents/skills/create-pr/SKILL.zh-CN.md +1 -1
  26. package/templates/.agents/skills/create-task/SKILL.md +4 -4
  27. package/templates/.agents/skills/create-task/SKILL.zh-CN.md +4 -4
  28. package/templates/.agents/skills/implement-task/SKILL.md +8 -8
  29. package/templates/.agents/skills/implement-task/SKILL.zh-CN.md +8 -8
  30. package/templates/.agents/skills/import-codescan/SKILL.md +1 -1
  31. package/templates/.agents/skills/import-codescan/SKILL.zh-CN.md +1 -1
  32. package/templates/.agents/skills/import-dependabot/SKILL.md +3 -3
  33. package/templates/.agents/skills/import-dependabot/SKILL.zh-CN.md +3 -3
  34. package/templates/.agents/skills/import-issue/SKILL.md +5 -5
  35. package/templates/.agents/skills/import-issue/SKILL.zh-CN.md +5 -5
  36. package/templates/.agents/skills/plan-task/SKILL.md +6 -6
  37. package/templates/.agents/skills/plan-task/SKILL.zh-CN.md +6 -6
  38. package/templates/.agents/skills/refine-task/SKILL.md +3 -3
  39. package/templates/.agents/skills/refine-task/SKILL.zh-CN.md +3 -3
  40. package/templates/.agents/skills/release/SKILL.md +55 -14
  41. package/templates/.agents/skills/release/SKILL.zh-CN.md +55 -14
  42. package/templates/.agents/skills/review-task/SKILL.md +9 -9
  43. package/templates/.agents/skills/review-task/SKILL.zh-CN.md +9 -9
  44. package/templates/.agents/skills/sync-issue/SKILL.md +8 -8
  45. package/templates/.agents/skills/sync-issue/SKILL.zh-CN.md +8 -8
  46. package/templates/.agents/skills/sync-pr/SKILL.md +3 -3
  47. package/templates/.agents/skills/sync-pr/SKILL.zh-CN.md +3 -3
  48. package/templates/.agents/skills/update-agent-infra/SKILL.md +6 -6
  49. package/templates/.agents/skills/update-agent-infra/SKILL.zh-CN.md +6 -6
  50. package/templates/.agents/skills/update-agent-infra/scripts/sync-templates.js +61 -116
  51. package/templates/.agents/templates/handoff.md +1 -1
  52. package/templates/.agents/templates/handoff.zh-CN.md +1 -1
  53. package/templates/.agents/workflows/bug-fix.yaml +71 -71
  54. package/templates/.agents/workflows/bug-fix.zh-CN.yaml +1 -1
  55. package/templates/.agents/workflows/feature-development.yaml +71 -71
  56. package/templates/.agents/workflows/feature-development.zh-CN.yaml +1 -1
  57. package/templates/.agents/workflows/refactoring.yaml +76 -76
  58. package/templates/.agents/workflows/refactoring.zh-CN.yaml +1 -1
  59. package/templates/{.agent-workspace → .agents/workspace}/README.md +1 -1
  60. package/templates/{.agent-workspace → .agents/workspace}/README.zh-CN.md +1 -1
  61. package/templates/.claude/CLAUDE.md +1 -1
  62. package/templates/.claude/CLAUDE.zh-CN.md +1 -1
  63. package/templates/.claude/hooks/check-version-format.sh +44 -0
  64. package/templates/.claude/settings.json +14 -0
  65. package/templates/.opencode/COMMAND_STYLE_GUIDE.md +6 -6
  66. package/templates/.opencode/COMMAND_STYLE_GUIDE.zh-CN.md +6 -6
  67. package/templates/AGENTS.md +1 -1
  68. package/templates/AGENTS.zh-CN.md +1 -1
  69. package/templates/.editorconfig +0 -15
  70. package/templates/.github/ISSUE_TEMPLATE/01_bug_report.yml +0 -149
  71. package/templates/.github/ISSUE_TEMPLATE/02_question.yml +0 -101
  72. package/templates/.github/ISSUE_TEMPLATE/03_feature_request.yml +0 -131
  73. package/templates/.github/ISSUE_TEMPLATE/04_documentation.yml +0 -165
  74. package/templates/.github/ISSUE_TEMPLATE/05_other.yml +0 -147
  75. package/templates/.github/ISSUE_TEMPLATE/config.yml +0 -11
  76. package/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -123
  77. package/templates/.github/dependabot.yml +0 -17
  78. package/templates/.github/hooks/check-utf8-encoding.sh +0 -25
  79. package/templates/.github/release.yml +0 -27
  80. package/templates/.github/workflows/pr-title-check.yml +0 -42
  81. package/templates/.mailmap +0 -4
  82. package/templates/CONTRIBUTING.md +0 -126
  83. package/templates/CONTRIBUTING.zh-CN.md +0 -124
  84. package/templates/SECURITY.md +0 -131
  85. 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: `.agent-workspace/active/TASK-{yyyyMMdd-HHmmss}/`
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 `.agent-workspace/active/{task-id}/task.md`:
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: .agent-workspace/active/{task-id}/task.md
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 `.agent-workspace/active/{task-id}/task.md`
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
- - 创建任务目录:`.agent-workspace/active/TASK-{yyyyMMdd-HHmmss}/`
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
- 更新 `.agent-workspace/active/{task-id}/task.md`:
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
- - 任务文件:.agent-workspace/active/{task-id}/task.md
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
- - [ ] 创建了任务文件 `.agent-workspace/active/{task-id}/task.md`
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
- - `.agent-workspace/active/{task-id}/task.md` - Task file
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 `.agent-workspace/active/{task-id}/` for technical plan files (`plan.md`, `plan-r{N}.md`):
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 `.agent-workspace/active/{task-id}/` for implementation report files:
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 `.agent-workspace/active/{task-id}/{implementation-artifact}`.
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 `.agent-workspace/active/{task-id}/task.md`:
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: .agent-workspace/active/{task-id}/{implementation-artifact} (Round {implementation-round})
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 `.agent-workspace/active/{task-id}/{implementation-artifact}`
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
- - `.agent-workspace/active/{task-id}/task.md` - 任务文件
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
- 扫描 `.agent-workspace/active/{task-id}/` 目录中的技术方案文件(`plan.md`、`plan-r{N}.md`):
31
+ 扫描 `.agents/workspace/active/{task-id}/` 目录中的技术方案文件(`plan.md`、`plan-r{N}.md`):
32
32
  - 读取最高轮次的方案文件,记为 `{plan-artifact}`
33
33
 
34
- 扫描 `.agent-workspace/active/{task-id}/` 目录中的实现报告文件:
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
- 创建 `.agent-workspace/active/{task-id}/{implementation-artifact}`。
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
- 更新 `.agent-workspace/active/{task-id}/task.md`:
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
- - 实现报告:.agent-workspace/active/{task-id}/{implementation-artifact}(Round {implementation-round})
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
- - [ ] 创建了实现报告 `.agent-workspace/active/{task-id}/{implementation-artifact}`
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: `.agent-workspace/active/TASK-{yyyyMMdd-HHmmss}/`
39
+ Directory: `.agents/workspace/active/TASK-{yyyyMMdd-HHmmss}/`
40
40
 
41
41
  Task metadata:
42
42
  ```yaml
@@ -35,7 +35,7 @@ gh api repos/{owner}/{repo}/code-scanning/alerts/<alert-number>
35
35
 
36
36
  检查是否已存在该告警的任务。如果不存在,创建:
37
37
 
38
- 目录:`.agent-workspace/active/TASK-{yyyyMMdd-HHmmss}/`
38
+ 目录:`.agents/workspace/active/TASK-{yyyyMMdd-HHmmss}/`
39
39
 
40
40
  任务元数据:
41
41
  ```yaml
@@ -33,11 +33,11 @@ Extract key information:
33
33
 
34
34
  ### 2. Create the Task Directory and File
35
35
 
36
- Check whether `.agent-workspace/active/` already has a task for this alert.
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: `.agent-workspace/active/TASK-{yyyyMMdd-HHmmss}/`
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: .agent-workspace/active/{task-id}/task.md
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
- 检查 `.agent-workspace/active/` 中是否已存在该告警的任务。
35
+ 检查 `.agents/workspace/active/` 中是否已存在该告警的任务。
36
36
  - 如果找到,询问用户是否重新导入
37
37
  - 如果未找到,创建新任务
38
38
 
39
- 创建目录:`.agent-workspace/active/TASK-{yyyyMMdd-HHmmss}/`
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
- - 任务文件:.agent-workspace/active/{task-id}/task.md
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 `.agent-workspace/active/` for an existing task linked to this Issue.
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: `.agent-workspace/active/TASK-{yyyyMMdd-HHmmss}/`
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 `.agent-workspace/active/{task-id}/task.md`:
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: .agent-workspace/active/{task-id}/task.md
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 `.agent-workspace/active/{task-id}/task.md`
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
- 搜索 `.agent-workspace/active/` 中是否已有链接到此 Issue 的任务。
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
- - 创建目录:`.agent-workspace/active/TASK-{yyyyMMdd-HHmmss}/`
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
- 更新 `.agent-workspace/active/{task-id}/task.md`:
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
- - 任务文件:.agent-workspace/active/{task-id}/task.md
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
- - [ ] 创建了任务文件 `.agent-workspace/active/{task-id}/task.md`
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
- - `.agent-workspace/active/{task-id}/task.md` - Task file
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 `.agent-workspace/active/{task-id}/` for plan artifact files:
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 `.agent-workspace/active/{task-id}/{plan-artifact}`.
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 `.agent-workspace/active/{task-id}/task.md`:
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: .agent-workspace/active/{task-id}/{plan-artifact}
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 `.agent-workspace/active/{task-id}/{plan-artifact}`
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
- - `.agent-workspace/active/{task-id}/task.md` - 任务文件
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
- 扫描 `.agent-workspace/active/{task-id}/` 目录中的方案产物文件:
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
- 创建 `.agent-workspace/active/{task-id}/{plan-artifact}`。
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
- 更新 `.agent-workspace/active/{task-id}/task.md`:
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
- - 技术方案:.agent-workspace/active/{task-id}/{plan-artifact}
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
- - [ ] 创建了计划文档 `.agent-workspace/active/{task-id}/{plan-artifact}`
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
- - `.agent-workspace/active/{task-id}/task.md` - Task file
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 `.agent-workspace/active/{task-id}/{refinement-artifact}`.
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 `.agent-workspace/active/{task-id}/task.md`:
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
- - `.agent-workspace/active/{task-id}/task.md` - 任务文件
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
- 创建 `.agent-workspace/active/{task-id}/{refinement-artifact}`。
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
- 更新 `.agent-workspace/active/{task-id}/task.md`:
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: Update Version References
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/`, `.agent-workspace/`, `.claude/`, `.codex/`, `.gemini/`, `.opencode/` (AI tool configs)
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
- ### Step 4: Create Release Commit
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 5: Create Git Tag
101
+ ### Step 7: Create Git Tag
65
102
 
66
103
  ```bash
67
104
  git tag v{version}
68
105
  ```
69
106
 
70
- ### Step 6: Manage Milestones
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 7: Output Summary
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 tag:
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. **No build verification**: Run the test skill before releasing to verify
134
- 4. **Version replacement scope**: Search determines which files to update; exclude AI tool directories
135
- 5. **Adapt to your project**: The version update steps above are generic; customize for your project's versioning scheme
136
- 6. **Milestone coordination**: Releases should create the next planning milestones automatically; initialize the taxonomy first with `init-milestones` when needed
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