@fitlab-ai/agent-infra 0.5.6 → 0.5.8
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 +92 -4
- package/README.zh-CN.md +92 -4
- package/bin/cli.js +28 -4
- package/lib/defaults.json +5 -2
- package/lib/init.js +86 -5
- package/lib/prompt.js +28 -1
- package/lib/render.js +1 -1
- package/lib/sandbox/commands/rm.js +6 -4
- package/lib/sandbox/commands/vm.js +43 -16
- package/lib/sandbox/config.js +5 -0
- package/lib/sandbox/engine.js +144 -16
- package/lib/sandbox/shell.js +36 -2
- package/lib/sandbox/task-resolver.js +13 -6
- package/lib/update.js +14 -3
- package/package.json +5 -5
- package/templates/.agents/QUICKSTART.en.md +19 -2
- package/templates/.agents/QUICKSTART.zh-CN.md +19 -2
- package/templates/.agents/README.en.md +71 -2
- package/templates/.agents/README.zh-CN.md +71 -2
- package/templates/.agents/rules/issue-pr-commands.en.md +5 -0
- package/templates/.agents/rules/issue-pr-commands.github.en.md +60 -0
- package/templates/.agents/rules/issue-pr-commands.github.zh-CN.md +60 -0
- package/templates/.agents/rules/issue-pr-commands.zh-CN.md +5 -0
- package/templates/.agents/rules/issue-sync.en.md +19 -0
- package/templates/.agents/rules/issue-sync.github.en.md +14 -0
- package/templates/.agents/rules/issue-sync.github.zh-CN.md +14 -0
- package/templates/.agents/rules/issue-sync.zh-CN.md +19 -0
- package/templates/.agents/rules/label-milestone-setup.en.md +5 -0
- package/templates/.agents/rules/label-milestone-setup.github.en.md +10 -0
- package/templates/.agents/rules/label-milestone-setup.github.zh-CN.md +10 -0
- package/templates/.agents/rules/label-milestone-setup.zh-CN.md +5 -0
- package/templates/.agents/rules/milestone-inference.en.md +5 -0
- package/templates/.agents/rules/milestone-inference.zh-CN.md +5 -0
- package/templates/.agents/rules/pr-sync.en.md +5 -0
- package/templates/.agents/rules/pr-sync.zh-CN.md +5 -0
- package/templates/.agents/rules/release-commands.en.md +5 -0
- package/templates/.agents/rules/release-commands.github.en.md +16 -0
- package/templates/.agents/rules/release-commands.github.zh-CN.md +16 -0
- package/templates/.agents/rules/release-commands.zh-CN.md +5 -0
- package/templates/.agents/rules/security-alerts.en.md +5 -0
- package/templates/.agents/rules/security-alerts.zh-CN.md +5 -0
- package/templates/.agents/scripts/platform-adapters/find-existing-task.github.js +272 -0
- package/templates/.agents/scripts/platform-adapters/find-existing-task.js +5 -0
- package/templates/.agents/scripts/platform-adapters/platform-sync.github.js +88 -8
- package/templates/.agents/scripts/platform-adapters/platform-sync.js +13 -0
- package/templates/.agents/skills/analyze-task/SKILL.en.md +5 -5
- package/templates/.agents/skills/analyze-task/SKILL.zh-CN.md +5 -5
- package/templates/.agents/skills/analyze-task/config/verify.json +3 -1
- package/templates/.agents/skills/block-task/SKILL.en.md +1 -1
- package/templates/.agents/skills/block-task/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/block-task/config/verify.json +2 -1
- package/templates/.agents/skills/cancel-task/SKILL.en.md +3 -3
- package/templates/.agents/skills/cancel-task/SKILL.zh-CN.md +4 -4
- package/templates/.agents/skills/cancel-task/config/verify.json +2 -1
- package/templates/.agents/skills/check-task/SKILL.en.md +1 -1
- package/templates/.agents/skills/check-task/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/close-codescan/SKILL.en.md +3 -3
- package/templates/.agents/skills/close-codescan/SKILL.zh-CN.md +3 -3
- package/templates/.agents/skills/close-dependabot/SKILL.en.md +1 -1
- package/templates/.agents/skills/close-dependabot/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/commit/SKILL.en.md +2 -2
- package/templates/.agents/skills/commit/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/commit/config/verify.json +2 -1
- package/templates/.agents/skills/complete-task/SKILL.en.md +1 -1
- package/templates/.agents/skills/complete-task/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/complete-task/config/verify.json +2 -1
- package/templates/.agents/skills/create-issue/SKILL.en.md +10 -10
- package/templates/.agents/skills/create-issue/SKILL.zh-CN.md +10 -10
- package/templates/.agents/skills/create-issue/config/verify.json +2 -1
- package/templates/.agents/skills/create-issue/reference/label-and-type.en.md +3 -3
- package/templates/.agents/skills/create-issue/reference/label-and-type.zh-CN.md +3 -3
- package/templates/.agents/skills/create-issue/reference/template-matching.en.md +6 -34
- package/templates/.agents/skills/create-issue/reference/template-matching.zh-CN.md +8 -36
- package/templates/.agents/skills/create-pr/SKILL.en.md +3 -3
- package/templates/.agents/skills/create-pr/SKILL.zh-CN.md +3 -3
- package/templates/.agents/skills/create-pr/config/verify.json +2 -1
- package/templates/.agents/skills/create-pr/reference/pr-body-template.en.md +7 -17
- package/templates/.agents/skills/create-pr/reference/pr-body-template.zh-CN.md +27 -37
- package/templates/.agents/skills/create-release-note/SKILL.en.md +16 -9
- package/templates/.agents/skills/create-release-note/SKILL.zh-CN.md +16 -9
- package/templates/.agents/skills/create-task/SKILL.en.md +5 -5
- package/templates/.agents/skills/create-task/SKILL.zh-CN.md +5 -5
- package/templates/.agents/skills/implement-task/SKILL.en.md +3 -3
- package/templates/.agents/skills/implement-task/SKILL.zh-CN.md +3 -3
- package/templates/.agents/skills/implement-task/config/verify.json +3 -1
- package/templates/.agents/skills/import-codescan/SKILL.en.md +3 -3
- package/templates/.agents/skills/import-codescan/SKILL.zh-CN.md +3 -3
- package/templates/.agents/skills/import-dependabot/SKILL.en.md +2 -2
- package/templates/.agents/skills/import-dependabot/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/import-issue/SKILL.en.md +41 -11
- package/templates/.agents/skills/import-issue/SKILL.zh-CN.md +41 -11
- package/templates/.agents/skills/init-labels/SKILL.en.md +10 -10
- package/templates/.agents/skills/init-labels/SKILL.zh-CN.md +10 -10
- package/templates/.agents/skills/init-labels/scripts/init-labels.sh +6 -0
- package/templates/.agents/skills/init-milestones/SKILL.en.md +8 -8
- package/templates/.agents/skills/init-milestones/SKILL.zh-CN.md +8 -8
- package/templates/.agents/skills/init-milestones/scripts/init-milestones.sh +6 -0
- package/templates/.agents/skills/plan-task/SKILL.en.md +3 -3
- package/templates/.agents/skills/plan-task/SKILL.zh-CN.md +3 -3
- package/templates/.agents/skills/plan-task/config/verify.json +3 -1
- package/templates/.agents/skills/post-release/SKILL.en.md +95 -0
- package/templates/.agents/skills/post-release/SKILL.zh-CN.md +95 -0
- package/templates/.agents/skills/refine-task/SKILL.en.md +2 -2
- package/templates/.agents/skills/refine-task/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/refine-task/config/verify.json +3 -1
- package/templates/.agents/skills/refine-title/SKILL.en.md +1 -1
- package/templates/.agents/skills/refine-title/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/release/SKILL.en.md +6 -1
- package/templates/.agents/skills/release/SKILL.zh-CN.md +6 -1
- package/templates/.agents/skills/release/scripts/manage-milestones.sh +6 -0
- package/templates/.agents/skills/restore-task/SKILL.en.md +13 -64
- package/templates/.agents/skills/restore-task/SKILL.zh-CN.md +13 -64
- package/templates/.agents/skills/review-task/SKILL.en.md +3 -3
- package/templates/.agents/skills/review-task/SKILL.zh-CN.md +3 -3
- package/templates/.agents/skills/review-task/config/verify.json +3 -1
- package/templates/.agents/skills/test/SKILL.en.md +1 -1
- package/templates/.agents/skills/test/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/test-integration/SKILL.en.md +1 -1
- package/templates/.agents/skills/test-integration/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/update-agent-infra/SKILL.en.md +12 -2
- package/templates/.agents/skills/update-agent-infra/SKILL.zh-CN.md +6 -2
- package/templates/.agents/skills/update-agent-infra/scripts/sync-templates.js +344 -16
- package/templates/.agents/skills/upgrade-dependency/SKILL.en.md +1 -1
- package/templates/.agents/skills/upgrade-dependency/SKILL.zh-CN.md +1 -1
- package/templates/.agents/templates/task.en.md +2 -2
- package/templates/.agents/templates/task.zh-CN.md +2 -2
- package/templates/.claude/commands/create-issue.en.md +1 -1
- package/templates/.claude/commands/create-issue.zh-CN.md +1 -1
- package/templates/.claude/commands/import-issue.en.md +1 -1
- package/templates/.claude/commands/import-issue.zh-CN.md +1 -1
- package/templates/.claude/commands/init-labels.en.md +1 -1
- package/templates/.claude/commands/init-labels.zh-CN.md +1 -1
- package/templates/.claude/commands/init-milestones.en.md +1 -1
- package/templates/.claude/commands/init-milestones.zh-CN.md +1 -1
- package/templates/.claude/commands/post-release.en.md +8 -0
- package/templates/.claude/commands/post-release.zh-CN.md +8 -0
- package/templates/.claude/commands/restore-task.en.md +1 -1
- package/templates/.claude/commands/restore-task.zh-CN.md +1 -1
- package/templates/.claude/hooks/check-version-format.sh +1 -1
- package/templates/.gemini/commands/_project_/create-issue.en.toml +1 -1
- package/templates/.gemini/commands/_project_/create-issue.zh-CN.toml +1 -1
- package/templates/.gemini/commands/_project_/import-issue.en.toml +1 -1
- package/templates/.gemini/commands/_project_/import-issue.zh-CN.toml +1 -1
- package/templates/.gemini/commands/_project_/init-labels.en.toml +2 -2
- package/templates/.gemini/commands/_project_/init-labels.zh-CN.toml +2 -2
- package/templates/.gemini/commands/_project_/init-milestones.en.toml +2 -2
- package/templates/.gemini/commands/_project_/init-milestones.zh-CN.toml +2 -2
- package/templates/.gemini/commands/_project_/post-release.en.toml +6 -0
- package/templates/.gemini/commands/_project_/post-release.zh-CN.toml +6 -0
- package/templates/.gemini/commands/_project_/restore-task.en.toml +1 -1
- package/templates/.gemini/commands/_project_/restore-task.zh-CN.toml +1 -1
- package/templates/{.github/hooks → .git-hooks}/check-version-format.sh +2 -2
- package/templates/.github/workflows/pr-label.yml +1 -1
- package/templates/.opencode/commands/create-issue.en.md +1 -1
- package/templates/.opencode/commands/create-issue.zh-CN.md +1 -1
- package/templates/.opencode/commands/import-issue.en.md +1 -1
- package/templates/.opencode/commands/import-issue.zh-CN.md +1 -1
- package/templates/.opencode/commands/init-labels.en.md +1 -1
- package/templates/.opencode/commands/init-labels.zh-CN.md +1 -1
- package/templates/.opencode/commands/init-milestones.en.md +1 -1
- package/templates/.opencode/commands/init-milestones.zh-CN.md +1 -1
- package/templates/.opencode/commands/post-release.en.md +9 -0
- package/templates/.opencode/commands/post-release.zh-CN.md +9 -0
- package/templates/.opencode/commands/restore-task.en.md +1 -1
- package/templates/.opencode/commands/restore-task.zh-CN.md +1 -1
- /package/templates/{.github/hooks → .git-hooks}/pre-commit +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: import-issue
|
|
3
|
-
description: "从
|
|
3
|
+
description: "从 Issue 导入并创建任务"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# 导入 Issue
|
|
7
7
|
|
|
8
|
-
导入指定的
|
|
8
|
+
导入指定的 Issue 并创建任务。参数:issue 编号。
|
|
9
9
|
|
|
10
10
|
## 行为边界 / 关键规则
|
|
11
11
|
|
|
@@ -24,22 +24,46 @@ description: "从 GitHub Issue 导入并创建任务"
|
|
|
24
24
|
|
|
25
25
|
### 2. 检查已有任务
|
|
26
26
|
|
|
27
|
-
搜索 `.agents/workspace/active/` 中是否已有链接到此 Issue 的任务。
|
|
27
|
+
2.1 搜索 `.agents/workspace/active/` 中是否已有链接到此 Issue 的任务。
|
|
28
28
|
- 如果找到,询问用户是重新导入还是继续使用现有任务
|
|
29
|
-
-
|
|
29
|
+
- 如果未找到,继续执行 2.2
|
|
30
|
+
|
|
31
|
+
2.2 扫描 Issue 评论中的同步标记,查找可恢复的历史任务 ID:
|
|
32
|
+
|
|
33
|
+
如未在步骤 1 中已设置 `$upstream_repo`,可省略 `--repo`,脚本会自动按 issue-sync.md 的检测规则推断。
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
node .agents/scripts/platform-adapters/find-existing-task.js --issue <issue-number> --repo "$upstream_repo" --format json
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
- 脚本输出 `found=false`:按新 Issue 导入流程创建新任务
|
|
40
|
+
- 脚本输出 `found=true`:复用 `task_id`
|
|
41
|
+
- 脚本退出码 2:视为网络、认证或 platform API 降级,向用户展示脚本 stderr 中的失败原因后,按新 Issue 导入流程继续,不阻塞导入
|
|
30
42
|
|
|
31
43
|
### 3. 创建任务目录和文件
|
|
32
44
|
|
|
45
|
+
3.1 决定 task ID 和 `created_at`。
|
|
46
|
+
|
|
47
|
+
| 场景 | 触发条件 | task ID 来源 | created_at 来源 | 用户确认 |
|
|
48
|
+
|---|---|---|---|---|
|
|
49
|
+
| 场景 A | 2.1 命中本地任务 | 复用本地 ID | 本地保留 | 必须询问"重新导入还是继续使用现有任务" |
|
|
50
|
+
| 场景 B | 2.1 无命中 + 2.2 无候选 | `date +%Y%m%d-%H%M%S` 新建 | 当前时间 | 不需要 |
|
|
51
|
+
| 场景 C | 2.1 无命中 + 2.2 有候选 | 自动复用最早候选 ID | 优先用远端 frontmatter 的 `created_at`,缺失时用当前时间 | 告知即可 |
|
|
52
|
+
|
|
33
53
|
```bash
|
|
34
54
|
date +%Y%m%d-%H%M%S
|
|
35
55
|
```
|
|
36
56
|
|
|
37
|
-
|
|
57
|
+
3.2 写入任务目录和 `task.md`。
|
|
58
|
+
|
|
59
|
+
- 创建目录:`.agents/workspace/active/{task-id}/`
|
|
38
60
|
- 使用 `.agents/templates/task.md` 模板创建 `task.md`
|
|
61
|
+
- 场景 C 优先沿用远端 frontmatter 中的 `type`、`workflow`、`branch`、`created_by`、`milestone`;缺失或损坏字段按 Issue 标签和当前规则重新推断
|
|
62
|
+
- `current_step` 始终写入 `requirement-analysis`,不要恢复为远端原 `current_step`
|
|
39
63
|
|
|
40
64
|
任务元数据:
|
|
41
65
|
```yaml
|
|
42
|
-
id:
|
|
66
|
+
id: {task-id}
|
|
43
67
|
issue_number: <issue-number>
|
|
44
68
|
type: feature|bugfix|refactor|docs|chore
|
|
45
69
|
branch: <project>-<type>-<slug>
|
|
@@ -52,6 +76,11 @@ current_step: requirement-analysis
|
|
|
52
76
|
assigned_to: {当前 AI 代理}
|
|
53
77
|
```
|
|
54
78
|
|
|
79
|
+
3.3 追加 Activity Log。
|
|
80
|
+
|
|
81
|
+
- 场景 B:追加 `Import Issue`
|
|
82
|
+
- 场景 C:追加 `Import Issue (Recovered)`,注明恢复的 task ID、可恢复的原 `current_step`、原 `assigned_to`,并说明 `current_step` 已重置为 `requirement-analysis`;如果部分 frontmatter 字段缺失或损坏,在同一条记录中注明 fallback
|
|
83
|
+
|
|
55
84
|
### 4. 更新任务状态
|
|
56
85
|
|
|
57
86
|
获取当前时间:
|
|
@@ -69,6 +98,7 @@ date "+%Y-%m-%d %H:%M:%S%:z"
|
|
|
69
98
|
```
|
|
70
99
|
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Import Issue** by {agent} — Issue #{number} imported
|
|
71
100
|
```
|
|
101
|
+
如果步骤 3.3 已经按恢复场景追加了 Activity Log,不要重复追加同义记录。
|
|
72
102
|
|
|
73
103
|
### 5. 分配 Issue Assignee
|
|
74
104
|
|
|
@@ -79,7 +109,7 @@ date "+%Y-%m-%d %H:%M:%S%:z"
|
|
|
79
109
|
如果 task.md 中存在有效的 `issue_number`,执行以下同步操作(任一失败则跳过并继续):
|
|
80
110
|
- 执行前先读取 `.agents/rules/issue-sync.md`,完成 upstream 仓库检测和权限检测
|
|
81
111
|
- 检查 Issue 当前 milestone;如果未设置,先读取 `.agents/rules/milestone-inference.md`,按其中的「阶段 1:`create-issue`」规则推断并设置 milestone;如果 `has_triage=false` 或推断不确定,跳过并继续
|
|
82
|
-
-
|
|
112
|
+
- 所有场景结束后,必须执行一次 task 留言同步,创建或更新 `.agents/rules/issue-sync.md` 中定义的 task 评论标记,确保远端 `:task` 评论存在且内容与本地 `task.md` 一致(按 issue-sync.md 的 task.md 评论同步规则)
|
|
83
113
|
|
|
84
114
|
### 7. 完成校验
|
|
85
115
|
|
|
@@ -100,7 +130,7 @@ node .agents/scripts/validate-artifact.js gate import-issue .agents/workspace/ac
|
|
|
100
130
|
|
|
101
131
|
> 仅在校验通过后执行本步骤。
|
|
102
132
|
|
|
103
|
-
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI
|
|
133
|
+
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。
|
|
104
134
|
|
|
105
135
|
```
|
|
106
136
|
Issue #{number} 已导入。
|
|
@@ -126,8 +156,8 @@ Issue #{number} 已导入。
|
|
|
126
156
|
- [ ] 更新了 `current_step` 为 requirement-analysis
|
|
127
157
|
- [ ] 更新了 `updated_at` 为当前时间
|
|
128
158
|
- [ ] 追加了 Activity Log 条目到 task.md
|
|
129
|
-
- [ ] 同步了 task 评论到 Issue
|
|
130
|
-
- [ ] 告知了用户下一步(必须展示所有 TUI
|
|
159
|
+
- [ ] 同步了 task 评论到 Issue,且远端内容与本地 task.md 一致
|
|
160
|
+
- [ ] 告知了用户下一步(必须展示所有 TUI 的命令格式,含自定义 TUI,不要筛选)
|
|
131
161
|
- [ ] **没有修改任何业务代码**
|
|
132
162
|
|
|
133
163
|
## 停止
|
|
@@ -143,5 +173,5 @@ Issue #{number} 已导入。
|
|
|
143
173
|
## 错误处理
|
|
144
174
|
|
|
145
175
|
- Issue 未找到:提示 "Issue #{number} not found, please check the issue number"
|
|
146
|
-
- 网络错误:提示 "Cannot connect to
|
|
176
|
+
- 网络错误:提示 "Cannot connect to the platform, please check network"
|
|
147
177
|
- 权限错误:提示 "No access to this repository"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: init-labels
|
|
3
|
-
description: "Initialize the repository's standard
|
|
3
|
+
description: "Initialize the repository's standard labels taxonomy"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Initialize
|
|
6
|
+
# Initialize labels
|
|
7
7
|
|
|
8
|
-
Initialize the repository's standard
|
|
8
|
+
Initialize the repository's standard labels taxonomy.
|
|
9
9
|
|
|
10
10
|
## Execution Flow
|
|
11
11
|
|
|
@@ -36,14 +36,14 @@ The script and `.agents/rules/label-milestone-setup.md` are responsible for:
|
|
|
36
36
|
The script manages these common label families:
|
|
37
37
|
- `type:` labels such as `type: bug`, `type: enhancement`, `type: feature`, `type: documentation`, `type: dependency-upgrade`, and `type: task`
|
|
38
38
|
- `status:` labels such as `status: waiting-for-triage`, `status: in-progress`, and `status: waiting-for-internal-feedback`
|
|
39
|
-
-
|
|
39
|
+
- platform-default-name labels intentionally overwritten in place: `good first issue` and `help wanted`
|
|
40
40
|
- Additional shared labels such as `dependencies`
|
|
41
41
|
|
|
42
42
|
#### Scope
|
|
43
43
|
|
|
44
44
|
| Label prefix | Issue | PR | Notes |
|
|
45
45
|
|---|---|---|---|
|
|
46
|
-
| `type:` | — | Yes | Issues use the native
|
|
46
|
+
| `type:` | — | Yes | Issues use the native platform Type field; PRs need `type:` labels to drive changelog grouping |
|
|
47
47
|
| `status:` | Yes | — | PRs already have their own state flow (Open/Draft/Merged/Closed); Issues use `status:` labels for project tracking |
|
|
48
48
|
| `in:` | Yes | Yes | Both Issues and PRs need module-based filtering |
|
|
49
49
|
|
|
@@ -85,7 +85,7 @@ Operational notes:
|
|
|
85
85
|
|
|
86
86
|
### 6. Inform User
|
|
87
87
|
|
|
88
|
-
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent.
|
|
88
|
+
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent. If `.agents/.airc.json` configures custom TUIs (via `customTUIs`), read each tool's `name` and `invoke`, then add the matching command line in the same format (`${skillName}` becomes the skill name and `${projectName}` becomes the project name).
|
|
89
89
|
|
|
90
90
|
After summarizing the label initialization, show:
|
|
91
91
|
|
|
@@ -98,8 +98,8 @@ Next step - initialize milestones (optional):
|
|
|
98
98
|
|
|
99
99
|
## Error Handling
|
|
100
100
|
|
|
101
|
-
-
|
|
102
|
-
- Authentication failed: prompt "
|
|
103
|
-
- Repository access failed: prompt "Unable to access the current repository with
|
|
101
|
+
- platform CLI not found: prompt "the platform CLI is not installed"
|
|
102
|
+
- Authentication failed: prompt "the platform CLI is not authenticated"
|
|
103
|
+
- Repository access failed: prompt "Unable to access the current repository with the platform CLI"
|
|
104
104
|
- Permission error: prompt "No permission to manage labels in this repository"
|
|
105
|
-
- API rate limit: prompt "
|
|
105
|
+
- API rate limit: prompt "platform API rate limit reached, please retry later"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: init-labels
|
|
3
|
-
description: "初始化仓库的
|
|
3
|
+
description: "初始化仓库的 labels 体系"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# 初始化
|
|
6
|
+
# 初始化 labels
|
|
7
7
|
|
|
8
|
-
一次性初始化仓库的标准
|
|
8
|
+
一次性初始化仓库的标准 labels 体系。
|
|
9
9
|
|
|
10
10
|
## 执行流程
|
|
11
11
|
|
|
@@ -36,14 +36,14 @@ bash .agents/skills/init-labels/scripts/init-labels.sh
|
|
|
36
36
|
脚本管理以下通用 label 族:
|
|
37
37
|
- `type:` labels,例如 `type: bug`、`type: enhancement`、`type: feature`、`type: documentation`、`type: dependency-upgrade`、`type: task`
|
|
38
38
|
- `status:` labels,例如 `status: waiting-for-triage`、`status: in-progress`、`status: waiting-for-internal-feedback`
|
|
39
|
-
- 明确覆盖的
|
|
39
|
+
- 明确覆盖的 平台默认同名 labels:`good first issue` 和 `help wanted`
|
|
40
40
|
- 额外通用 labels,例如 `dependencies`
|
|
41
41
|
|
|
42
42
|
#### 适用范围
|
|
43
43
|
|
|
44
44
|
| Label 前缀 | Issue | PR | 说明 |
|
|
45
45
|
|---|---|---|---|
|
|
46
|
-
| `type:` | — | Yes | Issue 使用
|
|
46
|
+
| `type:` | — | Yes | Issue 使用 平台原生 Type 字段;PR 无原生类型字段,需 `type:` label 驱动 changelog |
|
|
47
47
|
| `status:` | Yes | — | PR 有自身状态流转(Open/Draft/Merged/Closed);Issue 使用 `status:` label 标记项目管理状态 |
|
|
48
48
|
| `in:` | Yes | Yes | Issue 和 PR 均需按模块筛选 |
|
|
49
49
|
|
|
@@ -85,7 +85,7 @@ bash .agents/skills/init-labels/scripts/init-labels.sh
|
|
|
85
85
|
|
|
86
86
|
### 6. 告知用户
|
|
87
87
|
|
|
88
|
-
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI
|
|
88
|
+
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。
|
|
89
89
|
|
|
90
90
|
输出 labels 初始化摘要后,提示:
|
|
91
91
|
|
|
@@ -98,8 +98,8 @@ bash .agents/skills/init-labels/scripts/init-labels.sh
|
|
|
98
98
|
|
|
99
99
|
## 错误处理
|
|
100
100
|
|
|
101
|
-
-
|
|
102
|
-
- 认证失败:提示 "
|
|
103
|
-
- 仓库访问失败:提示 "Unable to access the current repository with
|
|
101
|
+
- 未找到平台 CLI:提示 "the platform CLI is not installed"
|
|
102
|
+
- 认证失败:提示 "the platform CLI is not authenticated"
|
|
103
|
+
- 仓库访问失败:提示 "Unable to access the current repository with the platform CLI"
|
|
104
104
|
- 权限不足:提示 "No permission to manage labels in this repository"
|
|
105
|
-
- API 限流:提示 "
|
|
105
|
+
- API 限流:提示 "platform API rate limit reached, please retry later"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: init-milestones
|
|
3
|
-
description: "Initialize the repository's standard
|
|
3
|
+
description: "Initialize the repository's standard milestones taxonomy"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Initialize
|
|
6
|
+
# Initialize milestones
|
|
7
7
|
|
|
8
|
-
Initialize the repository's standard
|
|
8
|
+
Initialize the repository's standard milestones taxonomy.
|
|
9
9
|
|
|
10
10
|
## Execution Flow
|
|
11
11
|
|
|
@@ -62,7 +62,7 @@ Operational notes:
|
|
|
62
62
|
|
|
63
63
|
### 5. Inform User
|
|
64
64
|
|
|
65
|
-
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent.
|
|
65
|
+
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent. If `.agents/.airc.json` configures custom TUIs (via `customTUIs`), read each tool's `name` and `invoke`, then add the matching command line in the same format (`${skillName}` becomes the skill name and `${projectName}` becomes the project name).
|
|
66
66
|
|
|
67
67
|
After summarizing the milestone initialization, show:
|
|
68
68
|
|
|
@@ -75,10 +75,10 @@ Next step - initialize labels (optional):
|
|
|
75
75
|
|
|
76
76
|
## Error Handling
|
|
77
77
|
|
|
78
|
-
-
|
|
79
|
-
- Authentication failed: prompt "
|
|
80
|
-
- Repository access failed: prompt "Unable to access the current repository with
|
|
78
|
+
- platform CLI not found: prompt "the platform CLI is not installed"
|
|
79
|
+
- Authentication failed: prompt "the platform CLI is not authenticated"
|
|
80
|
+
- Repository access failed: prompt "Unable to access the current repository with the platform CLI"
|
|
81
81
|
- Version detection failed: prompt "Unable to determine current version baseline"
|
|
82
82
|
- No `v*` tags found in `--history` mode: prompt "No history tags found matching v*; only standard milestones will be created"
|
|
83
83
|
- Permission error: prompt "No permission to manage milestones in this repository"
|
|
84
|
-
- API rate limit: prompt "
|
|
84
|
+
- API rate limit: prompt "platform API rate limit reached, please retry later"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: init-milestones
|
|
3
|
-
description: "初始化仓库的
|
|
3
|
+
description: "初始化仓库的 milestones 体系"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# 初始化
|
|
6
|
+
# 初始化 milestones
|
|
7
7
|
|
|
8
|
-
一次性初始化仓库的标准
|
|
8
|
+
一次性初始化仓库的标准 milestones 体系。
|
|
9
9
|
|
|
10
10
|
## 执行流程
|
|
11
11
|
|
|
@@ -62,7 +62,7 @@ bash .agents/skills/init-milestones/scripts/init-milestones.sh "$ARGUMENTS"
|
|
|
62
62
|
|
|
63
63
|
### 5. 告知用户
|
|
64
64
|
|
|
65
|
-
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI
|
|
65
|
+
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。
|
|
66
66
|
|
|
67
67
|
输出 milestones 初始化摘要后,提示:
|
|
68
68
|
|
|
@@ -75,10 +75,10 @@ bash .agents/skills/init-milestones/scripts/init-milestones.sh "$ARGUMENTS"
|
|
|
75
75
|
|
|
76
76
|
## 错误处理
|
|
77
77
|
|
|
78
|
-
-
|
|
79
|
-
- 认证失败:提示 "
|
|
80
|
-
- 仓库访问失败:提示 "Unable to access the current repository with
|
|
78
|
+
- 未找到平台 CLI:提示 "the platform CLI is not installed"
|
|
79
|
+
- 认证失败:提示 "the platform CLI is not authenticated"
|
|
80
|
+
- 仓库访问失败:提示 "Unable to access the current repository with the platform CLI"
|
|
81
81
|
- 版本解析失败:提示 "Unable to determine current version baseline"
|
|
82
82
|
- `--history` 模式下未找到任何 `v*` git tags:提示 "No history tags found matching v*; only standard milestones will be created"
|
|
83
83
|
- 权限不足:提示 "No permission to manage milestones in this repository"
|
|
84
|
-
- API 限流:提示 "
|
|
84
|
+
- API 限流:提示 "platform API rate limit reached, please retry later"
|
|
@@ -99,7 +99,7 @@ Update `.agents/workspace/active/{task-id}/task.md`:
|
|
|
99
99
|
If task.md contains a valid `issue_number`, perform these sync actions (skip and continue on any failure):
|
|
100
100
|
- Read `.agents/rules/issue-sync.md` before syncing, and complete upstream repository detection plus permission detection
|
|
101
101
|
- Set `status: pending-design-work` by following issue-sync.md
|
|
102
|
-
- Create or update the
|
|
102
|
+
- Create or update the task comment marker defined in `.agents/rules/issue-sync.md` (follow the task.md comment sync rule in issue-sync.md)
|
|
103
103
|
- Publish the `{plan-artifact}` comment
|
|
104
104
|
|
|
105
105
|
### 8. Verification Gate
|
|
@@ -121,7 +121,7 @@ Keep the gate output in your reply as fresh evidence. Do not claim completion wi
|
|
|
121
121
|
|
|
122
122
|
> Execute this step only after the verification gate passes.
|
|
123
123
|
|
|
124
|
-
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent.
|
|
124
|
+
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent. If `.agents/.airc.json` configures custom TUIs (via `customTUIs`), read each tool's `name` and `invoke`, then add the matching command line in the same format (`${skillName}` becomes the skill name and `${projectName}` becomes the project name).
|
|
125
125
|
|
|
126
126
|
Output format:
|
|
127
127
|
```
|
|
@@ -157,7 +157,7 @@ Next step - implement the task:
|
|
|
157
157
|
- [ ] Marked technical-design as complete in workflow progress
|
|
158
158
|
- [ ] Appended an Activity Log entry to task.md
|
|
159
159
|
- [ ] Informed the user that this is a human review checkpoint
|
|
160
|
-
- [ ] Informed the user of the next step (must include all TUI command formats; do not filter)
|
|
160
|
+
- [ ] Informed the user of the next step (must include all TUI command formats, including any custom TUIs; do not filter)
|
|
161
161
|
|
|
162
162
|
## STOP
|
|
163
163
|
|
|
@@ -99,7 +99,7 @@ date "+%Y-%m-%d %H:%M:%S%:z"
|
|
|
99
99
|
如果 task.md 中存在有效的 `issue_number`,执行以下同步操作(任一失败则跳过并继续):
|
|
100
100
|
- 执行前先读取 `.agents/rules/issue-sync.md`,完成 upstream 仓库检测和权限检测
|
|
101
101
|
- 按 issue-sync.md 设置 `status: pending-design-work`
|
|
102
|
-
- 创建或更新
|
|
102
|
+
- 创建或更新 `.agents/rules/issue-sync.md` 中定义的 task 评论标记(按 issue-sync.md 的 task.md 评论同步规则)
|
|
103
103
|
- 发布 `{plan-artifact}` 评论
|
|
104
104
|
|
|
105
105
|
### 8. 完成校验
|
|
@@ -121,7 +121,7 @@ node .agents/scripts/validate-artifact.js gate plan-task .agents/workspace/activ
|
|
|
121
121
|
|
|
122
122
|
> 仅在校验通过后执行本步骤。
|
|
123
123
|
|
|
124
|
-
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI
|
|
124
|
+
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。
|
|
125
125
|
|
|
126
126
|
输出格式:
|
|
127
127
|
```
|
|
@@ -157,7 +157,7 @@ node .agents/scripts/validate-artifact.js gate plan-task .agents/workspace/activ
|
|
|
157
157
|
- [ ] 在工作流进度中标记了 technical-design 为已完成
|
|
158
158
|
- [ ] 追加了 Activity Log 条目到 task.md
|
|
159
159
|
- [ ] 告知了用户这是人工审查检查点
|
|
160
|
-
- [ ] 告知了用户下一步(必须展示所有 TUI
|
|
160
|
+
- [ ] 告知了用户下一步(必须展示所有 TUI 的命令格式,含自定义 TUI,不要筛选)
|
|
161
161
|
|
|
162
162
|
## 停止
|
|
163
163
|
|
|
@@ -38,7 +38,9 @@
|
|
|
38
38
|
"verify_comment_content": true,
|
|
39
39
|
"verify_task_comment_content": true,
|
|
40
40
|
"verify_issue_type": true,
|
|
41
|
-
"verify_milestone": true
|
|
41
|
+
"verify_milestone": true,
|
|
42
|
+
"expected_status_label_key": "pendingDesignWork",
|
|
43
|
+
"expected_comment_marker_key": "artifact"
|
|
42
44
|
}
|
|
43
45
|
}
|
|
44
46
|
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: post-release
|
|
3
|
+
description: "Run post-release follow-up tasks"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Post-release Tasks
|
|
7
|
+
|
|
8
|
+
Run the standard follow-up workflow after a release tag has been pushed.
|
|
9
|
+
|
|
10
|
+
## Execution Flow
|
|
11
|
+
|
|
12
|
+
### 1. Detect the Latest Released Version
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
git tag --sort=-v:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | head -n 1
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
- Detect the latest `vX.Y.Z` tag, then strip the `v` prefix when you need the version number in later steps
|
|
19
|
+
- If no tag is found, error: "No released version tag found. Please create and push a release tag first."
|
|
20
|
+
|
|
21
|
+
### 2. Verify Clean Workspace
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
git status --short
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
- If there are uncommitted changes, error: "Workspace has uncommitted changes. Please commit or stash first."
|
|
28
|
+
|
|
29
|
+
### 3. Prepare the Next Development Version
|
|
30
|
+
|
|
31
|
+
<!-- TODO: Replace this step with your project's version bump command -->
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# TODO: Replace with your project's post-release version bump command
|
|
35
|
+
# npm version prerelease --preid=alpha --no-git-tag-version
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
- Update lockfiles or generated version metadata if your project needs them
|
|
39
|
+
- Keep all version references in sync after the bump
|
|
40
|
+
|
|
41
|
+
### 4. Rebuild Generated Artifacts
|
|
42
|
+
|
|
43
|
+
<!-- TODO: Replace this step with your project's rebuild command -->
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# TODO: Replace with your project's artifact rebuild command
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
- Rebuild any generated files, embedded assets, or inline templates affected by the new version
|
|
50
|
+
- If your project has no generated artifacts, remove this step in the project-specific copy
|
|
51
|
+
|
|
52
|
+
### 5. Run Other Post-release Tasks (Optional)
|
|
53
|
+
|
|
54
|
+
<!-- TODO: Add project-specific follow-up tasks such as demo capture, docs publishing, or downstream notifications -->
|
|
55
|
+
|
|
56
|
+
- Examples: record a terminal demo, refresh a docs site, notify downstream teams, update release dashboards
|
|
57
|
+
- If there are no extra tasks, remove this step in the project-specific copy
|
|
58
|
+
|
|
59
|
+
### 6. Create the Follow-up Commit
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
git add -A
|
|
63
|
+
git commit -m "chore: prepare next dev iteration after v{released-version}"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### 7. Output Summary
|
|
67
|
+
|
|
68
|
+
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent. If `.agents/.airc.json` configures custom TUIs (via `customTUIs`), read each tool's `name` and `invoke`, then add the matching command line in the same format (`${skillName}` becomes the skill name and `${projectName}` becomes the project name).
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
Post-release tasks completed.
|
|
72
|
+
|
|
73
|
+
Summary:
|
|
74
|
+
- Released version: {released-version}
|
|
75
|
+
- Next development version: {new-version}
|
|
76
|
+
- Extra tasks completed: {summary}
|
|
77
|
+
|
|
78
|
+
Next step (manual):
|
|
79
|
+
- Push branch: git push origin {current-branch}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Notes
|
|
83
|
+
|
|
84
|
+
1. **No arguments**: Detect the released version from the latest tag instead of asking the user to repeat it
|
|
85
|
+
2. **Clean workspace required**: Avoid mixing unrelated edits into the post-release commit
|
|
86
|
+
3. **Project-specific customization**: Replace the TODO steps with the commands your project actually needs
|
|
87
|
+
4. **Local-only workflow**: This skill prepares local changes and does not push automatically
|
|
88
|
+
|
|
89
|
+
## Error Handling
|
|
90
|
+
|
|
91
|
+
- No release tag found: Prompt the user to finish the release first
|
|
92
|
+
- Dirty workspace: Prompt the user to commit or stash changes
|
|
93
|
+
- Version bump failed: Display the command error and stop
|
|
94
|
+
- Artifact rebuild failed: Display the build error and stop
|
|
95
|
+
- Git commit failed: Display the error and leave the workspace intact for manual recovery
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: post-release
|
|
3
|
+
description: "执行版本发布后的后处理工作"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 发布后处理
|
|
7
|
+
|
|
8
|
+
在版本标签推送完成后,执行标准化的发布后收尾流程。
|
|
9
|
+
|
|
10
|
+
## 执行流程
|
|
11
|
+
|
|
12
|
+
### 1. 检测最新发布版本
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
git tag --sort=-v:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | head -n 1
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
- 检测最新 `vX.Y.Z` 标签,并在后续步骤中去除 `v` 前缀得到版本号
|
|
19
|
+
- 如果没有找到标签,报错:"No released version tag found. Please create and push a release tag first."
|
|
20
|
+
|
|
21
|
+
### 2. 验证工作区干净
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
git status --short
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
- 如果存在未提交变更,报错:"Workspace has uncommitted changes. Please commit or stash first."
|
|
28
|
+
|
|
29
|
+
### 3. 准备下一个开发版本
|
|
30
|
+
|
|
31
|
+
<!-- TODO: 将此步骤替换为你的项目版本 bump 命令 -->
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# TODO: 替换为你的项目发布后版本 bump 命令
|
|
35
|
+
# npm version prerelease --preid=alpha --no-git-tag-version
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
- 如果项目需要,记得同步锁文件或其他版本元数据
|
|
39
|
+
- 版本 bump 后保持所有版本引用一致
|
|
40
|
+
|
|
41
|
+
### 4. 重新生成构建产物
|
|
42
|
+
|
|
43
|
+
<!-- TODO: 将此步骤替换为你的项目产物重建命令 -->
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# TODO: 替换为你的项目产物重建命令
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
- 重建所有受新版本号影响的生成文件、内嵌产物或内联模板
|
|
50
|
+
- 如果项目没有生成产物,请在项目特化版本中删除此步骤
|
|
51
|
+
|
|
52
|
+
### 5. 执行其他发布后任务(可选)
|
|
53
|
+
|
|
54
|
+
<!-- TODO: 添加项目特定的发布后任务,例如录制演示、发布文档站或通知下游 -->
|
|
55
|
+
|
|
56
|
+
- 示例:录制终端演示、刷新文档站、通知下游团队、更新发布面板
|
|
57
|
+
- 如果没有额外任务,请在项目特化版本中删除此步骤
|
|
58
|
+
|
|
59
|
+
### 6. 创建后处理提交
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
git add -A
|
|
63
|
+
git commit -m "chore: prepare next dev iteration after v{released-version}"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### 7. 输出摘要
|
|
67
|
+
|
|
68
|
+
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
发布后处理已完成。
|
|
72
|
+
|
|
73
|
+
结果摘要:
|
|
74
|
+
- 已发布版本:{released-version}
|
|
75
|
+
- 新开发版本:{new-version}
|
|
76
|
+
- 额外任务完成情况:{summary}
|
|
77
|
+
|
|
78
|
+
下一步(手动执行):
|
|
79
|
+
- 推送分支:git push origin {current-branch}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## 注意事项
|
|
83
|
+
|
|
84
|
+
1. **无参数设计**:从最新标签自动检测已发布版本,不要求用户重复输入
|
|
85
|
+
2. **需要干净工作区**:避免把无关改动带入发布后提交
|
|
86
|
+
3. **项目定制**:将带 TODO 的步骤替换为你的项目实际命令
|
|
87
|
+
4. **仅本地执行**:本技能只准备本地变更,不自动推送
|
|
88
|
+
|
|
89
|
+
## 错误处理
|
|
90
|
+
|
|
91
|
+
- 未找到发布标签:提示用户先完成发布
|
|
92
|
+
- 工作区不干净:提示先提交或暂存
|
|
93
|
+
- 版本 bump 失败:显示命令错误并停止
|
|
94
|
+
- 产物重建失败:显示构建错误并停止
|
|
95
|
+
- Git 提交失败:显示错误并保留当前工作区供人工处理
|
|
@@ -62,7 +62,7 @@ Update task.md:
|
|
|
62
62
|
If task.md contains a valid `issue_number`, perform these sync actions (skip and continue on any failure):
|
|
63
63
|
- Read `.agents/rules/issue-sync.md` before syncing, and complete upstream repository detection plus permission detection
|
|
64
64
|
- Set `status: in-progress` by following issue-sync.md
|
|
65
|
-
- Create or update the
|
|
65
|
+
- Create or update the task comment marker defined in `.agents/rules/issue-sync.md` (follow the task.md comment sync rule in issue-sync.md)
|
|
66
66
|
- Publish the `{refinement-artifact}` comment
|
|
67
67
|
|
|
68
68
|
### 7. Verification Gate
|
|
@@ -84,7 +84,7 @@ Keep the gate output in your reply as fresh evidence. Do not claim completion wi
|
|
|
84
84
|
|
|
85
85
|
> Execute this step only after the verification gate passes.
|
|
86
86
|
|
|
87
|
-
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent.
|
|
87
|
+
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent. If `.agents/.airc.json` configures custom TUIs (via `customTUIs`), read each tool's `name` and `invoke`, then add the matching command line in the same format (`${skillName}` becomes the skill name and `${projectName}` becomes the project name).
|
|
88
88
|
|
|
89
89
|
After summarizing the fixes, present the next step:
|
|
90
90
|
|
|
@@ -62,7 +62,7 @@ date "+%Y-%m-%d %H:%M:%S%:z"
|
|
|
62
62
|
如果 task.md 中存在有效的 `issue_number`,执行以下同步操作(任一失败则跳过并继续):
|
|
63
63
|
- 执行前先读取 `.agents/rules/issue-sync.md`,完成 upstream 仓库检测和权限检测
|
|
64
64
|
- 按 issue-sync.md 设置 `status: in-progress`
|
|
65
|
-
- 创建或更新
|
|
65
|
+
- 创建或更新 `.agents/rules/issue-sync.md` 中定义的 task 评论标记(按 issue-sync.md 的 task.md 评论同步规则)
|
|
66
66
|
- 发布 `{refinement-artifact}` 评论
|
|
67
67
|
|
|
68
68
|
### 7. 完成校验
|
|
@@ -84,7 +84,7 @@ node .agents/scripts/validate-artifact.js gate refine-task .agents/workspace/act
|
|
|
84
84
|
|
|
85
85
|
> 仅在校验通过后执行本步骤。
|
|
86
86
|
|
|
87
|
-
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI
|
|
87
|
+
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。
|
|
88
88
|
|
|
89
89
|
输出修复摘要后,展示下一步:
|
|
90
90
|
|
|
@@ -32,7 +32,9 @@
|
|
|
32
32
|
"verify_comment_content": true,
|
|
33
33
|
"verify_task_comment_content": true,
|
|
34
34
|
"verify_issue_type": true,
|
|
35
|
-
"verify_milestone": true
|
|
35
|
+
"verify_milestone": true,
|
|
36
|
+
"expected_status_label_key": "inProgress",
|
|
37
|
+
"expected_comment_marker_key": "artifact"
|
|
36
38
|
}
|
|
37
39
|
}
|
|
38
40
|
}
|
|
@@ -62,7 +62,7 @@ Title changes require write permission. Follow the permission-degradation rules
|
|
|
62
62
|
|
|
63
63
|
### 5. Inform User
|
|
64
64
|
|
|
65
|
-
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent.
|
|
65
|
+
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent. If `.agents/.airc.json` configures custom TUIs (via `customTUIs`), read each tool's `name` and `invoke`, then add the matching command line in the same format (`${skillName}` becomes the skill name and `${projectName}` becomes the project name).
|
|
66
66
|
|
|
67
67
|
If the skill updated an Issue title, explain that no extra sync command is required; continue with the workflow skill that matches the task's current stage.
|
|
68
68
|
|
|
@@ -62,7 +62,7 @@ Issue/PR #{id} 分析结果:
|
|
|
62
62
|
|
|
63
63
|
### 5. 告知用户
|
|
64
64
|
|
|
65
|
-
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI
|
|
65
|
+
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。
|
|
66
66
|
|
|
67
67
|
如果修改了 Issue 标题,提示无需额外同步命令;后续按任务当前阶段继续执行对应工作流技能。
|
|
68
68
|
|