@fitlab-ai/agent-infra 0.3.2 → 0.4.1

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 (302) hide show
  1. package/README.md +18 -35
  2. package/README.zh-CN.md +18 -35
  3. package/lib/defaults.json +5 -12
  4. package/lib/init.js +9 -25
  5. package/lib/paths.js +3 -42
  6. package/lib/update.js +43 -32
  7. package/package.json +2 -1
  8. package/templates/.agents/QUICKSTART.md +17 -7
  9. package/templates/.agents/QUICKSTART.zh-CN.md +17 -7
  10. package/templates/.agents/README.md +21 -14
  11. package/templates/.agents/README.zh-CN.md +21 -14
  12. package/templates/.agents/skills/analyze-task/SKILL.md +7 -10
  13. package/templates/.agents/skills/analyze-task/SKILL.zh-CN.md +7 -9
  14. package/templates/.agents/skills/block-task/SKILL.md +9 -13
  15. package/templates/.agents/skills/block-task/SKILL.zh-CN.md +9 -12
  16. package/templates/.agents/skills/check-task/SKILL.md +4 -8
  17. package/templates/.agents/skills/check-task/SKILL.zh-CN.md +4 -6
  18. package/templates/.agents/skills/close-codescan/SKILL.md +1 -4
  19. package/templates/.agents/skills/close-codescan/SKILL.zh-CN.md +1 -3
  20. package/templates/.agents/skills/close-dependabot/SKILL.md +1 -4
  21. package/templates/.agents/skills/close-dependabot/SKILL.zh-CN.md +1 -3
  22. package/templates/.agents/skills/commit/SKILL.md +26 -198
  23. package/templates/.agents/skills/commit/SKILL.zh-CN.md +26 -197
  24. package/templates/.agents/skills/commit/reference/commit-message.md +60 -0
  25. package/templates/.agents/skills/commit/reference/commit-message.zh-CN.md +60 -0
  26. package/templates/.agents/skills/commit/reference/copyright-check.md +39 -0
  27. package/templates/.agents/skills/commit/reference/copyright-check.zh-CN.md +39 -0
  28. package/templates/.agents/skills/commit/reference/task-status-update.md +88 -0
  29. package/templates/.agents/skills/commit/reference/task-status-update.zh-CN.md +88 -0
  30. package/templates/.agents/skills/complete-task/SKILL.md +8 -13
  31. package/templates/.agents/skills/complete-task/SKILL.zh-CN.md +8 -11
  32. package/templates/.agents/skills/create-issue/SKILL.md +32 -251
  33. package/templates/.agents/skills/create-issue/SKILL.zh-CN.md +33 -252
  34. package/templates/.agents/skills/create-issue/reference/label-and-type.md +77 -0
  35. package/templates/.agents/skills/create-issue/reference/label-and-type.zh-CN.md +77 -0
  36. package/templates/.agents/skills/create-issue/reference/template-matching.md +45 -0
  37. package/templates/.agents/skills/create-issue/reference/template-matching.zh-CN.md +45 -0
  38. package/templates/.agents/skills/create-pr/SKILL.md +33 -224
  39. package/templates/.agents/skills/create-pr/SKILL.zh-CN.md +32 -222
  40. package/templates/.agents/skills/create-pr/reference/branch-strategy.md +29 -0
  41. package/templates/.agents/skills/create-pr/reference/branch-strategy.zh-CN.md +29 -0
  42. package/templates/.agents/skills/create-pr/reference/pr-body-template.md +86 -0
  43. package/templates/.agents/skills/create-pr/reference/pr-body-template.zh-CN.md +86 -0
  44. package/templates/.agents/skills/create-release-note/SKILL.md +10 -13
  45. package/templates/.agents/skills/create-release-note/SKILL.zh-CN.md +10 -12
  46. package/templates/.agents/skills/create-task/SKILL.md +5 -8
  47. package/templates/.agents/skills/create-task/SKILL.zh-CN.md +5 -7
  48. package/templates/.agents/skills/implement-task/SKILL.md +48 -178
  49. package/templates/.agents/skills/implement-task/SKILL.zh-CN.md +44 -172
  50. package/templates/.agents/skills/implement-task/reference/implementation-rules.md +58 -0
  51. package/templates/.agents/skills/implement-task/reference/implementation-rules.zh-CN.md +58 -0
  52. package/templates/.agents/skills/implement-task/reference/report-template.md +63 -0
  53. package/templates/.agents/skills/implement-task/reference/report-template.zh-CN.md +63 -0
  54. package/templates/.agents/skills/import-codescan/SKILL.md +2 -5
  55. package/templates/.agents/skills/import-codescan/SKILL.zh-CN.md +2 -4
  56. package/templates/.agents/skills/import-dependabot/SKILL.md +4 -7
  57. package/templates/.agents/skills/import-dependabot/SKILL.zh-CN.md +4 -6
  58. package/templates/.agents/skills/import-issue/SKILL.md +6 -8
  59. package/templates/.agents/skills/import-issue/SKILL.zh-CN.md +6 -8
  60. package/templates/.agents/skills/init-labels/SKILL.md +1 -4
  61. package/templates/.agents/skills/init-labels/SKILL.zh-CN.md +1 -4
  62. package/templates/.agents/skills/init-milestones/SKILL.md +1 -3
  63. package/templates/.agents/skills/init-milestones/SKILL.zh-CN.md +1 -3
  64. package/templates/.agents/skills/plan-task/SKILL.md +7 -11
  65. package/templates/.agents/skills/plan-task/SKILL.zh-CN.md +7 -9
  66. package/templates/.agents/skills/refine-task/SKILL.md +38 -162
  67. package/templates/.agents/skills/refine-task/SKILL.zh-CN.md +36 -158
  68. package/templates/.agents/skills/refine-task/reference/fix-workflow.md +76 -0
  69. package/templates/.agents/skills/refine-task/reference/fix-workflow.zh-CN.md +76 -0
  70. package/templates/.agents/skills/refine-task/reference/report-template.md +38 -0
  71. package/templates/.agents/skills/refine-task/reference/report-template.zh-CN.md +38 -0
  72. package/templates/.agents/skills/refine-title/SKILL.md +1 -4
  73. package/templates/.agents/skills/refine-title/SKILL.zh-CN.md +1 -3
  74. package/templates/.agents/skills/release/SKILL.md +58 -19
  75. package/templates/.agents/skills/release/SKILL.zh-CN.md +58 -18
  76. package/templates/.agents/skills/review-task/SKILL.md +37 -239
  77. package/templates/.agents/skills/review-task/SKILL.zh-CN.md +37 -238
  78. package/templates/.agents/skills/review-task/reference/output-templates.md +72 -0
  79. package/templates/.agents/skills/review-task/reference/output-templates.zh-CN.md +72 -0
  80. package/templates/.agents/skills/review-task/reference/report-template.md +63 -0
  81. package/templates/.agents/skills/review-task/reference/report-template.zh-CN.md +63 -0
  82. package/templates/.agents/skills/review-task/reference/review-criteria.md +24 -0
  83. package/templates/.agents/skills/review-task/reference/review-criteria.zh-CN.md +24 -0
  84. package/templates/.agents/skills/sync-issue/SKILL.md +32 -490
  85. package/templates/.agents/skills/sync-issue/SKILL.zh-CN.md +33 -490
  86. package/templates/.agents/skills/sync-issue/reference/comment-publish.md +88 -0
  87. package/templates/.agents/skills/sync-issue/reference/comment-publish.zh-CN.md +88 -0
  88. package/templates/.agents/skills/sync-issue/reference/delivery-detection.md +42 -0
  89. package/templates/.agents/skills/sync-issue/reference/delivery-detection.zh-CN.md +42 -0
  90. package/templates/.agents/skills/sync-issue/reference/label-sync.md +63 -0
  91. package/templates/.agents/skills/sync-issue/reference/label-sync.zh-CN.md +63 -0
  92. package/templates/.agents/skills/sync-issue/reference/milestone-sync.md +37 -0
  93. package/templates/.agents/skills/sync-issue/reference/milestone-sync.zh-CN.md +37 -0
  94. package/templates/.agents/skills/sync-pr/SKILL.md +25 -287
  95. package/templates/.agents/skills/sync-pr/SKILL.zh-CN.md +29 -291
  96. package/templates/.agents/skills/sync-pr/reference/comment-publish.md +82 -0
  97. package/templates/.agents/skills/sync-pr/reference/comment-publish.zh-CN.md +82 -0
  98. package/templates/.agents/skills/sync-pr/reference/delivery-detection.md +54 -0
  99. package/templates/.agents/skills/sync-pr/reference/delivery-detection.zh-CN.md +54 -0
  100. package/templates/.agents/skills/test/SKILL.md +1 -3
  101. package/templates/.agents/skills/test/SKILL.zh-CN.md +1 -3
  102. package/templates/.agents/skills/test-integration/SKILL.md +1 -4
  103. package/templates/.agents/skills/test-integration/SKILL.zh-CN.md +1 -3
  104. package/templates/.agents/skills/update-agent-infra/SKILL.md +7 -11
  105. package/templates/.agents/skills/update-agent-infra/SKILL.zh-CN.md +7 -9
  106. package/templates/.agents/skills/update-agent-infra/scripts/sync-templates.js +59 -118
  107. package/templates/.agents/skills/upgrade-dependency/SKILL.md +1 -4
  108. package/templates/.agents/skills/upgrade-dependency/SKILL.zh-CN.md +1 -3
  109. package/templates/.agents/templates/handoff.md +1 -1
  110. package/templates/.agents/templates/handoff.zh-CN.md +1 -1
  111. package/templates/.agents/workflows/bug-fix.yaml +71 -71
  112. package/templates/.agents/workflows/bug-fix.zh-CN.yaml +1 -1
  113. package/templates/.agents/workflows/feature-development.yaml +71 -71
  114. package/templates/.agents/workflows/feature-development.zh-CN.yaml +1 -1
  115. package/templates/.agents/workflows/refactoring.yaml +76 -76
  116. package/templates/.agents/workflows/refactoring.zh-CN.yaml +1 -1
  117. package/templates/{.agent-workspace → .agents/workspace}/README.md +1 -1
  118. package/templates/{.agent-workspace → .agents/workspace}/README.zh-CN.md +1 -1
  119. package/templates/.claude/CLAUDE.md +14 -52
  120. package/templates/.claude/CLAUDE.zh-CN.md +14 -52
  121. package/templates/.claude/commands/analyze-task.md +1 -1
  122. package/templates/.claude/commands/analyze-task.zh-CN.md +1 -1
  123. package/templates/.claude/commands/block-task.md +2 -1
  124. package/templates/.claude/commands/block-task.zh-CN.md +2 -1
  125. package/templates/.claude/commands/check-task.md +2 -1
  126. package/templates/.claude/commands/check-task.zh-CN.md +2 -1
  127. package/templates/.claude/commands/close-codescan.md +2 -1
  128. package/templates/.claude/commands/close-codescan.zh-CN.md +2 -1
  129. package/templates/.claude/commands/close-dependabot.md +2 -1
  130. package/templates/.claude/commands/close-dependabot.zh-CN.md +2 -1
  131. package/templates/.claude/commands/commit.md +1 -1
  132. package/templates/.claude/commands/commit.zh-CN.md +1 -1
  133. package/templates/.claude/commands/complete-task.md +1 -1
  134. package/templates/.claude/commands/complete-task.zh-CN.md +1 -1
  135. package/templates/.claude/commands/create-issue.md +1 -1
  136. package/templates/.claude/commands/create-issue.zh-CN.md +1 -1
  137. package/templates/.claude/commands/create-pr.md +1 -1
  138. package/templates/.claude/commands/create-pr.zh-CN.md +1 -1
  139. package/templates/.claude/commands/create-release-note.md +2 -1
  140. package/templates/.claude/commands/create-release-note.zh-CN.md +2 -1
  141. package/templates/.claude/commands/create-task.md +1 -1
  142. package/templates/.claude/commands/create-task.zh-CN.md +1 -1
  143. package/templates/.claude/commands/implement-task.md +1 -1
  144. package/templates/.claude/commands/implement-task.zh-CN.md +1 -1
  145. package/templates/.claude/commands/import-codescan.md +1 -0
  146. package/templates/.claude/commands/import-codescan.zh-CN.md +2 -1
  147. package/templates/.claude/commands/import-dependabot.md +1 -0
  148. package/templates/.claude/commands/import-dependabot.zh-CN.md +2 -1
  149. package/templates/.claude/commands/import-issue.md +1 -1
  150. package/templates/.claude/commands/import-issue.zh-CN.md +1 -1
  151. package/templates/.claude/commands/init-labels.md +1 -0
  152. package/templates/.claude/commands/init-labels.zh-CN.md +2 -1
  153. package/templates/.claude/commands/init-milestones.md +2 -1
  154. package/templates/.claude/commands/init-milestones.zh-CN.md +2 -1
  155. package/templates/.claude/commands/plan-task.md +1 -1
  156. package/templates/.claude/commands/plan-task.zh-CN.md +1 -1
  157. package/templates/.claude/commands/refine-task.zh-CN.md +1 -1
  158. package/templates/.claude/commands/refine-title.md +2 -1
  159. package/templates/.claude/commands/refine-title.zh-CN.md +2 -1
  160. package/templates/.claude/commands/release.md +2 -1
  161. package/templates/.claude/commands/release.zh-CN.md +2 -1
  162. package/templates/.claude/commands/review-task.md +1 -1
  163. package/templates/.claude/commands/review-task.zh-CN.md +1 -1
  164. package/templates/.claude/commands/sync-issue.md +1 -1
  165. package/templates/.claude/commands/sync-issue.zh-CN.md +1 -1
  166. package/templates/.claude/commands/sync-pr.md +1 -1
  167. package/templates/.claude/commands/sync-pr.zh-CN.md +1 -1
  168. package/templates/.claude/commands/test-integration.md +2 -1
  169. package/templates/.claude/commands/test-integration.zh-CN.md +2 -1
  170. package/templates/.claude/commands/test.md +1 -1
  171. package/templates/.claude/commands/test.zh-CN.md +1 -1
  172. package/templates/.claude/commands/update-agent-infra.md +2 -1
  173. package/templates/.claude/commands/update-agent-infra.zh-CN.md +2 -1
  174. package/templates/.claude/commands/upgrade-dependency.md +2 -1
  175. package/templates/.claude/commands/upgrade-dependency.zh-CN.md +2 -1
  176. package/templates/.claude/hooks/check-version-format.sh +44 -0
  177. package/templates/.claude/settings.json +14 -0
  178. package/templates/.gemini/commands/_project_/analyze-task.toml +1 -1
  179. package/templates/.gemini/commands/_project_/analyze-task.zh-CN.toml +1 -1
  180. package/templates/.gemini/commands/_project_/block-task.toml +1 -1
  181. package/templates/.gemini/commands/_project_/block-task.zh-CN.toml +1 -1
  182. package/templates/.gemini/commands/_project_/check-task.toml +1 -1
  183. package/templates/.gemini/commands/_project_/check-task.zh-CN.toml +1 -1
  184. package/templates/.gemini/commands/_project_/close-codescan.toml +1 -1
  185. package/templates/.gemini/commands/_project_/close-codescan.zh-CN.toml +1 -1
  186. package/templates/.gemini/commands/_project_/close-dependabot.toml +1 -1
  187. package/templates/.gemini/commands/_project_/close-dependabot.zh-CN.toml +1 -1
  188. package/templates/.gemini/commands/_project_/commit.toml +1 -1
  189. package/templates/.gemini/commands/_project_/commit.zh-CN.toml +1 -1
  190. package/templates/.gemini/commands/_project_/complete-task.toml +1 -1
  191. package/templates/.gemini/commands/_project_/complete-task.zh-CN.toml +1 -1
  192. package/templates/.gemini/commands/_project_/create-issue.zh-CN.toml +1 -1
  193. package/templates/.gemini/commands/_project_/create-pr.toml +1 -1
  194. package/templates/.gemini/commands/_project_/create-pr.zh-CN.toml +1 -1
  195. package/templates/.gemini/commands/_project_/create-release-note.toml +1 -1
  196. package/templates/.gemini/commands/_project_/create-release-note.zh-CN.toml +1 -1
  197. package/templates/.gemini/commands/_project_/create-task.toml +1 -1
  198. package/templates/.gemini/commands/_project_/create-task.zh-CN.toml +1 -1
  199. package/templates/.gemini/commands/_project_/implement-task.toml +1 -1
  200. package/templates/.gemini/commands/_project_/implement-task.zh-CN.toml +1 -1
  201. package/templates/.gemini/commands/_project_/import-codescan.zh-CN.toml +1 -1
  202. package/templates/.gemini/commands/_project_/import-dependabot.zh-CN.toml +1 -1
  203. package/templates/.gemini/commands/_project_/import-issue.toml +1 -1
  204. package/templates/.gemini/commands/_project_/import-issue.zh-CN.toml +1 -1
  205. package/templates/.gemini/commands/_project_/init-labels.zh-CN.toml +1 -1
  206. package/templates/.gemini/commands/_project_/init-milestones.toml +1 -1
  207. package/templates/.gemini/commands/_project_/init-milestones.zh-CN.toml +1 -1
  208. package/templates/.gemini/commands/_project_/plan-task.toml +1 -1
  209. package/templates/.gemini/commands/_project_/plan-task.zh-CN.toml +1 -1
  210. package/templates/.gemini/commands/_project_/refine-task.zh-CN.toml +1 -1
  211. package/templates/.gemini/commands/_project_/refine-title.toml +1 -1
  212. package/templates/.gemini/commands/_project_/refine-title.zh-CN.toml +1 -1
  213. package/templates/.gemini/commands/_project_/release.toml +1 -1
  214. package/templates/.gemini/commands/_project_/release.zh-CN.toml +1 -1
  215. package/templates/.gemini/commands/_project_/review-task.toml +1 -1
  216. package/templates/.gemini/commands/_project_/review-task.zh-CN.toml +1 -1
  217. package/templates/.gemini/commands/_project_/sync-issue.toml +1 -1
  218. package/templates/.gemini/commands/_project_/sync-issue.zh-CN.toml +1 -1
  219. package/templates/.gemini/commands/_project_/sync-pr.toml +1 -1
  220. package/templates/.gemini/commands/_project_/sync-pr.zh-CN.toml +1 -1
  221. package/templates/.gemini/commands/_project_/test-integration.toml +1 -1
  222. package/templates/.gemini/commands/_project_/test-integration.zh-CN.toml +1 -1
  223. package/templates/.gemini/commands/_project_/test.toml +1 -1
  224. package/templates/.gemini/commands/_project_/test.zh-CN.toml +1 -1
  225. package/templates/.gemini/commands/_project_/update-agent-infra.toml +1 -1
  226. package/templates/.gemini/commands/_project_/update-agent-infra.zh-CN.toml +1 -1
  227. package/templates/.gemini/commands/_project_/upgrade-dependency.toml +1 -1
  228. package/templates/.gemini/commands/_project_/upgrade-dependency.zh-CN.toml +1 -1
  229. package/templates/.github/hooks/check-version-format.sh +29 -0
  230. package/templates/.github/hooks/pre-commit +8 -0
  231. package/templates/.opencode/COMMAND_STYLE_GUIDE.md +6 -6
  232. package/templates/.opencode/COMMAND_STYLE_GUIDE.zh-CN.md +6 -6
  233. package/templates/.opencode/commands/analyze-task.md +1 -1
  234. package/templates/.opencode/commands/analyze-task.zh-CN.md +1 -1
  235. package/templates/.opencode/commands/block-task.md +1 -1
  236. package/templates/.opencode/commands/block-task.zh-CN.md +1 -1
  237. package/templates/.opencode/commands/check-task.md +1 -1
  238. package/templates/.opencode/commands/check-task.zh-CN.md +1 -1
  239. package/templates/.opencode/commands/close-codescan.md +1 -1
  240. package/templates/.opencode/commands/close-codescan.zh-CN.md +1 -1
  241. package/templates/.opencode/commands/close-dependabot.md +1 -1
  242. package/templates/.opencode/commands/close-dependabot.zh-CN.md +1 -1
  243. package/templates/.opencode/commands/commit.md +1 -1
  244. package/templates/.opencode/commands/commit.zh-CN.md +1 -1
  245. package/templates/.opencode/commands/complete-task.md +1 -1
  246. package/templates/.opencode/commands/complete-task.zh-CN.md +1 -1
  247. package/templates/.opencode/commands/create-issue.zh-CN.md +1 -1
  248. package/templates/.opencode/commands/create-pr.md +1 -1
  249. package/templates/.opencode/commands/create-pr.zh-CN.md +1 -1
  250. package/templates/.opencode/commands/create-release-note.md +1 -1
  251. package/templates/.opencode/commands/create-release-note.zh-CN.md +1 -1
  252. package/templates/.opencode/commands/create-task.md +1 -1
  253. package/templates/.opencode/commands/create-task.zh-CN.md +1 -1
  254. package/templates/.opencode/commands/implement-task.md +1 -1
  255. package/templates/.opencode/commands/implement-task.zh-CN.md +1 -1
  256. package/templates/.opencode/commands/import-codescan.zh-CN.md +1 -1
  257. package/templates/.opencode/commands/import-dependabot.zh-CN.md +1 -1
  258. package/templates/.opencode/commands/import-issue.md +1 -1
  259. package/templates/.opencode/commands/import-issue.zh-CN.md +1 -1
  260. package/templates/.opencode/commands/init-labels.zh-CN.md +1 -1
  261. package/templates/.opencode/commands/init-milestones.md +1 -1
  262. package/templates/.opencode/commands/init-milestones.zh-CN.md +1 -1
  263. package/templates/.opencode/commands/plan-task.md +1 -1
  264. package/templates/.opencode/commands/plan-task.zh-CN.md +1 -1
  265. package/templates/.opencode/commands/refine-task.zh-CN.md +1 -1
  266. package/templates/.opencode/commands/refine-title.md +1 -1
  267. package/templates/.opencode/commands/refine-title.zh-CN.md +1 -1
  268. package/templates/.opencode/commands/release.md +1 -1
  269. package/templates/.opencode/commands/release.zh-CN.md +1 -1
  270. package/templates/.opencode/commands/review-task.md +1 -1
  271. package/templates/.opencode/commands/review-task.zh-CN.md +1 -1
  272. package/templates/.opencode/commands/sync-issue.md +1 -1
  273. package/templates/.opencode/commands/sync-issue.zh-CN.md +1 -1
  274. package/templates/.opencode/commands/sync-pr.md +1 -1
  275. package/templates/.opencode/commands/sync-pr.zh-CN.md +1 -1
  276. package/templates/.opencode/commands/test-integration.md +1 -1
  277. package/templates/.opencode/commands/test-integration.zh-CN.md +1 -1
  278. package/templates/.opencode/commands/test.md +1 -1
  279. package/templates/.opencode/commands/test.zh-CN.md +1 -1
  280. package/templates/.opencode/commands/update-agent-infra.md +1 -1
  281. package/templates/.opencode/commands/update-agent-infra.zh-CN.md +1 -1
  282. package/templates/.opencode/commands/upgrade-dependency.md +1 -1
  283. package/templates/.opencode/commands/upgrade-dependency.zh-CN.md +1 -1
  284. package/templates/AGENTS.md +11 -3
  285. package/templates/AGENTS.zh-CN.md +11 -3
  286. package/templates/.editorconfig +0 -15
  287. package/templates/.github/ISSUE_TEMPLATE/01_bug_report.yml +0 -149
  288. package/templates/.github/ISSUE_TEMPLATE/02_question.yml +0 -101
  289. package/templates/.github/ISSUE_TEMPLATE/03_feature_request.yml +0 -131
  290. package/templates/.github/ISSUE_TEMPLATE/04_documentation.yml +0 -165
  291. package/templates/.github/ISSUE_TEMPLATE/05_other.yml +0 -147
  292. package/templates/.github/ISSUE_TEMPLATE/config.yml +0 -11
  293. package/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -123
  294. package/templates/.github/dependabot.yml +0 -17
  295. package/templates/.github/hooks/check-utf8-encoding.sh +0 -25
  296. package/templates/.github/release.yml +0 -27
  297. package/templates/.github/workflows/pr-title-check.yml +0 -42
  298. package/templates/.mailmap +0 -4
  299. package/templates/CONTRIBUTING.md +0 -126
  300. package/templates/CONTRIBUTING.zh-CN.md +0 -124
  301. package/templates/SECURITY.md +0 -131
  302. package/templates/SECURITY.zh-CN.md +0 -131
@@ -0,0 +1,44 @@
1
+ #!/bin/sh
2
+ set -e
3
+
4
+ input=$(cat)
5
+ hook_command=$(
6
+ printf '%s' "$input" | node -e '
7
+ const chunks = [];
8
+ process.stdin.on("data", (chunk) => chunks.push(chunk));
9
+ process.stdin.on("end", () => {
10
+ try {
11
+ const payload = JSON.parse(Buffer.concat(chunks).toString());
12
+ process.stdout.write(payload.tool_input && payload.tool_input.command || "");
13
+ } catch (error) {
14
+ process.stdout.write("");
15
+ }
16
+ });
17
+ ' 2>/dev/null
18
+ ) || true
19
+
20
+ case "$hook_command" in
21
+ git\ commit | git\ commit\ *) ;;
22
+ *) exit 0 ;;
23
+ esac
24
+
25
+ script_dir=$(
26
+ CDPATH= cd -- "$(dirname -- "$0")" && pwd
27
+ )
28
+ repo_root=$(
29
+ CDPATH= cd -- "$script_dir/../.." && pwd
30
+ )
31
+
32
+ if sh "$repo_root/.github/hooks/check-version-format.sh"; then
33
+ echo "Claude hook: version check passed."
34
+ exit 0
35
+ else
36
+ status=$?
37
+ fi
38
+
39
+ if [ "$status" -eq 1 ]; then
40
+ echo "Claude hook: blocking git commit (version format error)."
41
+ exit 2
42
+ fi
43
+
44
+ exit "$status"
@@ -16,5 +16,19 @@
16
16
  "Bash(sudo rm:*)",
17
17
  "Bash(rm -rf /:*)"
18
18
  ]
19
+ },
20
+ "hooks": {
21
+ "PreToolUse": [
22
+ {
23
+ "matcher": "Bash",
24
+ "hooks": [
25
+ {
26
+ "type": "command",
27
+ "command": "sh .claude/hooks/check-version-format.sh",
28
+ "timeout": 5
29
+ }
30
+ ]
31
+ }
32
+ ]
19
33
  }
20
34
  }
@@ -1,4 +1,4 @@
1
- description = "Analyze an existing task and output a requirement analysis document"
1
+ description = "Analyze a task and produce a requirements document"
2
2
  prompt = """
3
3
  Analyze task {{args}}.
4
4
 
@@ -1,4 +1,4 @@
1
- description = "分析已有任务并输出需求分析文档,支持多轮分析产物。 当用户要求分析某个任务时触发。参数:task-id。"
1
+ description = "分析任务并输出需求分析文档"
2
2
  prompt = """
3
3
  分析任务 {{args}}。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Mark task as blocked and record blocking reason"
1
+ description = "Mark a task as blocked and record the reason"
2
2
  prompt = """
3
3
  Block task: {{args}}
4
4
 
@@ -1,4 +1,4 @@
1
- description = "标记任务为阻塞状态并记录阻塞原因,将其从 active 目录移动到 blocked 目录。 当任务因技术问题、需求不清晰、缺少资源或待定决策而无法继续时使用。 参数:task-id,可选的阻塞原因。"
1
+ description = "标记任务为阻塞状态并记录原因"
2
2
  prompt = """
3
3
  阻塞任务:{{args}}
4
4
 
@@ -1,4 +1,4 @@
1
- description = "View task current status and progress"
1
+ description = "Check a task's current status and progress"
2
2
  prompt = """
3
3
  Check status of task {{args}}.
4
4
 
@@ -1,4 +1,4 @@
1
- description = "查看任务的当前状态、工作流进度和上下文文件。这是只读操作,报告任务状态并建议 适当的下一步操作。当用户要求查看任务状态时触发。参数:task-id。"
1
+ description = "查看任务的当前状态和进度"
2
2
  prompt = """
3
3
  查看任务 {{args}} 的状态。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Close Code Scanning alert with documented reason"
1
+ description = "Close a Code Scanning alert with a documented reason"
2
2
  prompt = """
3
3
  Close CodeQL alert #{{args}}.
4
4
 
@@ -1,4 +1,4 @@
1
- description = "关闭 Code Scanning(CodeQL)告警并提供有据可查的理由。 当用户要求关闭 Code Scanning 告警时触发。参数:告警编号。"
1
+ description = "关闭 Code Scanning 告警并记录理由"
2
2
  prompt = """
3
3
  关闭 CodeQL 告警 #{{args}}。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Close Dependabot security alert with documented reason"
1
+ description = "Close a Dependabot alert with a documented reason"
2
2
  prompt = """
3
3
  Close Dependabot alert #{{args}}.
4
4
 
@@ -1,4 +1,4 @@
1
- description = "关闭 Dependabot 安全告警并提供有据可查的理由。 当用户要求关闭 Dependabot 告警时触发。参数:告警编号。"
1
+ description = "关闭 Dependabot 安全告警并记录理由"
2
2
  prompt = """
3
3
  关闭 Dependabot 告警 #{{args}}。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Commit current changes to Git"
1
+ description = "Commit the current changes to Git"
2
2
  prompt = """
3
3
  Read and execute the commit skill from `.agents/skills/commit/SKILL.md`.
4
4
 
@@ -1,4 +1,4 @@
1
- description = "提交当前变更到 Git,包含版权头年份检查和任务状态更新。 当用户要求提交代码或保存变更时触发。"
1
+ description = "提交当前变更到 Git"
2
2
  prompt = """
3
3
  读取并执行 `.agents/skills/commit/SKILL.md` 中的 commit 技能。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Mark task completed and archive to completed directory"
1
+ description = "Mark a task as completed and archive it"
2
2
  prompt = """
3
3
  Complete task {{args}}.
4
4
 
@@ -1,4 +1,4 @@
1
- description = "标记任务完成并归档,将任务目录从 active/ 移动到 completed/。在允许完成之前, 验证所有工作流步骤已完成、代码已审查并提交、测试已通过。 当用户要求完成或归档任务时触发。参数:task-id。"
1
+ description = "标记任务完成并归档"
2
2
  prompt = """
3
3
  完成任务 {{args}}。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "从任务文件创建 GitHub Issue。 当用户要求为任务创建 Issue 时触发。参数:task-id。"
1
+ description = "从任务文件创建 GitHub Issue"
2
2
  prompt = """
3
3
  为任务 {{args}} 创建 Issue。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Create Pull Request to specified or auto-detected target branch"
1
+ description = "Create a Pull Request to a target branch"
2
2
  prompt = """
3
3
  Create PR: {{args}}
4
4
 
@@ -1,4 +1,4 @@
1
- description = "创建 Pull Request 到指定或自动推断的目标分支。 当用户要求创建 PR 时触发。可选参数:目标分支。"
1
+ description = "创建 Pull Request 到目标分支"
2
2
  prompt = """
3
3
  创建 PR:{{args}}
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Auto-generate structured Release Notes from PR/commit and optionally create GitHub Draft Release"
1
+ description = "Generate release notes from PRs and commits"
2
2
  prompt = """
3
3
  Generate release note: {{args}}
4
4
 
@@ -1,4 +1,4 @@
1
- description = "从 PR 和 commit 生成版本发布说明。 当用户要求生成发布说明时触发。参数:版本号,可选的上一版本号。"
1
+ description = "从 PR 和 commit 生成版本发布说明"
2
2
  prompt = """
3
3
  生成发布说明:{{args}}
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Create task from natural language description and generate requirement analysis document"
1
+ description = "Create a task from a natural-language description"
2
2
  prompt = """
3
3
  Task description: {{args}}
4
4
 
@@ -1,4 +1,4 @@
1
- description = "根据用户的自然语言描述创建任务并执行需求分析。当用户描述一个新功能、Bug 或改进需求时触发。 唯一的产出是 task.md 和 analysis.md —— 不编写任何业务代码。参数:任务描述文本。"
1
+ description = "根据自然语言描述创建任务"
2
2
  prompt = """
3
3
  任务描述:{{args}}
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Implement task based on technical plan and output implementation report"
1
+ description = "Implement a task from its technical plan and output a report"
2
2
  prompt = """
3
3
  Implement task {{args}}.
4
4
 
@@ -1,4 +1,4 @@
1
- description = "根据技术方案实施任务,编写代码和测试,输出实现报告。当用户在技术方案审查通过后要求实施任务或编码时触发。 参数:task-id。"
1
+ description = "根据技术方案实施任务并输出报告"
2
2
  prompt = """
3
3
  实施任务 {{args}}。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "导入 Code Scanning(CodeQL)告警并创建修复任务。 当用户要求导入 Code Scanning 告警时触发。参数:告警编号。"
1
+ description = "导入 Code Scanning 告警并创建修复任务"
2
2
  prompt = """
3
3
  导入 CodeQL 告警 #{{args}}。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "导入 Dependabot 安全告警并创建修复任务。 当用户要求导入 Dependabot 告警时触发。参数:告警编号。"
1
+ description = "导入 Dependabot 安全告警并创建修复任务"
2
2
  prompt = """
3
3
  导入 Dependabot 告警 #{{args}}。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Import a GitHub Issue and create a task file"
1
+ description = "Import a GitHub Issue and create a task"
2
2
  prompt = """
3
3
  Import Issue #{{args}}.
4
4
 
@@ -1,4 +1,4 @@
1
- description = "从 GitHub Issue 导入并创建任务文件。 当用户要求导入某个 Issue 时触发。参数:issue 编号。"
1
+ description = "从 GitHub Issue 导入并创建任务"
2
2
  prompt = """
3
3
  导入 Issue #{{args}}。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "一次性初始化仓库的标准 GitHub Labels 体系。创建通用 labels、自动探测 in: labels、不生成 theme: labels,并提示未覆盖的默认 labels。"
1
+ description = "初始化仓库的 GitHub Labels 体系"
2
2
  prompt = """
3
3
  为 {{project}} 初始化 GitHub Labels。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Initialize the repository's standard GitHub Milestones taxonomy and optionally backfill historical milestones with --history"
1
+ description = "Initialize the repository's standard GitHub Milestones taxonomy"
2
2
  prompt = """
3
3
  Initialize milestones: {{args}}
4
4
 
@@ -1,4 +1,4 @@
1
- description = "一次性初始化仓库的标准 GitHub Milestones 体系。创建 General Backlog、基于当前版本的初始里程碑,并可选通过 --history 补齐历史版本里程碑。"
1
+ description = "初始化仓库的 GitHub Milestones 体系"
2
2
  prompt = """
3
3
  初始化里程碑:{{args}}
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Design technical solution and output implementation plan"
1
+ description = "Design a technical plan for a task"
2
2
  prompt = """
3
3
  Design plan for task {{args}}.
4
4
 
@@ -1,4 +1,4 @@
1
- description = "为任务设计技术方案并输出详细的实施计划。当用户要求为已完成需求分析的任务设计方案或技术计划时触发。 这是一个强制性的人工审查检查点。参数:task-id。"
1
+ description = "为任务设计技术方案和实施计划"
2
2
  prompt = """
3
3
  为任务 {{args}} 设计方案。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "处理代码审查反馈并修复审查中发现的问题。按优先级(Blocker -> Major -> Minor)修复。 仅处理审查中标记的问题,不添加额外变更。当用户要求修复审查问题时触发。参数:task-id。"
1
+ description = "处理代码审查反馈并修复问题"
2
2
  prompt = """
3
3
  修复任务 {{args}} 的审查问题。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Deep-analyze Issue or PR content and reformat its title to Conventional Commits format"
1
+ description = "Rewrite an Issue or PR title in Conventional Commits format"
2
2
  prompt = """
3
3
  Refine title of #{{args}}.
4
4
 
@@ -1,4 +1,4 @@
1
- description = "深度分析 IssuePR 内容,并将其标题重构为 Conventional Commits 格式。 当用户要求优化标题时触发。参数:issue 或 PR 编号。"
1
+ description = "重构 Issue/PR 标题为 Conventional Commits 格式"
2
2
  prompt = """
3
3
  优化 #{{args}} 的标题。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Execute version release workflow"
1
+ description = "Run the version release workflow"
2
2
  prompt = """
3
3
  Release version {{args}}.
4
4
 
@@ -1,4 +1,4 @@
1
- description = "执行版本发布流程。当用户要求发布版本时触发。参数:版本号(X.Y.Z)。"
1
+ description = "执行版本发布流程"
2
2
  prompt = """
3
3
  发布版本 {{args}}。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Review task implementation and output code review report"
1
+ description = "Review a task implementation and output a code review report"
2
2
  prompt = """
3
3
  Review task {{args}}.
4
4
 
@@ -1,4 +1,4 @@
1
- description = "审查任务实现代码并输出代码审查报告,按严重程度分类(Blocker / Major / Minor)。 当用户在实现完成后要求代码审查时触发。参数:task-id。"
1
+ description = "审查任务实现并输出代码审查报告"
2
2
  prompt = """
3
3
  审查任务 {{args}}。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Sync task progress to GitHub Issue comment"
1
+ description = "Sync task progress to a GitHub Issue"
2
2
  prompt = """
3
3
  Sync task {{args}} to Issue.
4
4
 
@@ -1,4 +1,4 @@
1
- description = "将任务处理进度同步到对应的 GitHub Issue 评论。 当用户要求同步进度到 Issue 时触发。参数:task-id。"
1
+ description = "将任务进度同步到 GitHub Issue"
2
2
  prompt = """
3
3
  同步任务 {{args}} 到 Issue。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Sync task progress to Pull Request comment"
1
+ description = "Sync task progress to a Pull Request"
2
2
  prompt = """
3
3
  Sync task {{args}} to PR.
4
4
 
@@ -1,4 +1,4 @@
1
- description = "将任务处理进度同步到对应的 Pull Request 评论。 当用户要求同步进度到 PR 时触发。参数:task-id。"
1
+ description = "将任务进度同步到 Pull Request"
2
2
  prompt = """
3
3
  同步任务 {{args}} 到 PR。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Run integration test workflow"
1
+ description = "Run the integration test workflow"
2
2
  prompt = """
3
3
  Read and execute the test-integration skill from `.agents/skills/test-integration/SKILL.md`.
4
4
 
@@ -1,4 +1,4 @@
1
- description = "执行项目集成测试流程。 当用户要求运行集成测试或端到端验证时触发。"
1
+ description = "执行项目集成测试流程"
2
2
  prompt = """
3
3
  读取并执行 `.agents/skills/test-integration/SKILL.md` 中的 test-integration 技能。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Run full test workflow (compilation + unit tests)"
1
+ description = "Run the full project test workflow"
2
2
  prompt = """
3
3
  Read and execute the test skill from `.agents/skills/test/SKILL.md`.
4
4
 
@@ -1,4 +1,4 @@
1
- description = "执行项目完整测试流程(编译检查 + 单元测试)。 当用户要求运行测试或验证代码质量时触发。"
1
+ description = "执行项目完整测试流程"
2
2
  prompt = """
3
3
  读取并执行 `.agents/skills/test/SKILL.md` 中的 test 技能。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Update project AI collaboration config by re-rendering latest templates/"
1
+ description = "Update the project AI collaboration configuration"
2
2
  prompt = """
3
3
  Read and execute the update-agent-infra skill from `.agents/skills/update-agent-infra/SKILL.md`.
4
4
 
@@ -1,4 +1,4 @@
1
- description = "通过重新渲染最新 templates/ 来更新项目 AI 协作配置"
1
+ description = "更新项目 AI 协作配置"
2
2
  prompt = """
3
3
  读取并执行 `.agents/skills/update-agent-infra/SKILL.md` 中的 update-agent-infra 技能。
4
4
 
@@ -1,4 +1,4 @@
1
- description = "Upgrade dependency package to new version"
1
+ description = "Upgrade a dependency and validate the change"
2
2
  prompt = """
3
3
  Upgrade dependency: {{args}}
4
4
 
@@ -1,4 +1,4 @@
1
- description = "升级项目中的指定依赖包到新版本并验证变更。 当用户要求升级依赖时触发。参数:包名、原版本和新版本。"
1
+ description = "升级项目依赖到新版本并验证"
2
2
  prompt = """
3
3
  升级依赖:{{args}}
4
4
 
@@ -0,0 +1,29 @@
1
+ #!/bin/sh
2
+ set -e
3
+
4
+ script_dir=$(
5
+ CDPATH= cd -- "$(dirname -- "$0")" && pwd
6
+ )
7
+ repo_root=$(
8
+ CDPATH= cd -- "$script_dir/../.." && pwd
9
+ )
10
+
11
+ airc_file="$repo_root/.agents/.airc.json"
12
+
13
+ if [ ! -f "$airc_file" ]; then
14
+ exit 0
15
+ fi
16
+
17
+ template_version=$(
18
+ node -e "const fs = require('node:fs'); const data = JSON.parse(fs.readFileSync(process.argv[1], 'utf8')); if (typeof data.templateVersion !== 'string') process.exit(1); process.stdout.write(data.templateVersion);" "$airc_file"
19
+ ) || {
20
+ echo "Error: Failed to read templateVersion from .agents/.airc.json."
21
+ exit 1
22
+ }
23
+
24
+ if ! printf '%s\n' "$template_version" | grep -Eq '^v[0-9]+\.[0-9]+\.[0-9]+$'; then
25
+ echo "Error: .agents/.airc.json templateVersion must use v-prefixed semver (found: $template_version)."
26
+ exit 1
27
+ fi
28
+
29
+ echo "Version format check passed."
@@ -0,0 +1,8 @@
1
+ #!/bin/sh
2
+ set -e
3
+
4
+ script_dir=$(
5
+ CDPATH= cd -- "$(dirname -- "$0")" && pwd
6
+ )
7
+
8
+ "$script_dir/check-version-format.sh"
@@ -131,9 +131,9 @@ Each step should do one thing. If a step is too complex, break it into sub-steps
131
131
  1. **Verify task exists**
132
132
 
133
133
  Search for the task file:
134
- - `.agent-workspace/active/{task-id}/task.md`
135
- - `.agent-workspace/blocked/{task-id}/task.md`
136
- - `.agent-workspace/completed/{task-id}/task.md`
134
+ - `.agents/workspace/active/{task-id}/task.md`
135
+ - `.agents/workspace/blocked/{task-id}/task.md`
136
+ - `.agents/workspace/completed/{task-id}/task.md`
137
137
 
138
138
  If not found, respond:
139
139
  "Task {task-id} not found. Please check the task ID."
@@ -157,9 +157,9 @@ Do NOT silently continue.
157
157
 
158
158
  ```markdown
159
159
  Search for the task in this order:
160
- 1. `.agent-workspace/active/{task-id}/task.md`
161
- 2. `.agent-workspace/blocked/{task-id}/task.md`
162
- 3. `.agent-workspace/completed/{task-id}/task.md`
160
+ 1. `.agents/workspace/active/{task-id}/task.md`
161
+ 2. `.agents/workspace/blocked/{task-id}/task.md`
162
+ 3. `.agents/workspace/completed/{task-id}/task.md`
163
163
  ```
164
164
 
165
165
  ### Status update pattern
@@ -131,9 +131,9 @@ Status: active
131
131
  1. **验证任务存在**
132
132
 
133
133
  按以下顺序搜索任务文件:
134
- - `.agent-workspace/active/{task-id}/task.md`
135
- - `.agent-workspace/blocked/{task-id}/task.md`
136
- - `.agent-workspace/completed/{task-id}/task.md`
134
+ - `.agents/workspace/active/{task-id}/task.md`
135
+ - `.agents/workspace/blocked/{task-id}/task.md`
136
+ - `.agents/workspace/completed/{task-id}/task.md`
137
137
 
138
138
  如果未找到,回复:
139
139
  "任务 {task-id} 不存在,请检查任务 ID。"
@@ -157,9 +157,9 @@ Status: active
157
157
 
158
158
  ```markdown
159
159
  按以下顺序搜索任务:
160
- 1. `.agent-workspace/active/{task-id}/task.md`
161
- 2. `.agent-workspace/blocked/{task-id}/task.md`
162
- 3. `.agent-workspace/completed/{task-id}/task.md`
160
+ 1. `.agents/workspace/active/{task-id}/task.md`
161
+ 2. `.agents/workspace/blocked/{task-id}/task.md`
162
+ 3. `.agents/workspace/completed/{task-id}/task.md`
163
163
  ```
164
164
 
165
165
  ### 状态更新模式
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Analyze an existing task and output a requirement analysis document"
2
+ description: "Analyze a task and produce a requirements document"
3
3
  agent: general
4
4
  subtask: false
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "分析已有任务并输出需求分析文档,支持多轮分析产物。 当用户要求分析某个任务时触发。参数:task-id。"
2
+ description: "分析任务并输出需求分析文档"
3
3
  agent: general
4
4
  subtask: false
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Mark task as blocked and record blocking reason"
2
+ description: "Mark a task as blocked and record the reason"
3
3
  agent: general
4
4
  subtask: false
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "标记任务为阻塞状态并记录阻塞原因,将其从 active 目录移动到 blocked 目录。 当任务因技术问题、需求不清晰、缺少资源或待定决策而无法继续时使用。 参数:task-id,可选的阻塞原因。"
2
+ description: "标记任务为阻塞状态并记录原因"
3
3
  agent: general
4
4
  subtask: false
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "View task current status and progress"
2
+ description: "Check a task's current status and progress"
3
3
  agent: general
4
4
  subtask: false
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "查看任务的当前状态、工作流进度和上下文文件。这是只读操作,报告任务状态并建议 适当的下一步操作。当用户要求查看任务状态时触发。参数:task-id。"
2
+ description: "查看任务的当前状态和进度"
3
3
  agent: general
4
4
  subtask: false
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Close Code Scanning alert with documented reason"
2
+ description: "Close a Code Scanning alert with a documented reason"
3
3
  agent: general
4
4
  subtask: false
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "关闭 Code Scanning(CodeQL)告警并提供有据可查的理由。 当用户要求关闭 Code Scanning 告警时触发。参数:告警编号。"
2
+ description: "关闭 Code Scanning 告警并记录理由"
3
3
  agent: general
4
4
  subtask: false
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Close Dependabot security alert with documented reason"
2
+ description: "Close a Dependabot alert with a documented reason"
3
3
  agent: general
4
4
  subtask: false
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "关闭 Dependabot 安全告警并提供有据可查的理由。 当用户要求关闭 Dependabot 告警时触发。参数:告警编号。"
2
+ description: "关闭 Dependabot 安全告警并记录理由"
3
3
  agent: general
4
4
  subtask: false
5
5
  ---