@skrupellose/code-helper 0.1.1 → 0.1.2

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/dist/templates.js CHANGED
@@ -4,6 +4,7 @@
4
4
  */
5
5
  export function renderEntryBlock(config) {
6
6
  const enabledRules = [
7
+ "- Agent 协作规范:开始新需求、迁移、重构或反馈修复时,读取 `code-helper-docs/user-rules/Agent协作规范.md`;主会话只做协调、分配、审阅和同步,具体执行任务必须交给子代理。",
7
8
  config.features.memoryTuning.enabled
8
9
  ? `- 项目记忆规则优化:整理或更新 \`AGENTS.md\` / \`CLAUDE.md\` / \`.github/copilot-instructions.md\` 时,读取 \`${config.directories.userRules}/项目记忆规则优化.md\`。`
9
10
  : undefined,
@@ -272,7 +273,9 @@ ${entryFiles.map((file) => `- ${file}`).join("\n")}
272
273
  9. 更新长期记忆和归档文档都需要用户确认,不自动执行。
273
274
  10. agent hook 只做提醒和检查,不替代 agent 判断;Git hook 只做提交前兜底。
274
275
  11. 推荐运行 \`npx @skrupellose/code-helper finish <中文功能名> --check-only\` 作为收尾检查,不让检查命令直接修改项目文件。
275
- 12. 如果 \`finish\` 输出仍有未开始、进行中、部分完成或被阻塞节点,agent 必须继续当前功能,而不是切换新任务。`
276
+ 12. 如果 \`finish\` 输出仍有未开始、进行中、部分完成或被阻塞节点,agent 必须继续当前功能,而不是切换新任务。
277
+ 13. \`finish\` 输出的“必须确认事项”是强制收尾清单;最终回复前必须逐项处理或明确询问用户,不能只总结已完成内容。
278
+ 14. 如果“必须确认事项”包含更新长期记忆、归档文档或选择下一个任务,agent 必须在最终回复中明确提出对应问题;用户确认前不得自动执行。`
276
279
  },
277
280
  {
278
281
  fileName: "Agent协作规范.md",
@@ -318,6 +321,112 @@ ${entryFiles.map((file) => `- ${file}`).join("\n")}
318
321
  */
319
322
  export function getSkillTemplates() {
320
323
  return [
324
+ {
325
+ fileName: "agent-collaboration.SKILL.md",
326
+ content: `---
327
+ name: code-helper-agent-collaboration
328
+ description: 当开始新需求、迁移、重构、反馈修复、多人或多 agent 协作任务时必须使用。该 skill 约束主会话只负责理解目标、拆分任务、派发子代理、审阅结果、同步状态和最终汇报;具体读取代码、修改文件、运行命令、测试验证、资料整理或文档产出交给子代理。若当前工具没有子代理能力,必须先说明限制、列出影响并等待用户确认。
329
+ ---
330
+
331
+ # Code Helper Agent 协作
332
+
333
+ ## 目标
334
+
335
+ 在同一项目中统一主会话与子代理的职责边界,避免主会话直接吞下所有具体执行细节,也避免子代理越权修改无关文件。
336
+
337
+ 核心目标:
338
+
339
+ 1. 主会话只做协调、分配、审阅、状态同步和最终汇报。
340
+ 2. 具体读取、修改、测试、整理、排查和文档产出交给子代理执行。
341
+ 3. 每次派发子代理都限定清晰范围,避免扩大影响面。
342
+ 4. 子代理返回后,主会话必须审阅结果、验证结论和风险。
343
+ 5. 当前工具没有子代理能力时,先说明限制并等待用户确认。
344
+
345
+ ## 使用场景
346
+
347
+ 当用户表达以下意图时,使用本 skill:
348
+
349
+ - 开始新需求、新功能、迁移、重构或反馈修复
350
+ - 需要读取大量代码或多份文档
351
+ - 需要修改文件、运行命令、执行测试或整理资料
352
+ - 多人或多 agent 交替推进同一项目
353
+ - 用户提醒“你不是独自工作”或要求按 Agent 协作规范执行
354
+ - 准备把任务拆给不同执行者并汇总结果
355
+
356
+ ## 工作流
357
+
358
+ ### 1. 主会话确认目标和边界
359
+
360
+ 主会话先确认用户目标、必须遵守的入口规则、禁止触碰的目录、允许修改的文件范围、验证要求和交付格式。
361
+
362
+ 如果任务涉及项目规则,还要先读取 AGENTS.md、CLAUDE.md 或项目中已声明的专题规则索引。
363
+
364
+ ### 2. 拆分并派发子代理
365
+
366
+ 凡是具体执行任务,默认交给子代理:
367
+
368
+ - 读取代码、搜索引用或梳理现状
369
+ - 修改源码、测试、配置或文档
370
+ - 运行构建、单测、检查或脚本
371
+ - 排查错误、复现问题或分析日志
372
+ - 整理资料、生成过程文档或验收文档
373
+
374
+ 派发子代理时必须写清:
375
+
376
+ - 任务目标
377
+ - 允许读取和修改的范围
378
+ - 必须读取的规则或上下文
379
+ - 禁止触碰的文件、目录和命令
380
+ - 预期产物
381
+ - 必须返回的验证方式、风险和未完成项
382
+
383
+ 不要把宽泛任务交给子代理,例如“看看哪里有问题”或“顺手修一下”。必须把范围收窄到可审阅、可验证的边界内。
384
+
385
+ ### 3. 主会话审阅返回结果
386
+
387
+ 子代理返回后,主会话必须审阅:
388
+
389
+ - 是否只处理了派发范围内的任务
390
+ - 是否存在范围外改动
391
+ - 变更是否满足用户目标
392
+ - 验证命令、测试结论或未验证原因是否充分
393
+ - 风险、阻塞和后续事项是否说明清楚
394
+ - 是否需要继续派发补充任务
395
+
396
+ 主会话不能直接转述未经审阅的子代理结论。发现验证不足、范围扩大或结论不清时,应继续派发修正任务或向用户说明风险。
397
+
398
+ ### 4. 同步状态并最终汇报
399
+
400
+ 主会话只汇总已审阅的结果,并负责:
401
+
402
+ - 同步必要的 status-doc 或 result-doc
403
+ - 判断是否需要询问更新长期记忆
404
+ - 判断是否需要询问归档
405
+ - 向用户说明改动文件、验证结论、风险和建议下一步
406
+
407
+ 如果用户明确禁止更新过程文档、归档、运行同步命令或提交代码,必须遵守用户约束。
408
+
409
+ ## 无子代理能力时
410
+
411
+ 如果当前 agent 工具没有可调用的子代理能力,主会话必须先停止具体执行,并向用户说明:
412
+
413
+ 1. 当前工具不支持子代理执行。
414
+ 2. 原本应交给子代理的任务清单。
415
+ 3. 改由主会话执行会带来的影响,例如审阅隔离降低、并行度降低或需要更严格限定范围。
416
+ 4. 需要用户确认后,主会话才可以继续执行具体读取、修改、测试或整理任务。
417
+
418
+ 用户未确认前,不得擅自开始读取大量代码、修改文件、运行命令或生成过程文档。
419
+
420
+ ## 边界规则
421
+
422
+ - 主会话只协调,不直接执行具体实现、调试、测试、资料整理或文档生成任务。
423
+ - 子代理不得扩大派发范围,不得触碰明确禁止的文件、目录、命令或生成产物。
424
+ - 派发任务必须限定范围、输入、产出和验证方式。
425
+ - 返回结果必须被主会话审阅后才能用于最终结论。
426
+ - 没有子代理能力时,必须说明限制并等待用户确认。
427
+ - 不回滚他人改动;如果发现无关改动,保留并在必要时说明。
428
+ - 用户明确给出的本轮约束优先,例如不运行同步命令、不改生成产物、不提交代码。`
429
+ },
321
430
  {
322
431
  fileName: "memory-tuning.SKILL.md",
323
432
  content: `---
@@ -808,12 +917,14 @@ description: 当 agent 完成小节点、识别到功能变更或项目结构变
808
917
  - 使用 \`npx @skrupellose/code-helper finish <中文功能名> --check-only\` 做收尾检查。
809
918
  - 该命令只输出判断和建议,不自动更新记忆、不自动归档、不自动提交。
810
919
  - 如果缺少功能名,优先从活动任务列表选择,不要求用户凭记忆输入。
920
+ - 命令输出中的“必须确认事项”是最终回复前必须处理的强制清单,不能被普通总结覆盖。
811
921
 
812
922
  ## 用户确认边界
813
923
 
814
924
  - 可以自动更新 result-doc、plan-doc 和 status-doc 中属于当前任务过程的内容。
815
925
  - 更新长期记忆前必须询问用户。
816
926
  - 文档归档前必须询问用户。
927
+ - 需要选择下一任务时,必须先列出活动任务并询问用户。
817
928
  - git commit、npm publish 等外部动作前必须询问用户。
818
929
 
819
930
  ## 判断原则
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"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"}
package/dist/workflows.js CHANGED
@@ -24,12 +24,10 @@ export async function createPlanWorkbench(options) {
24
24
  const planPath = projectPath(options.projectRoot, join(config.directories.planDoc, `${featureName}.md`));
25
25
  const resultPath = projectPath(options.projectRoot, join(config.directories.resultDoc, featureName, RESULT_RECORD_FILE_NAME));
26
26
  const statusPath = projectPath(options.projectRoot, join(config.directories.statusDoc, `${featureName}-状态.md`));
27
- const manualTestPath = projectPath(options.projectRoot, join(config.directories.resultDoc, featureName, MANUAL_TEST_FILE_NAME));
28
27
  return [
29
28
  await writeTextIfMissing(planPath, renderPlanDocument(featureName, options.requirementPath, requirement)),
30
29
  await writeTextIfMissing(resultPath, renderResultDocument(featureName)),
31
- await writeTextIfMissing(statusPath, renderStatusDocument(featureName)),
32
- await writeTextIfMissing(manualTestPath, renderManualTestDocument(featureName, `${featureName} 页面回归测试`))
30
+ await writeTextIfMissing(statusPath, renderStatusDocument(featureName))
33
31
  ];
34
32
  }
35
33
  /**
@@ -38,7 +36,7 @@ export async function createPlanWorkbench(options) {
38
36
  */
39
37
  export async function createManualTestDocument(options) {
40
38
  const config = await loadConfig(options.projectRoot);
41
- const featureName = normalizeDocumentName(options.featureName, "页面功能");
39
+ const featureName = normalizeDocumentName(options.featureName, "人工验收");
42
40
  const targetPath = projectPath(options.projectRoot, join(config.directories.resultDoc, featureName, MANUAL_TEST_FILE_NAME));
43
41
  return writeTextIfMissing(targetPath, renderManualTestDocument(featureName, options.title ?? `${featureName} 手工测试`));
44
42
  }
@@ -63,13 +61,27 @@ export function normalizeDocumentName(value, fallbackName) {
63
61
  const normalized = value
64
62
  .trim()
65
63
  .replace(/\s+/gu, "-")
66
- .replace(/[^\p{Script=Han}\p{N}_-]/gu, "")
64
+ .replace(/[^\p{Script=Han}\p{L}\p{N}_-]/gu, "")
67
65
  .replace(/-+/gu, "-")
68
66
  .replace(/^-|-$/gu, "");
69
67
  if (normalized !== "" && containsChinese(normalized)) {
70
68
  return normalized;
71
69
  }
72
- return fallbackName;
70
+ if (fallbackName.trim() === "") {
71
+ return "";
72
+ }
73
+ const normalizedFallback = fallbackName
74
+ .trim()
75
+ .replace(/\s+/gu, "-")
76
+ .replace(/[^\p{Script=Han}\p{L}\p{N}_-]/gu, "")
77
+ .replace(/-+/gu, "-")
78
+ .replace(/^-|-$/gu, "");
79
+ const fallback = normalizedFallback !== "" ? normalizedFallback : fallbackName;
80
+ const legacySuffix = normalizeFeatureName(value);
81
+ if (legacySuffix !== "feature") {
82
+ return `${fallback}-${legacySuffix}`;
83
+ }
84
+ return fallback;
73
85
  }
74
86
  /**
75
87
  * 推断中文功能名。
@@ -78,7 +90,7 @@ export function normalizeDocumentName(value, fallbackName) {
78
90
  function inferChineseFeatureName(featureName, requirementPath, requirement) {
79
91
  const titleFallback = extractChineseMarkdownTitle(requirement) ?? normalizeDocumentName(basename(requirementPath, ".md"), "功能计划");
80
92
  if (featureName !== undefined && featureName.trim() !== "") {
81
- return normalizeDocumentName(featureName, titleFallback);
93
+ return containsChinese(featureName) ? normalizeDocumentName(featureName, titleFallback) : titleFallback;
82
94
  }
83
95
  return titleFallback;
84
96
  }
@@ -165,7 +177,7 @@ ${excerpt}
165
177
 
166
178
  - 当前状态文件:\`code-helper-docs/status-doc/${featureName}-状态.md\`
167
179
  - 执行记录目录:\`code-helper-docs/result-doc/${featureName}/\`
168
- - 手工测试文档:\`code-helper-docs/result-doc/${featureName}/${MANUAL_TEST_FILE_NAME}\`
180
+ - 按需手工测试文档:\`code-helper-docs/result-doc/${featureName}/${MANUAL_TEST_FILE_NAME}\`
169
181
  - 推进要求:每个子计划开始前先更新状态记录的“当前执行节点”,完成后再写入下一节点。
170
182
  `;
171
183
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../src/workflows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../src/workflows.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,12 @@
1
1
  {
2
2
  "name": "@skrupellose/code-helper",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "通用 agent 协作流程 CLI,用于初始化项目规则、维护记忆、生成计划文档并检查协作规范。",
5
5
  "type": "module",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/Skrupellose/code-helper.git"
9
+ },
6
10
  "bin": {
7
11
  "code-helper": "dist/index.js"
8
12
  },
@@ -13,7 +17,9 @@
13
17
  "scripts": {
14
18
  "build": "tsc -p tsconfig.json",
15
19
  "test": "npm run build && node --test tests/*.test.js",
16
- "check": "npm run build && node dist/index.js check"
20
+ "check": "npm run build && node dist/index.js check",
21
+ "sync:local": "npm run build && node dist/index.js sync-local && npm run check",
22
+ "prepack": "npm run build"
17
23
  },
18
24
  "keywords": [
19
25
  "agent",