specweave 1.0.351 → 1.0.352

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 (211) hide show
  1. package/bin/specweave.js +9 -0
  2. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts +5 -0
  3. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +1 -1
  4. package/dist/plugins/specweave-ado/lib/ado-client-v2.js +61 -23
  5. package/dist/plugins/specweave-ado/lib/ado-client-v2.js.map +1 -1
  6. package/dist/plugins/specweave-ado/lib/ado-duplicate-detector.d.ts.map +1 -1
  7. package/dist/plugins/specweave-ado/lib/ado-duplicate-detector.js +3 -2
  8. package/dist/plugins/specweave-ado/lib/ado-duplicate-detector.js.map +1 -1
  9. package/dist/plugins/specweave-ado/lib/ado-profile-resolver.d.ts.map +1 -1
  10. package/dist/plugins/specweave-ado/lib/ado-profile-resolver.js +2 -1
  11. package/dist/plugins/specweave-ado/lib/ado-profile-resolver.js.map +1 -1
  12. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts +1 -1
  13. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts.map +1 -1
  14. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js +25 -9
  15. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js.map +1 -1
  16. package/dist/plugins/specweave-ado/lib/conflict-resolver.d.ts.map +1 -1
  17. package/dist/plugins/specweave-ado/lib/conflict-resolver.js +17 -1
  18. package/dist/plugins/specweave-ado/lib/conflict-resolver.js.map +1 -1
  19. package/dist/plugins/specweave-ado/lib/per-us-sync.d.ts +3 -0
  20. package/dist/plugins/specweave-ado/lib/per-us-sync.d.ts.map +1 -1
  21. package/dist/plugins/specweave-ado/lib/per-us-sync.js +14 -1
  22. package/dist/plugins/specweave-ado/lib/per-us-sync.js.map +1 -1
  23. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -1
  24. package/dist/plugins/specweave-github/lib/github-client-v2.js +10 -7
  25. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -1
  26. package/dist/plugins/specweave-github/lib/github-client.d.ts +1 -1
  27. package/dist/plugins/specweave-github/lib/github-client.d.ts.map +1 -1
  28. package/dist/plugins/specweave-github/lib/github-client.js +7 -5
  29. package/dist/plugins/specweave-github/lib/github-client.js.map +1 -1
  30. package/dist/plugins/specweave-github/lib/github-cross-repo-sync.js +13 -3
  31. package/dist/plugins/specweave-github/lib/github-cross-repo-sync.js.map +1 -1
  32. package/dist/plugins/specweave-github/lib/github-feature-sync-cli.d.ts +24 -1
  33. package/dist/plugins/specweave-github/lib/github-feature-sync-cli.d.ts.map +1 -1
  34. package/dist/plugins/specweave-github/lib/github-feature-sync-cli.js +36 -20
  35. package/dist/plugins/specweave-github/lib/github-feature-sync-cli.js.map +1 -1
  36. package/dist/plugins/specweave-github/lib/github-graphql-client.d.ts +1 -0
  37. package/dist/plugins/specweave-github/lib/github-graphql-client.d.ts.map +1 -1
  38. package/dist/plugins/specweave-github/lib/github-graphql-client.js +32 -22
  39. package/dist/plugins/specweave-github/lib/github-graphql-client.js.map +1 -1
  40. package/dist/plugins/specweave-github/lib/github-spec-frontmatter-updater.js +144 -8
  41. package/dist/plugins/specweave-github/lib/github-spec-frontmatter-updater.js.map +1 -1
  42. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts +8 -1
  43. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts.map +1 -1
  44. package/dist/plugins/specweave-github/lib/github-spec-sync.js +94 -24
  45. package/dist/plugins/specweave-github/lib/github-spec-sync.js.map +1 -1
  46. package/dist/plugins/specweave-github/lib/github-sync-orchestrator.d.ts +1 -0
  47. package/dist/plugins/specweave-github/lib/github-sync-orchestrator.d.ts.map +1 -1
  48. package/dist/plugins/specweave-github/lib/github-sync-orchestrator.js +2 -1
  49. package/dist/plugins/specweave-github/lib/github-sync-orchestrator.js.map +1 -1
  50. package/dist/plugins/specweave-github/lib/github-us-auto-closer.d.ts.map +1 -1
  51. package/dist/plugins/specweave-github/lib/github-us-auto-closer.js +25 -0
  52. package/dist/plugins/specweave-github/lib/github-us-auto-closer.js.map +1 -1
  53. package/dist/plugins/specweave-github/lib/per-us-sync.d.ts +3 -0
  54. package/dist/plugins/specweave-github/lib/per-us-sync.d.ts.map +1 -1
  55. package/dist/plugins/specweave-github/lib/per-us-sync.js +29 -9
  56. package/dist/plugins/specweave-github/lib/per-us-sync.js.map +1 -1
  57. package/dist/plugins/specweave-jira/lib/content-format-adapter.d.ts +59 -0
  58. package/dist/plugins/specweave-jira/lib/content-format-adapter.d.ts.map +1 -0
  59. package/dist/plugins/specweave-jira/lib/content-format-adapter.js +159 -0
  60. package/dist/plugins/specweave-jira/lib/content-format-adapter.js.map +1 -0
  61. package/dist/plugins/specweave-jira/lib/jira-deployment-detector.d.ts +45 -0
  62. package/dist/plugins/specweave-jira/lib/jira-deployment-detector.d.ts.map +1 -0
  63. package/dist/plugins/specweave-jira/lib/jira-deployment-detector.js +92 -0
  64. package/dist/plugins/specweave-jira/lib/jira-deployment-detector.js.map +1 -0
  65. package/dist/plugins/specweave-jira/lib/jira-duplicate-detector.d.ts.map +1 -1
  66. package/dist/plugins/specweave-jira/lib/jira-duplicate-detector.js +13 -28
  67. package/dist/plugins/specweave-jira/lib/jira-duplicate-detector.js.map +1 -1
  68. package/dist/plugins/specweave-jira/lib/jira-epic-sync.d.ts +2 -1
  69. package/dist/plugins/specweave-jira/lib/jira-epic-sync.d.ts.map +1 -1
  70. package/dist/plugins/specweave-jira/lib/jira-epic-sync.js +19 -7
  71. package/dist/plugins/specweave-jira/lib/jira-epic-sync.js.map +1 -1
  72. package/dist/plugins/specweave-jira/lib/jira-field-discovery.d.ts +47 -0
  73. package/dist/plugins/specweave-jira/lib/jira-field-discovery.d.ts.map +1 -0
  74. package/dist/plugins/specweave-jira/lib/jira-field-discovery.js +110 -0
  75. package/dist/plugins/specweave-jira/lib/jira-field-discovery.js.map +1 -0
  76. package/dist/plugins/specweave-jira/lib/jira-paginated-search.d.ts +26 -0
  77. package/dist/plugins/specweave-jira/lib/jira-paginated-search.d.ts.map +1 -0
  78. package/dist/plugins/specweave-jira/lib/jira-paginated-search.js +77 -0
  79. package/dist/plugins/specweave-jira/lib/jira-paginated-search.js.map +1 -0
  80. package/dist/plugins/specweave-jira/lib/jira-spec-commit-sync.d.ts.map +1 -1
  81. package/dist/plugins/specweave-jira/lib/jira-spec-commit-sync.js +5 -3
  82. package/dist/plugins/specweave-jira/lib/jira-spec-commit-sync.js.map +1 -1
  83. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts +17 -2
  84. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts.map +1 -1
  85. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js +103 -33
  86. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js.map +1 -1
  87. package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts +4 -0
  88. package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts.map +1 -1
  89. package/dist/plugins/specweave-jira/lib/jira-status-sync.js +19 -6
  90. package/dist/plugins/specweave-jira/lib/jira-status-sync.js.map +1 -1
  91. package/dist/plugins/specweave-jira/lib/metadata-paths.d.ts +29 -0
  92. package/dist/plugins/specweave-jira/lib/metadata-paths.d.ts.map +1 -0
  93. package/dist/plugins/specweave-jira/lib/metadata-paths.js +73 -0
  94. package/dist/plugins/specweave-jira/lib/metadata-paths.js.map +1 -0
  95. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts +15 -2
  96. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts.map +1 -1
  97. package/dist/plugins/specweave-jira/lib/reorganization-detector.js +121 -33
  98. package/dist/plugins/specweave-jira/lib/reorganization-detector.js.map +1 -1
  99. package/dist/src/cli/commands/sync-progress.d.ts +6 -0
  100. package/dist/src/cli/commands/sync-progress.d.ts.map +1 -1
  101. package/dist/src/cli/commands/sync-progress.js +37 -0
  102. package/dist/src/cli/commands/sync-progress.js.map +1 -1
  103. package/dist/src/cli/commands/sync-task.d.ts +16 -0
  104. package/dist/src/cli/commands/sync-task.d.ts.map +1 -0
  105. package/dist/src/cli/commands/sync-task.js +42 -0
  106. package/dist/src/cli/commands/sync-task.js.map +1 -0
  107. package/dist/src/core/hooks/LifecycleHookDispatcher.d.ts +9 -1
  108. package/dist/src/core/hooks/LifecycleHookDispatcher.d.ts.map +1 -1
  109. package/dist/src/core/hooks/LifecycleHookDispatcher.js +26 -8
  110. package/dist/src/core/hooks/LifecycleHookDispatcher.js.map +1 -1
  111. package/dist/src/core/increment/metadata-manager.d.ts.map +1 -1
  112. package/dist/src/core/increment/metadata-manager.js +26 -0
  113. package/dist/src/core/increment/metadata-manager.js.map +1 -1
  114. package/dist/src/core/increment/status-commands.d.ts.map +1 -1
  115. package/dist/src/core/increment/status-commands.js +33 -11
  116. package/dist/src/core/increment/status-commands.js.map +1 -1
  117. package/dist/src/locales/de/cli.json +245 -77
  118. package/dist/src/locales/es/cli.json +238 -3
  119. package/dist/src/locales/fr/cli.json +254 -86
  120. package/dist/src/locales/ja/cli.json +246 -78
  121. package/dist/src/locales/ko/cli.json +246 -78
  122. package/dist/src/locales/pt/cli.json +245 -77
  123. package/dist/src/locales/zh/cli.json +251 -83
  124. package/dist/src/sync/github-reconciler.d.ts +30 -0
  125. package/dist/src/sync/github-reconciler.d.ts.map +1 -1
  126. package/dist/src/sync/github-reconciler.js +235 -1
  127. package/dist/src/sync/github-reconciler.js.map +1 -1
  128. package/package.json +1 -1
  129. package/plugins/specweave/hooks/v2/guards/task-ac-sync-guard.sh +31 -0
  130. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js +26 -0
  131. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js.map +1 -1
  132. package/plugins/specweave/lib/vendor/sync/github-reconciler.d.ts +30 -0
  133. package/plugins/specweave/lib/vendor/sync/github-reconciler.js +235 -1
  134. package/plugins/specweave/lib/vendor/sync/github-reconciler.js.map +1 -1
  135. package/plugins/specweave/skills/team-lead/agents/security.md +0 -1
  136. package/plugins/specweave-ado/hooks/post-task-completion.sh +2 -2
  137. package/plugins/specweave-ado/lib/ado-client-v2.js +51 -21
  138. package/plugins/specweave-ado/lib/ado-client-v2.ts +62 -23
  139. package/plugins/specweave-ado/lib/ado-duplicate-detector.js +4 -4
  140. package/plugins/specweave-ado/lib/ado-duplicate-detector.ts +4 -3
  141. package/plugins/specweave-ado/lib/ado-hierarchical-sync.js +54 -12
  142. package/plugins/specweave-ado/lib/ado-hierarchical-sync.ts +88 -18
  143. package/plugins/specweave-ado/lib/ado-profile-resolver.js +1 -1
  144. package/plugins/specweave-ado/lib/ado-profile-resolver.ts +3 -1
  145. package/plugins/specweave-ado/lib/ado-spec-sync.js +22 -9
  146. package/plugins/specweave-ado/lib/ado-spec-sync.ts +27 -9
  147. package/plugins/specweave-ado/lib/conflict-resolver.js +17 -1
  148. package/plugins/specweave-ado/lib/conflict-resolver.ts +17 -1
  149. package/plugins/specweave-ado/lib/enhanced-ado-sync.js +11 -1
  150. package/plugins/specweave-ado/lib/per-us-sync.js +8 -1
  151. package/plugins/specweave-ado/lib/per-us-sync.ts +17 -2
  152. package/plugins/specweave-github/hooks/github-auto-create-handler.sh +28 -2
  153. package/plugins/specweave-github/hooks/post-task-completion.sh +6 -3
  154. package/plugins/specweave-github/lib/enhanced-github-sync.js +35 -6
  155. package/plugins/specweave-github/lib/github-board-resolver.js +4 -4
  156. package/plugins/specweave-github/lib/github-board-resolver.ts +4 -4
  157. package/plugins/specweave-github/lib/github-client-v2.js +6 -6
  158. package/plugins/specweave-github/lib/github-client-v2.ts +11 -7
  159. package/plugins/specweave-github/lib/github-client.js +5 -4
  160. package/plugins/specweave-github/lib/github-client.ts +7 -5
  161. package/plugins/specweave-github/lib/github-cross-repo-sync.js +17 -3
  162. package/plugins/specweave-github/lib/github-cross-repo-sync.ts +16 -3
  163. package/plugins/specweave-github/lib/github-feature-sync-cli.js +20 -11
  164. package/plugins/specweave-github/lib/github-feature-sync-cli.ts +42 -20
  165. package/plugins/specweave-github/lib/github-graphql-client.js +29 -20
  166. package/plugins/specweave-github/lib/github-graphql-client.ts +34 -22
  167. package/plugins/specweave-github/lib/github-hierarchical-sync.js +2 -2
  168. package/plugins/specweave-github/lib/github-hierarchical-sync.ts +2 -2
  169. package/plugins/specweave-github/lib/github-multi-project-sync.js +23 -7
  170. package/plugins/specweave-github/lib/github-multi-project-sync.ts +26 -8
  171. package/plugins/specweave-github/lib/github-spec-frontmatter-updater.js +110 -5
  172. package/plugins/specweave-github/lib/github-spec-frontmatter-updater.ts +135 -9
  173. package/plugins/specweave-github/lib/github-spec-sync.js +85 -24
  174. package/plugins/specweave-github/lib/github-spec-sync.ts +100 -26
  175. package/plugins/specweave-github/lib/github-sync-orchestrator.js +2 -1
  176. package/plugins/specweave-github/lib/github-sync-orchestrator.ts +3 -1
  177. package/plugins/specweave-github/lib/github-us-auto-closer.js +25 -0
  178. package/plugins/specweave-github/lib/github-us-auto-closer.ts +43 -0
  179. package/plugins/specweave-github/lib/per-us-sync.js +26 -11
  180. package/plugins/specweave-github/lib/per-us-sync.ts +29 -11
  181. package/plugins/specweave-jira/hooks/post-task-completion.sh +2 -1
  182. package/plugins/specweave-jira/lib/content-format-adapter.js +116 -0
  183. package/plugins/specweave-jira/lib/content-format-adapter.ts +189 -0
  184. package/plugins/specweave-jira/lib/enhanced-jira-sync.js +21 -5
  185. package/plugins/specweave-jira/lib/jira-deployment-detector.js +63 -0
  186. package/plugins/specweave-jira/lib/jira-deployment-detector.ts +113 -0
  187. package/plugins/specweave-jira/lib/jira-duplicate-detector.js +12 -29
  188. package/plugins/specweave-jira/lib/jira-duplicate-detector.ts +13 -27
  189. package/plugins/specweave-jira/lib/jira-epic-sync.js +15 -5
  190. package/plugins/specweave-jira/lib/jira-epic-sync.ts +22 -7
  191. package/plugins/specweave-jira/lib/jira-field-discovery.js +76 -0
  192. package/plugins/specweave-jira/lib/jira-field-discovery.ts +139 -0
  193. package/plugins/specweave-jira/lib/jira-hierarchical-sync.js +10 -0
  194. package/plugins/specweave-jira/lib/jira-hierarchical-sync.ts +11 -0
  195. package/plugins/specweave-jira/lib/jira-multi-project-sync.js +19 -9
  196. package/plugins/specweave-jira/lib/jira-multi-project-sync.ts +25 -14
  197. package/plugins/specweave-jira/lib/jira-paginated-search.js +55 -0
  198. package/plugins/specweave-jira/lib/jira-paginated-search.ts +108 -0
  199. package/plugins/specweave-jira/lib/jira-spec-commit-sync.js +5 -3
  200. package/plugins/specweave-jira/lib/jira-spec-commit-sync.ts +5 -3
  201. package/plugins/specweave-jira/lib/jira-spec-sync.js +102 -31
  202. package/plugins/specweave-jira/lib/jira-spec-sync.ts +123 -45
  203. package/plugins/specweave-jira/lib/jira-status-sync.js +18 -5
  204. package/plugins/specweave-jira/lib/jira-status-sync.ts +21 -6
  205. package/plugins/specweave-jira/lib/metadata-paths.js +38 -0
  206. package/plugins/specweave-jira/lib/metadata-paths.ts +73 -0
  207. package/plugins/specweave-jira/lib/reorganization-detector.js +101 -23
  208. package/plugins/specweave-jira/lib/reorganization-detector.ts +125 -35
  209. package/plugins/specweave-jira/scripts/refresh-cache.js +1 -1
  210. package/plugins/specweave-jira/scripts/refresh-cache.ts +2 -2
  211. package/plugins/specweave-jira/skills/jira-resource-validator/SKILL.md +3 -5
@@ -1,44 +1,69 @@
1
1
  {
2
2
  "init": {
3
- "welcome": "🚀 SpecWeave Initialization",
4
- "projectName": "Project name:",
5
- "projectNamePrompt": "Project name (for templates):",
3
+ "welcome": "🚀 SpecWeave 初始化",
4
+ "projectName": "项目名称:",
5
+ "projectNamePrompt": "项目名称(用于模板):",
6
6
  "projectNameDefault": "my-saas",
7
- "detectingTool": "Detecting AI tool...",
8
- "foundClaude": "✅ Found Claude Code",
9
- "foundCursor": "✅ Found Cursor",
10
- "foundCopilot": "✅ Found GitHub Copilot",
11
- "noToolDetected": "No AI tool detected, using Generic adapter",
12
- "complete": "✨ Initialization complete!",
13
- "claudeNativeComplete": "✨ Claude Code native installation complete!",
14
- "claudeNativeBenefits": "✅ Native skills, agents, hooks work out of the box",
15
- "projectSuccess": "SpecWeave project created successfully!",
16
- "readyToBuild": "🚀 Ready to build with SpecWeave!",
7
+ "detectingTool": "正在检测 AI 工具...",
8
+ "foundClaude": "✅ 检测到 Claude Code",
9
+ "foundCursor": "✅ 检测到 Cursor",
10
+ "foundCopilot": "✅ 检测到 GitHub Copilot",
11
+ "noToolDetected": "未检测到 AI 工具,使用通用适配器",
12
+ "complete": "✨ 初始化完成!",
13
+ "claudeNativeComplete": "✨ Claude Code 原生安装完成!",
14
+ "claudeNativeBenefits": "✅ 原生技能、代理、钩子开箱即用",
15
+ "projectSuccess": "SpecWeave 项目创建成功!",
16
+ "readyToBuild": "🚀 准备好使用 SpecWeave 构建了!",
17
+ "nestedCdCommand": "cd {{path}}",
18
+ "nestedIncCommand": "/sw:increment \"your-feature\"",
19
+ "pluginEnableLater": "您可以稍后使用以下命令启用插件:specweave plugin enable <name>",
20
+ "genericError": "错误:",
17
21
  "errors": {
18
- "invalidName": "Project name must contain only lowercase letters, numbers, and hyphens",
19
- "alreadyExists": ".specweave directory already exists",
20
- "cancelled": "❌ Initialization cancelled",
21
- "invalidLanguage": "❌ Invalid language: {{language}}",
22
- "supportedLanguages": "Supported languages: {{languages}}",
23
- "nestedNotSupported": "❌ Nested .specweave/ folders are NOT supported!",
24
- "parentFound": "Found parent .specweave/ at:",
25
- "projectCreationFailed": "Failed to create project",
26
- "commandsCopyFailed": "❌ Commands copy failed: {{error}}",
27
- "agentsCopyFailed": "❌ Agents copy failed: {{error}}",
28
- "skillsCopyFailed": "❌ Skills copy failed: {{error}}",
29
- "hooksCopyFailed": "❌ Hooks copy failed: {{error}}"
22
+ "invalidName": "项目名称只能包含小写字母、数字和连字符",
23
+ "alreadyExists": ".specweave 目录已存在",
24
+ "cancelled": "❌ 初始化已取消",
25
+ "invalidLanguage": "❌ 无效的语言:{{language}}",
26
+ "supportedLanguages": "支持的语言:{{languages}}",
27
+ "nestedNotSupported": "❌ 不支持嵌套的 .specweave/ 文件夹!",
28
+ "parentFound": "在以下位置找到父级 .specweave/:",
29
+ "projectCreationFailed": "项目创建失败",
30
+ "commandsCopyFailed": "❌ 命令复制失败:{{error}}",
31
+ "agentsCopyFailed": "❌ 代理复制失败:{{error}}",
32
+ "skillsCopyFailed": "❌ 技能复制失败:{{error}}",
33
+ "hooksCopyFailed": "❌ 钩子复制失败:{{error}}",
34
+ "templatesNotFound": "❌ 错误:未找到模板目录:{{path}}",
35
+ "packageRoot": "包根目录:{{root}}",
36
+ "tryingAlternate": "正在尝试其他位置...",
37
+ "foundTemplatesAt": "✓ 在以下位置找到模板:{{path}}",
38
+ "sourceNotFound": "❌ 错误:未找到源 {{type}} 目录",
39
+ "expectedAt": "预期位置:{{path}}",
40
+ "dirname": "__dirname: {{path}}",
41
+ "couldNotFindRoot": "无法找到包根目录(正在查找 name=\"specweave\" 的 package.json)",
42
+ "sourceEmpty": "❌ 错误:源 {{type}} 目录为空",
43
+ "directory": "目录:{{path}}",
44
+ "installationIssue": "这表明存在包安装问题。",
45
+ "errorCopying": "❌ 复制 {{type}} 时出错:{{error}}",
46
+ "source": "来源:{{path}}",
47
+ "target": "目标:{{path}}"
30
48
  },
31
49
  "warnings": {
32
- "invalidDirName": "⚠️ Current directory name '{{dirName}}' contains invalid characters.",
33
- "directoryNotEmpty": "⚠️ Current directory contains {{count}} file{{plural}}.",
34
- "skillsIndexWarning": "⚠️ Warning: Could not generate skills index: {{error}}",
35
- "skillsIndexNote": "Skills will still work, but manual indexing may be needed."
50
+ "invalidDirName": "⚠️ 当前目录名 '{{dirName}}' 包含无效字符。",
51
+ "directoryNotEmpty": "⚠️ 当前目录包含 {{count}} 个文件{{plural}}",
52
+ "skillsIndexWarning": "⚠️ 警告:无法生成技能索引:{{error}}",
53
+ "skillsIndexNote": "技能仍可正常使用,但可能需要手动索引。",
54
+ "marketplaceCopyFailed": "⚠️ 警告:无法复制插件市场",
55
+ "marketplaceNotFound": "⚠️ 警告:未找到插件市场",
56
+ "pluginAutoSetupFailed": "⚠️ 警告:无法设置插件自动注册",
57
+ "pluginAutoInstallFailed": "插件自动安装失败(claude CLI 不可用)"
36
58
  },
37
59
  "prompts": {
38
- "confirmInitInCurrent": "Initialize SpecWeave in current directory?",
39
- "overwriteSpecweave": ".specweave directory already exists. Overwrite?",
40
- "overwriteDirectory": "Directory {{projectName}} already exists. Overwrite?",
41
- "enablePlugins": "Enable suggested plugins now?"
60
+ "confirmInitInCurrent": "在当前目录中初始化 SpecWeave",
61
+ "overwriteSpecweave": ".specweave 目录已存在。是否覆盖?",
62
+ "overwriteDirectory": "目录 {{projectName}} 已存在。是否覆盖?",
63
+ "enablePlugins": "现在启用推荐的插件?"
64
+ },
65
+ "gitHooks": {
66
+ "prompt": "是否安装 git 钩子以进行质量检查?"
42
67
  },
43
68
  "maturity": {
44
69
  "question": "这是一个新项目还是现有项目?",
@@ -48,82 +73,225 @@
48
73
  "brownfieldDesc": "已有代码、依赖项或代码仓库"
49
74
  },
50
75
  "toolDetection": {
51
- "header": "AI工具检测",
52
- "detected": "检测到: {{tool}}",
76
+ "header": "AI 工具检测",
77
+ "detected": "检测到:{{tool}}",
53
78
  "confirmPrompt": "使用 {{tool}} 来开发此项目?",
54
- "ciAutoConfirm": "检测到CI环境 - 自动确认 {{tool}}",
55
- "selectPrompt": "您将使用哪个AI工具?",
79
+ "ciAutoConfirm": "检测到 CI 环境 - 自动确认 {{tool}}",
80
+ "selectPrompt": "您将使用哪个 AI 工具?",
56
81
  "recommended": "推荐 - 全自动化",
57
82
  "tools": {
58
83
  "claude": "Claude Code",
59
84
  "cursor": "Cursor",
60
85
  "copilot": "GitHub Copilot",
61
- "generic": "其他 (ChatGPT, Gemini 等)"
86
+ "generic": "其他(ChatGPTGemini 等)"
62
87
  }
63
88
  },
64
89
  "info": {
65
- "nestedEnforcement": "SpecWeave enforces a single source of truth:",
66
- "nestedBullet1": "• Use the parent folder for all increments",
67
- "nestedBullet2": "• Increments can span multiple subdirectories",
68
- "nestedBullet3": "• See CLAUDE.md section \"Root-Level .specweave/ Folder\"",
69
- "nestedToFix": "To fix:",
70
- "suggestedPlugins": "💡 Suggested Plugins:",
71
- "copiedFiles": "✓ Copied {{count}} command files",
72
- "copiedAgents": "✓ Copied {{count}} agent directories",
73
- "copiedSkills": "✓ Copied {{count}} skill directories",
74
- "copiedHooks": "✓ Copied {{count}} hook files"
90
+ "nestedEnforcement": "SpecWeave 强制使用单一事实来源:",
91
+ "nestedBullet1": "• 使用父文件夹管理所有增量",
92
+ "nestedBullet2": "• 增量可以跨越多个子目录",
93
+ "nestedBullet3": "• 请参阅 CLAUDE.md 中的 \"Root-Level .specweave/ Folder\" 部分",
94
+ "nestedToFix": "修复方法:",
95
+ "suggestedPlugins": "💡 推荐插件:",
96
+ "copiedFiles": "✓ 已复制 {{count}} 个命令文件",
97
+ "copiedAgents": "✓ 已复制 {{count}} 个代理目录",
98
+ "copiedSkills": "✓ 已复制 {{count}} 个技能目录",
99
+ "copiedHooks": "✓ 已复制 {{count}} 个钩子文件",
100
+ "pluginAutoSetupDetails": "当您信任此文件夹时,Claude Code 将自动加载 SpecWeave 市场",
101
+ "manualInstallInstructions": "手动运行:/plugin install specweave",
102
+ "ciSkipPlugins": "检测到 CI 环境 - 跳过插件启用(可稍后手动配置)"
103
+ },
104
+ "success": {
105
+ "pluginAutoSetup": "插件市场已配置为自动加载",
106
+ "pluginAutoInstall": "斜杠命令立即可用(无需重启!)"
75
107
  },
76
108
  "progress": {
77
- "creatingProject": "Creating SpecWeave project...",
78
- "detected": "Detected {{tool}}...",
79
- "usingTool": "Using {{tool}}...",
80
- "directoryCreated": "Directory structure created...",
81
- "templatesCopied": "Base templates copied...",
82
- "installingComponents": "Installing Claude Code components...",
83
- "commandsInstalled": "Slash commands installed...",
84
- "agentsInstalled": "Agents installed...",
85
- "skillsInstalled": "Skills installed...",
86
- "hooksInstalled": "Hooks installed...",
87
- "generatingIndex": "Generating skills index...",
88
- "indexGenerated": "Skills index generated...",
89
- "installingAdapter": "Installing {{tool}} adapter...",
90
- "projectSuccess": "SpecWeave project created successfully!",
91
- "detectingPlugins": "Detecting plugins...",
92
- "detectedPlugins": "Detected {{count}} suggested plugins",
93
- "enablingPlugins": "Enabling plugins...",
94
- "enabledPlugin": "Enabled {{plugin}}",
95
- "pluginsEnabled": "Plugins enabled"
109
+ "creatingProject": "正在创建 SpecWeave 项目...",
110
+ "detected": "检测到 {{tool}}...",
111
+ "usingTool": "正在使用 {{tool}}...",
112
+ "directoryCreated": "目录结构已创建...",
113
+ "templatesCopied": "基础模板已复制...",
114
+ "installingComponents": "正在安装 Claude Code 组件...",
115
+ "commandsInstalled": "斜杠命令已安装...",
116
+ "agentsInstalled": "代理已安装...",
117
+ "skillsInstalled": "技能已安装...",
118
+ "hooksInstalled": "钩子已安装...",
119
+ "generatingIndex": "正在生成技能索引...",
120
+ "indexGenerated": "技能索引已生成...",
121
+ "installingAdapter": "正在安装 {{tool}} 适配器...",
122
+ "projectSuccess": "SpecWeave 项目创建成功!",
123
+ "detectingPlugins": "正在检测插件...",
124
+ "detectedPlugins": "检测到 {{count}} 个推荐插件",
125
+ "enablingPlugins": "正在启用插件...",
126
+ "enabledPlugin": "已启用 {{plugin}}",
127
+ "pluginsEnabled": "插件已启用"
96
128
  },
97
129
  "nextSteps": {
98
- "header": "🎯 Next steps:",
130
+ "header": "🎯 后续步骤:",
99
131
  "cd": "cd {{projectName}}",
100
- "footer": "🚀 Ready to build with SpecWeave!",
101
- "docsLink": "Documentation: https://spec-weave.com",
102
- "githubLink": "GitHub: https://github.com/anton-abyzov/specweave"
132
+ "footer": "🚀 准备好使用 SpecWeave 构建了!",
133
+ "docsLink": "文档:https://spec-weave.com",
134
+ "githubLink": "GitHubhttps://github.com/anton-abyzov/specweave",
135
+ "claude": {
136
+ "step1": "在此目录中打开 Claude Code",
137
+ "step2": "安装 SpecWeave 核心插件(必需):",
138
+ "installCore": "运行:/plugin install specweave",
139
+ "step3": "可选:根据需要安装其他插件:",
140
+ "installGitHub": "/plugin install sw-github@specweave",
141
+ "installFrontend": "/plugin install frontend@vskill",
142
+ "step4": "开始构建:",
143
+ "example": "\"/sw:increment 'user authentication'\"",
144
+ "autoActivate": "技能和代理会根据上下文自动激活"
145
+ },
146
+ "cursor": {
147
+ "step1": "在 Cursor 中打开项目",
148
+ "step2": "输入:\"Create increment for [your feature]\"",
149
+ "guide": "Cursor 将读取 .cursorrules 并引导您",
150
+ "step3": "使用 @ 快捷方式:",
151
+ "shortcuts": "@increments, @docs, @strategy, @tests"
152
+ },
153
+ "copilot": {
154
+ "step1": "在带有 Copilot 的 VS Code 中打开项目",
155
+ "step2": "Copilot 将自动读取工作区指令",
156
+ "action": "开始创建增量文件夹和文件",
157
+ "step3": "使用 Copilot Chat 获取指导:",
158
+ "example": "\"How do I create a spec.md?\""
159
+ },
160
+ "generic": {
161
+ "step1": "阅读 SPECWEAVE-MANUAL.md",
162
+ "step2": "按照分步说明操作",
163
+ "compatibility": "兼容任何 AI 工具(ChatGPT、Claude web、Gemini)"
164
+ }
103
165
  }
104
166
  },
167
+ "plugin": {
168
+ "list": {
169
+ "header": "📦 SpecWeave 插件",
170
+ "enabledHeader": "✅ 已启用的插件:",
171
+ "enabledNone": "(无)",
172
+ "errorLoading": "(加载出错)",
173
+ "availableHeader": "📚 可用插件:",
174
+ "availableNone": "(已全部启用)",
175
+ "suggestedHeader": "💡 推荐插件(自动检测):",
176
+ "enableHint": "运行 `specweave plugin enable <name>` 以启用插件",
177
+ "statsFormat": "技能:{{skills}},代理:{{agents}},命令:{{commands}}",
178
+ "errorListing": "❌ 列出插件时出错:"
179
+ },
180
+ "enable": {
181
+ "enablingPlugin": "🔌 正在启用插件:{{name}}",
182
+ "alreadyEnabled": "⚠️ 插件 {{name}} 已经启用",
183
+ "useForce": "使用 --force 重新安装",
184
+ "success": "✅ 插件 {{name}} 启用成功!",
185
+ "installed": "已安装:",
186
+ "skills": "技能:{{names}}",
187
+ "agents": "代理:{{names}}",
188
+ "commands": "命令:{{names}}",
189
+ "installedTo": "插件已安装到:{{location}}",
190
+ "restartClaude": "⚠️ 请重启 Claude Code 以激活新插件",
191
+ "errorEnabling": "❌ 启用插件时出错:"
192
+ },
193
+ "disable": {
194
+ "disablingPlugin": "🔌 正在禁用插件:{{name}}",
195
+ "notEnabled": "⚠️ 插件 {{name}} 当前未启用",
196
+ "success": "✅ 插件 {{name}} 禁用成功!",
197
+ "restartClaude": "⚠️ 请重启 Claude Code 以停用该插件",
198
+ "errorDisabling": "❌ 禁用插件时出错:"
199
+ },
200
+ "info": {
201
+ "header": "📋 插件信息:{{name}}",
202
+ "notFound": "❌ 未找到插件 {{name}}",
203
+ "listHint": "运行 `specweave plugin list --available` 查看可用插件",
204
+ "name": "名称:",
205
+ "version": "版本:",
206
+ "description": "描述:",
207
+ "author": "作者:",
208
+ "license": "许可证:",
209
+ "coreVersion": "SpecWeave 核心版本:",
210
+ "status": "状态:",
211
+ "statusEnabled": "✅ 已启用",
212
+ "statusDisabled": "⚪ 已禁用",
213
+ "provides": "提供:",
214
+ "skillsFormat": "技能:{{skills}}",
215
+ "agentsFormat": "代理:{{agents}}",
216
+ "commandsFormat": "命令:{{commands}}",
217
+ "noneValue": "(无)",
218
+ "dependencies": "依赖项:",
219
+ "autoDetect": "自动检测触发条件:",
220
+ "autoDetectFiles": "文件:{{files}}",
221
+ "autoDetectPackages": "包:{{packages}}",
222
+ "autoDetectEnv": "环境变量:{{env}}",
223
+ "autoDetectGit": "Git 远程模式:{{pattern}}",
224
+ "credits": "致谢:",
225
+ "basedOn": "基于:{{source}}",
226
+ "originalAuthor": "原作者:{{author}}",
227
+ "contributors": "贡献者:{{contributors}}",
228
+ "errorGettingInfo": "❌ 获取插件信息时出错:"
229
+ },
230
+ "errors": {
231
+ "nameRequired": "❌ {{command}} 命令需要提供插件名称",
232
+ "usageEnable": "用法:specweave plugin enable <plugin-name>",
233
+ "usageDisable": "用法:specweave plugin disable <plugin-name>",
234
+ "usageInfo": "用法:specweave plugin info <plugin-name>",
235
+ "unknownAction": "❌ 未知的插件操作:{{action}}",
236
+ "validActions": "有效操作:list、enable、disable、info"
237
+ }
238
+ },
239
+ "list": {
240
+ "header": "📋 SpecWeave 组件",
241
+ "agentsHeader": "🤖 代理:",
242
+ "skillsHeader": "✨ 技能:",
243
+ "availableFormat": "SpecWeave 中可用:{{count}} 个{{type}}",
244
+ "agents": "代理",
245
+ "skills": "技能",
246
+ "noDescription": "无描述",
247
+ "noAgents": "⚠️ 在 src/agents/ 中未找到代理",
248
+ "noSkills": "⚠️ 在 src/skills/ 中未找到技能",
249
+ "hintInstalled": "运行 `specweave list --installed` 查看已安装的组件",
250
+ "hintInstall": "运行 `specweave install <name>` 安装特定组件",
251
+ "localInstallation": "📁 本地安装(.claude/):",
252
+ "globalInstallation": "🌍 全局安装(~/.claude/):",
253
+ "noComponentsInstalled": "⚠️ 未安装任何组件",
254
+ "installPrompt": "运行 `specweave install` 安装组件"
255
+ },
256
+ "install": {
257
+ "header": "📦 SpecWeave 组件安装",
258
+ "notFound": "❌ 未找到组件 \"{{name}}\"",
259
+ "listHint": "运行 `specweave list` 查看可用组件",
260
+ "complete": "✅ 安装完成!",
261
+ "installedTo": "已安装到:{{location}}",
262
+ "installingFormat": "正在安装{{type}}:{{name}}...",
263
+ "installedFormat": "已安装{{type}}:{{name}}",
264
+ "failedFormat": "安装{{type}}失败:{{name}}",
265
+ "noAgentsWarning": "⚠️ 在 src/agents/ 中未找到代理",
266
+ "noSkillsWarning": "⚠️ 在 src/skills/ 中未找到技能",
267
+ "installingCount": "📦 正在安装 {{count}} 个{{type}}...",
268
+ "agent": "代理",
269
+ "agents": "代理",
270
+ "skill": "技能",
271
+ "skills": "技能"
272
+ },
105
273
  "increment": {
106
- "creating": "📝 Creating increment: {name}",
107
- "created": "✅ Increment {id} created successfully!",
108
- "nextStepDo": "Next: Run /sw:do to start implementation",
274
+ "creating": "📝 正在创建增量:{name}",
275
+ "created": "✅ 增量 {id} 创建成功!",
276
+ "nextStepDo": "下一步:运行 /sw:do 开始实施",
109
277
  "errors": {
110
- "incompleteFound": "Cannot create new increment! Previous increments incomplete"
278
+ "incompleteFound": "无法创建新增量!之前的增量尚未完成"
111
279
  }
112
280
  },
113
281
  "progress": {
114
- "currentIncrement": "Current Increment: {id}",
115
- "status": "Status: {status}",
116
- "completion": "Completion: {percent}%"
282
+ "currentIncrement": "当前增量:{id}",
283
+ "status": "状态:{status}",
284
+ "completion": "完成度:{percent}%"
117
285
  },
118
286
  "translate": {
119
- "translating": "🌐 Translating content to {language}...",
120
- "complete": "✅ Translation complete!"
287
+ "translating": "🌐 正在将内容翻译为{language}...",
288
+ "complete": "✅ 翻译完成!"
121
289
  },
122
290
  "version": {
123
- "current": "SpecWeave version: {version}"
291
+ "current": "SpecWeave 版本:{version}"
124
292
  },
125
293
  "errors": {
126
- "fileNotFound": "❌ File not found: {path}",
127
- "invalidConfig": "❌ Invalid configuration: {error}"
294
+ "fileNotFound": "❌ 未找到文件:{path}",
295
+ "invalidConfig": "❌ 无效配置:{error}"
128
296
  }
129
297
  }
@@ -129,5 +129,35 @@ export declare class GitHubReconciler {
129
129
  milestoneClose: boolean;
130
130
  errors: string[];
131
131
  }>;
132
+ /**
133
+ * Result from milestone reconciliation
134
+ */
135
+ static readonly MILESTONE_RECONCILE_RESULT_TEMPLATE: {
136
+ staleClosed: number;
137
+ duplicatesClosed: number;
138
+ errors: string[];
139
+ };
140
+ /**
141
+ * Reconcile stale and duplicate milestones on GitHub.
142
+ *
143
+ * - Closes open milestones with 0 open issues and 1+ closed issues (stale)
144
+ * - Closes open milestones matching completed local increments
145
+ * - Detects duplicate milestones (same FS-XXX prefix) and closes the
146
+ * smaller/empty one, keeping the one with the most issues
147
+ *
148
+ * @param projectRoot - Project root directory
149
+ * @param dryRun - If true, only report what would happen
150
+ * @param logger - Logger instance
151
+ */
152
+ static reconcileMilestones(projectRoot: string, dryRun?: boolean, logger?: Logger): Promise<{
153
+ staleClosed: number;
154
+ duplicatesClosed: number;
155
+ errors: string[];
156
+ }>;
157
+ /**
158
+ * Collect FS-IDs of all completed/archived/abandoned increments.
159
+ * Returns a Set of strings like "FS-400", "FS-391", etc.
160
+ */
161
+ private static collectCompletedIncrementFsIds;
132
162
  }
133
163
  //# sourceMappingURL=github-reconciler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"github-reconciler.d.ts","sourceRoot":"","sources":["../../../src/sync/github-reconciler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAAE,MAAM,EAAiB,MAAM,oBAAoB,CAAC;AAK3D,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,eAAe,EAAE,KAAK,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;QAC9C,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,WAAW,CAAoB;gBAE3B,OAAO,EAAE,gBAAgB;IAMrC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;IAqE3C;;OAEG;YACW,kBAAkB;IAwChC;;OAEG;YACW,cAAc;IA6F5B;;;;OAIG;YACW,cAAc;IAqD5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA0D1B;;;OAGG;YACW,qBAAqB;IAwBnC;;;;;;OAMG;YACW,UAAU;IAiBxB;;OAEG;YACW,UAAU;IAiBxB;;;OAGG;mBACkB,eAAe;IAsBpC;;;OAGG;WACU,qBAAqB,CAChC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IA6ElD;;;OAGG;WACU,6BAA6B,CACxC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IA6EhD;;;;;;;;;;;;OAYG;WACU,6BAA6B,CACxC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GACxC,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAyH1E"}
1
+ {"version":3,"file":"github-reconciler.d.ts","sourceRoot":"","sources":["../../../src/sync/github-reconciler.ts"],"names":[],"mappings":"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"}