zero-workspace 0.0.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.
Files changed (507) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +187 -0
  3. package/config/component-versions.json +16 -0
  4. package/config/scenarioCapabilities.json +29 -0
  5. package/config/version-notes.yaml +244 -0
  6. package/dist/adapters/OutputAdapter.d.ts +79 -0
  7. package/dist/adapters/OutputAdapter.d.ts.map +1 -0
  8. package/dist/adapters/OutputAdapter.js +124 -0
  9. package/dist/adapters/OutputAdapter.js.map +1 -0
  10. package/dist/cli/check-node-version.d.ts +3 -0
  11. package/dist/cli/check-node-version.d.ts.map +1 -0
  12. package/dist/cli/check-node-version.js +153 -0
  13. package/dist/cli/check-node-version.js.map +1 -0
  14. package/dist/cli/plugins.d.ts +41 -0
  15. package/dist/cli/plugins.d.ts.map +1 -0
  16. package/dist/cli/plugins.js +742 -0
  17. package/dist/cli/plugins.js.map +1 -0
  18. package/dist/cli/rebuild.d.ts +63 -0
  19. package/dist/cli/rebuild.d.ts.map +1 -0
  20. package/dist/cli/rebuild.js +989 -0
  21. package/dist/cli/rebuild.js.map +1 -0
  22. package/dist/cli/repair.d.ts +7 -0
  23. package/dist/cli/repair.d.ts.map +1 -0
  24. package/dist/cli/repair.js +925 -0
  25. package/dist/cli/repair.js.map +1 -0
  26. package/dist/cli/setup.d.ts +7 -0
  27. package/dist/cli/setup.d.ts.map +1 -0
  28. package/dist/cli/setup.js +452 -0
  29. package/dist/cli/setup.js.map +1 -0
  30. package/dist/cli/update.d.ts +10 -0
  31. package/dist/cli/update.d.ts.map +1 -0
  32. package/dist/cli/update.js +426 -0
  33. package/dist/cli/update.js.map +1 -0
  34. package/dist/cli/webui.d.ts +6 -0
  35. package/dist/cli/webui.d.ts.map +1 -0
  36. package/dist/cli/webui.js +210 -0
  37. package/dist/cli/webui.js.map +1 -0
  38. package/dist/http/index.d.ts +3 -0
  39. package/dist/http/index.d.ts.map +1 -0
  40. package/dist/http/index.js +15 -0
  41. package/dist/http/index.js.map +1 -0
  42. package/dist/http/middleware/errorHandler.d.ts +16 -0
  43. package/dist/http/middleware/errorHandler.d.ts.map +1 -0
  44. package/dist/http/middleware/errorHandler.js +79 -0
  45. package/dist/http/middleware/errorHandler.js.map +1 -0
  46. package/dist/http/routes/admin.d.ts +3 -0
  47. package/dist/http/routes/admin.d.ts.map +1 -0
  48. package/dist/http/routes/admin.js +730 -0
  49. package/dist/http/routes/admin.js.map +1 -0
  50. package/dist/http/routes/backup.d.ts +3 -0
  51. package/dist/http/routes/backup.d.ts.map +1 -0
  52. package/dist/http/routes/backup.js +172 -0
  53. package/dist/http/routes/backup.js.map +1 -0
  54. package/dist/http/routes/config.d.ts +3 -0
  55. package/dist/http/routes/config.d.ts.map +1 -0
  56. package/dist/http/routes/config.js +157 -0
  57. package/dist/http/routes/config.js.map +1 -0
  58. package/dist/http/routes/context.d.ts +3 -0
  59. package/dist/http/routes/context.d.ts.map +1 -0
  60. package/dist/http/routes/context.js +82 -0
  61. package/dist/http/routes/context.js.map +1 -0
  62. package/dist/http/routes/log.d.ts +3 -0
  63. package/dist/http/routes/log.d.ts.map +1 -0
  64. package/dist/http/routes/log.js +105 -0
  65. package/dist/http/routes/log.js.map +1 -0
  66. package/dist/http/routes/memo.d.ts +6 -0
  67. package/dist/http/routes/memo.d.ts.map +1 -0
  68. package/dist/http/routes/memo.js +29 -0
  69. package/dist/http/routes/memo.js.map +1 -0
  70. package/dist/http/routes/node.d.ts +3 -0
  71. package/dist/http/routes/node.d.ts.map +1 -0
  72. package/dist/http/routes/node.js +251 -0
  73. package/dist/http/routes/node.js.map +1 -0
  74. package/dist/http/routes/state.d.ts +3 -0
  75. package/dist/http/routes/state.d.ts.map +1 -0
  76. package/dist/http/routes/state.js +48 -0
  77. package/dist/http/routes/state.js.map +1 -0
  78. package/dist/http/routes/workspace.d.ts +3 -0
  79. package/dist/http/routes/workspace.d.ts.map +1 -0
  80. package/dist/http/routes/workspace.js +249 -0
  81. package/dist/http/routes/workspace.js.map +1 -0
  82. package/dist/http/server.d.ts +10 -0
  83. package/dist/http/server.d.ts.map +1 -0
  84. package/dist/http/server.js +284 -0
  85. package/dist/http/server.js.map +1 -0
  86. package/dist/http/services.d.ts +93 -0
  87. package/dist/http/services.d.ts.map +1 -0
  88. package/dist/http/services.js +297 -0
  89. package/dist/http/services.js.map +1 -0
  90. package/dist/index.d.ts +3 -0
  91. package/dist/index.d.ts.map +1 -0
  92. package/dist/index.js +1073 -0
  93. package/dist/index.js.map +1 -0
  94. package/dist/prompts/guidanceContent.d.ts +18 -0
  95. package/dist/prompts/guidanceContent.d.ts.map +1 -0
  96. package/dist/prompts/guidanceContent.js +814 -0
  97. package/dist/prompts/guidanceContent.js.map +1 -0
  98. package/dist/prompts/index.d.ts +2 -0
  99. package/dist/prompts/index.d.ts.map +1 -0
  100. package/dist/prompts/index.js +4 -0
  101. package/dist/prompts/index.js.map +1 -0
  102. package/dist/prompts/instructions.d.ts +56 -0
  103. package/dist/prompts/instructions.d.ts.map +1 -0
  104. package/dist/prompts/instructions.js +1343 -0
  105. package/dist/prompts/instructions.js.map +1 -0
  106. package/dist/services/BackupService.d.ts +104 -0
  107. package/dist/services/BackupService.d.ts.map +1 -0
  108. package/dist/services/BackupService.js +549 -0
  109. package/dist/services/BackupService.js.map +1 -0
  110. package/dist/services/CapabilityService.d.ts +38 -0
  111. package/dist/services/CapabilityService.d.ts.map +1 -0
  112. package/dist/services/CapabilityService.js +256 -0
  113. package/dist/services/CapabilityService.js.map +1 -0
  114. package/dist/services/ConfigService.d.ts +35 -0
  115. package/dist/services/ConfigService.d.ts.map +1 -0
  116. package/dist/services/ConfigService.js +105 -0
  117. package/dist/services/ConfigService.js.map +1 -0
  118. package/dist/services/ContextService.d.ts +65 -0
  119. package/dist/services/ContextService.d.ts.map +1 -0
  120. package/dist/services/ContextService.js +503 -0
  121. package/dist/services/ContextService.js.map +1 -0
  122. package/dist/services/DetectionService.d.ts +76 -0
  123. package/dist/services/DetectionService.d.ts.map +1 -0
  124. package/dist/services/DetectionService.js +262 -0
  125. package/dist/services/DetectionService.js.map +1 -0
  126. package/dist/services/DispatchService.d.ts +267 -0
  127. package/dist/services/DispatchService.d.ts.map +1 -0
  128. package/dist/services/DispatchService.js +1357 -0
  129. package/dist/services/DispatchService.js.map +1 -0
  130. package/dist/services/EventService.d.ts +81 -0
  131. package/dist/services/EventService.d.ts.map +1 -0
  132. package/dist/services/EventService.js +187 -0
  133. package/dist/services/EventService.js.map +1 -0
  134. package/dist/services/GuidanceService.d.ts +64 -0
  135. package/dist/services/GuidanceService.d.ts.map +1 -0
  136. package/dist/services/GuidanceService.js +259 -0
  137. package/dist/services/GuidanceService.js.map +1 -0
  138. package/dist/services/HealthService.d.ts +43 -0
  139. package/dist/services/HealthService.d.ts.map +1 -0
  140. package/dist/services/HealthService.js +276 -0
  141. package/dist/services/HealthService.js.map +1 -0
  142. package/dist/services/InstallationService.d.ts +62 -0
  143. package/dist/services/InstallationService.d.ts.map +1 -0
  144. package/dist/services/InstallationService.js +204 -0
  145. package/dist/services/InstallationService.js.map +1 -0
  146. package/dist/services/LogService.d.ts +35 -0
  147. package/dist/services/LogService.d.ts.map +1 -0
  148. package/dist/services/LogService.js +189 -0
  149. package/dist/services/LogService.js.map +1 -0
  150. package/dist/services/MemoService.d.ts +39 -0
  151. package/dist/services/MemoService.d.ts.map +1 -0
  152. package/dist/services/MemoService.js +288 -0
  153. package/dist/services/MemoService.js.map +1 -0
  154. package/dist/services/NodeService.d.ts +90 -0
  155. package/dist/services/NodeService.d.ts.map +1 -0
  156. package/dist/services/NodeService.js +958 -0
  157. package/dist/services/NodeService.js.map +1 -0
  158. package/dist/services/OpenSpecParser.d.ts +43 -0
  159. package/dist/services/OpenSpecParser.d.ts.map +1 -0
  160. package/dist/services/OpenSpecParser.js +191 -0
  161. package/dist/services/OpenSpecParser.js.map +1 -0
  162. package/dist/services/ReferenceService.d.ts +35 -0
  163. package/dist/services/ReferenceService.d.ts.map +1 -0
  164. package/dist/services/ReferenceService.js +195 -0
  165. package/dist/services/ReferenceService.js.map +1 -0
  166. package/dist/services/RepairService.d.ts +36 -0
  167. package/dist/services/RepairService.d.ts.map +1 -0
  168. package/dist/services/RepairService.js +429 -0
  169. package/dist/services/RepairService.js.map +1 -0
  170. package/dist/services/SearchService.d.ts +34 -0
  171. package/dist/services/SearchService.d.ts.map +1 -0
  172. package/dist/services/SearchService.js +293 -0
  173. package/dist/services/SearchService.js.map +1 -0
  174. package/dist/services/SessionService.d.ts +136 -0
  175. package/dist/services/SessionService.d.ts.map +1 -0
  176. package/dist/services/SessionService.js +297 -0
  177. package/dist/services/SessionService.js.map +1 -0
  178. package/dist/services/StateService.d.ts +97 -0
  179. package/dist/services/StateService.d.ts.map +1 -0
  180. package/dist/services/StateService.js +846 -0
  181. package/dist/services/StateService.js.map +1 -0
  182. package/dist/services/TutorialService.d.ts +114 -0
  183. package/dist/services/TutorialService.d.ts.map +1 -0
  184. package/dist/services/TutorialService.js +1262 -0
  185. package/dist/services/TutorialService.js.map +1 -0
  186. package/dist/services/WorkspaceService.d.ts +273 -0
  187. package/dist/services/WorkspaceService.d.ts.map +1 -0
  188. package/dist/services/WorkspaceService.js +1764 -0
  189. package/dist/services/WorkspaceService.js.map +1 -0
  190. package/dist/services/index.d.ts +15 -0
  191. package/dist/services/index.d.ts.map +1 -0
  192. package/dist/services/index.js +14 -0
  193. package/dist/services/index.js.map +1 -0
  194. package/dist/storage/FileSystemAdapter.d.ts +223 -0
  195. package/dist/storage/FileSystemAdapter.d.ts.map +1 -0
  196. package/dist/storage/FileSystemAdapter.js +384 -0
  197. package/dist/storage/FileSystemAdapter.js.map +1 -0
  198. package/dist/storage/JsonStorage.d.ts +158 -0
  199. package/dist/storage/JsonStorage.d.ts.map +1 -0
  200. package/dist/storage/JsonStorage.js +613 -0
  201. package/dist/storage/JsonStorage.js.map +1 -0
  202. package/dist/storage/MarkdownStorage.d.ts +178 -0
  203. package/dist/storage/MarkdownStorage.d.ts.map +1 -0
  204. package/dist/storage/MarkdownStorage.js +918 -0
  205. package/dist/storage/MarkdownStorage.js.map +1 -0
  206. package/dist/storage/SessionBindingStorage.d.ts +69 -0
  207. package/dist/storage/SessionBindingStorage.d.ts.map +1 -0
  208. package/dist/storage/SessionBindingStorage.js +131 -0
  209. package/dist/storage/SessionBindingStorage.js.map +1 -0
  210. package/dist/storage/index.d.ts +6 -0
  211. package/dist/storage/index.d.ts.map +1 -0
  212. package/dist/storage/index.js +6 -0
  213. package/dist/storage/index.js.map +1 -0
  214. package/dist/tools/capability.d.ts +18 -0
  215. package/dist/tools/capability.d.ts.map +1 -0
  216. package/dist/tools/capability.js +73 -0
  217. package/dist/tools/capability.js.map +1 -0
  218. package/dist/tools/config.d.ts +14 -0
  219. package/dist/tools/config.d.ts.map +1 -0
  220. package/dist/tools/config.js +61 -0
  221. package/dist/tools/config.js.map +1 -0
  222. package/dist/tools/context.d.ts +22 -0
  223. package/dist/tools/context.d.ts.map +1 -0
  224. package/dist/tools/context.js +139 -0
  225. package/dist/tools/context.js.map +1 -0
  226. package/dist/tools/dispatch.d.ts +41 -0
  227. package/dist/tools/dispatch.d.ts.map +1 -0
  228. package/dist/tools/dispatch.js +380 -0
  229. package/dist/tools/dispatch.js.map +1 -0
  230. package/dist/tools/help.d.ts +44 -0
  231. package/dist/tools/help.d.ts.map +1 -0
  232. package/dist/tools/help.js +227 -0
  233. package/dist/tools/help.js.map +1 -0
  234. package/dist/tools/import.d.ts +17 -0
  235. package/dist/tools/import.d.ts.map +1 -0
  236. package/dist/tools/import.js +96 -0
  237. package/dist/tools/import.js.map +1 -0
  238. package/dist/tools/index.d.ts +12 -0
  239. package/dist/tools/index.d.ts.map +1 -0
  240. package/dist/tools/index.js +13 -0
  241. package/dist/tools/index.js.map +1 -0
  242. package/dist/tools/log.d.ts +21 -0
  243. package/dist/tools/log.d.ts.map +1 -0
  244. package/dist/tools/log.js +93 -0
  245. package/dist/tools/log.js.map +1 -0
  246. package/dist/tools/memo.d.ts +26 -0
  247. package/dist/tools/memo.d.ts.map +1 -0
  248. package/dist/tools/memo.js +188 -0
  249. package/dist/tools/memo.js.map +1 -0
  250. package/dist/tools/node.d.ts +34 -0
  251. package/dist/tools/node.d.ts.map +1 -0
  252. package/dist/tools/node.js +328 -0
  253. package/dist/tools/node.js.map +1 -0
  254. package/dist/tools/search.d.ts +14 -0
  255. package/dist/tools/search.d.ts.map +1 -0
  256. package/dist/tools/search.js +95 -0
  257. package/dist/tools/search.js.map +1 -0
  258. package/dist/tools/session.d.ts +22 -0
  259. package/dist/tools/session.d.ts.map +1 -0
  260. package/dist/tools/session.js +127 -0
  261. package/dist/tools/session.js.map +1 -0
  262. package/dist/tools/state.d.ts +10 -0
  263. package/dist/tools/state.d.ts.map +1 -0
  264. package/dist/tools/state.js +79 -0
  265. package/dist/tools/state.js.map +1 -0
  266. package/dist/tools/workspace.d.ts +38 -0
  267. package/dist/tools/workspace.d.ts.map +1 -0
  268. package/dist/tools/workspace.js +240 -0
  269. package/dist/tools/workspace.js.map +1 -0
  270. package/dist/types/capability.d.ts +36 -0
  271. package/dist/types/capability.d.ts.map +1 -0
  272. package/dist/types/capability.js +3 -0
  273. package/dist/types/capability.js.map +1 -0
  274. package/dist/types/confirmation.d.ts +35 -0
  275. package/dist/types/confirmation.d.ts.map +1 -0
  276. package/dist/types/confirmation.js +3 -0
  277. package/dist/types/confirmation.js.map +1 -0
  278. package/dist/types/context.d.ts +174 -0
  279. package/dist/types/context.d.ts.map +1 -0
  280. package/dist/types/context.js +3 -0
  281. package/dist/types/context.js.map +1 -0
  282. package/dist/types/errors.d.ts +81 -0
  283. package/dist/types/errors.d.ts.map +1 -0
  284. package/dist/types/errors.js +154 -0
  285. package/dist/types/errors.js.map +1 -0
  286. package/dist/types/guidance.d.ts +162 -0
  287. package/dist/types/guidance.d.ts.map +1 -0
  288. package/dist/types/guidance.js +4 -0
  289. package/dist/types/guidance.js.map +1 -0
  290. package/dist/types/health.d.ts +61 -0
  291. package/dist/types/health.d.ts.map +1 -0
  292. package/dist/types/health.js +3 -0
  293. package/dist/types/health.js.map +1 -0
  294. package/dist/types/index.d.ts +10 -0
  295. package/dist/types/index.d.ts.map +1 -0
  296. package/dist/types/index.js +11 -0
  297. package/dist/types/index.js.map +1 -0
  298. package/dist/types/memo.d.ts +132 -0
  299. package/dist/types/memo.d.ts.map +1 -0
  300. package/dist/types/memo.js +3 -0
  301. package/dist/types/memo.js.map +1 -0
  302. package/dist/types/node.d.ts +316 -0
  303. package/dist/types/node.d.ts.map +1 -0
  304. package/dist/types/node.js +3 -0
  305. package/dist/types/node.js.map +1 -0
  306. package/dist/types/repair.d.ts +62 -0
  307. package/dist/types/repair.d.ts.map +1 -0
  308. package/dist/types/repair.js +4 -0
  309. package/dist/types/repair.js.map +1 -0
  310. package/dist/types/search.d.ts +58 -0
  311. package/dist/types/search.d.ts.map +1 -0
  312. package/dist/types/search.js +3 -0
  313. package/dist/types/search.js.map +1 -0
  314. package/dist/types/settings.d.ts +109 -0
  315. package/dist/types/settings.d.ts.map +1 -0
  316. package/dist/types/settings.js +30 -0
  317. package/dist/types/settings.js.map +1 -0
  318. package/dist/types/workspace.d.ts +357 -0
  319. package/dist/types/workspace.d.ts.map +1 -0
  320. package/dist/types/workspace.js +3 -0
  321. package/dist/types/workspace.js.map +1 -0
  322. package/dist/utils/contentValidation.d.ts +47 -0
  323. package/dist/utils/contentValidation.d.ts.map +1 -0
  324. package/dist/utils/contentValidation.js +93 -0
  325. package/dist/utils/contentValidation.js.map +1 -0
  326. package/dist/utils/devLog.d.ts +43 -0
  327. package/dist/utils/devLog.d.ts.map +1 -0
  328. package/dist/utils/devLog.js +94 -0
  329. package/dist/utils/devLog.js.map +1 -0
  330. package/dist/utils/errorLogger.d.ts +27 -0
  331. package/dist/utils/errorLogger.d.ts.map +1 -0
  332. package/dist/utils/errorLogger.js +105 -0
  333. package/dist/utils/errorLogger.js.map +1 -0
  334. package/dist/utils/git.d.ts +123 -0
  335. package/dist/utils/git.d.ts.map +1 -0
  336. package/dist/utils/git.js +400 -0
  337. package/dist/utils/git.js.map +1 -0
  338. package/dist/utils/hash.d.ts +32 -0
  339. package/dist/utils/hash.d.ts.map +1 -0
  340. package/dist/utils/hash.js +37 -0
  341. package/dist/utils/hash.js.map +1 -0
  342. package/dist/utils/id.d.ts +54 -0
  343. package/dist/utils/id.d.ts.map +1 -0
  344. package/dist/utils/id.js +96 -0
  345. package/dist/utils/id.js.map +1 -0
  346. package/dist/utils/index.d.ts +8 -0
  347. package/dist/utils/index.d.ts.map +1 -0
  348. package/dist/utils/index.js +9 -0
  349. package/dist/utils/index.js.map +1 -0
  350. package/dist/utils/logger.d.ts +42 -0
  351. package/dist/utils/logger.d.ts.map +1 -0
  352. package/dist/utils/logger.js +228 -0
  353. package/dist/utils/logger.js.map +1 -0
  354. package/dist/utils/manualChangeFormatter.d.ts +8 -0
  355. package/dist/utils/manualChangeFormatter.d.ts.map +1 -0
  356. package/dist/utils/manualChangeFormatter.js +21 -0
  357. package/dist/utils/manualChangeFormatter.js.map +1 -0
  358. package/dist/utils/paramValidator.d.ts +35 -0
  359. package/dist/utils/paramValidator.d.ts.map +1 -0
  360. package/dist/utils/paramValidator.js +214 -0
  361. package/dist/utils/paramValidator.js.map +1 -0
  362. package/dist/utils/port.d.ts +7 -0
  363. package/dist/utils/port.d.ts.map +1 -0
  364. package/dist/utils/port.js +28 -0
  365. package/dist/utils/port.js.map +1 -0
  366. package/dist/utils/processManager.d.ts +53 -0
  367. package/dist/utils/processManager.d.ts.map +1 -0
  368. package/dist/utils/processManager.js +267 -0
  369. package/dist/utils/processManager.js.map +1 -0
  370. package/dist/utils/sessionLogger.d.ts +28 -0
  371. package/dist/utils/sessionLogger.d.ts.map +1 -0
  372. package/dist/utils/sessionLogger.js +142 -0
  373. package/dist/utils/sessionLogger.js.map +1 -0
  374. package/dist/utils/time.d.ts +15 -0
  375. package/dist/utils/time.d.ts.map +1 -0
  376. package/dist/utils/time.js +32 -0
  377. package/dist/utils/time.js.map +1 -0
  378. package/dist/utils/validation.d.ts +23 -0
  379. package/dist/utils/validation.d.ts.map +1 -0
  380. package/dist/utils/validation.js +88 -0
  381. package/dist/utils/validation.js.map +1 -0
  382. package/docs//346/227/245/345/277/227/347/263/273/347/273/237.md +389 -0
  383. package/docs//347/224/250/346/210/267/346/211/213/345/206/214.md +1446 -0
  384. package/docs//347/224/250/346/210/267/346/211/213/345/206/214/344/270/216/346/212/200/346/234/257/346/214/207/345/215/227.md +873 -0
  385. package/package.json +94 -0
  386. package/plugin/README.md +141 -0
  387. package/plugin/agents/zero-executor.md +114 -0
  388. package/plugin/agents/zero-reviewer.md +133 -0
  389. package/plugin/docs/diagnostic-guide.md +128 -0
  390. package/plugin/hooks/hooks.json.deprecated +70 -0
  391. package/plugin/scripts/cursor-hook-entry.cjs +217 -0
  392. package/plugin/scripts/hook-entry.cjs +663 -0
  393. package/plugin/scripts/openspec-import.cjs +714 -0
  394. package/plugin/scripts/shared/binding.cjs +98 -0
  395. package/plugin/scripts/shared/config.cjs +65 -0
  396. package/plugin/scripts/shared/context.cjs +120 -0
  397. package/plugin/scripts/shared/index.cjs +34 -0
  398. package/plugin/scripts/shared/logger.cjs +196 -0
  399. package/plugin/scripts/shared/reminder.cjs +261 -0
  400. package/plugin/scripts/shared/utils.cjs +62 -0
  401. package/plugin/scripts/shared/workspace.cjs +322 -0
  402. package/plugin/skills/aligning-intent/SKILL.md +275 -0
  403. package/plugin/skills/analyzing-measurements/SKILL.md +223 -0
  404. package/plugin/skills/bootstrapping-workspace/SKILL.md +260 -0
  405. package/plugin/skills/designing-solutions/SKILL.md +363 -0
  406. package/plugin/skills/diagnosing-issues/SKILL.md +219 -0
  407. package/plugin/skills/discovering-context/SKILL.md +283 -0
  408. package/plugin/skills/dispatching-parent/SKILL.md +399 -0
  409. package/plugin/skills/executing-task/SKILL.md +340 -0
  410. package/plugin/skills/memo-create/SKILL.md +222 -0
  411. package/plugin/skills/planning-verification/SKILL.md +245 -0
  412. package/plugin/skills/preparing-dispatch/SKILL.md +299 -0
  413. package/plugin/skills/researching-tech/SKILL.md +223 -0
  414. package/plugin/skills/reviewing-quality/SKILL.md +354 -0
  415. package/plugin/skills/reviewing-spec/SKILL.md +333 -0
  416. package/plugin/skills/starting-info-flow/SKILL.md +196 -0
  417. package/web/README.md +5 -0
  418. package/web/dist/assets/DocsView-Bls_Vjsr.css +1 -0
  419. package/web/dist/assets/DocsView-Cxc0B63r.js +1447 -0
  420. package/web/dist/assets/HomeView-C7df9thb.js +9 -0
  421. package/web/dist/assets/HomeView-ufUdnfHk.css +1 -0
  422. package/web/dist/assets/MarkdownContent-DXp6CtSP.js +308 -0
  423. package/web/dist/assets/MarkdownContent-NFqiOBLH.css +1 -0
  424. package/web/dist/assets/NotFoundView-BYX1oZAn.css +1 -0
  425. package/web/dist/assets/NotFoundView-zrc0lT9q.js +1 -0
  426. package/web/dist/assets/WorkspaceView-BckqgNcX.js +27 -0
  427. package/web/dist/assets/WorkspaceView-J1dgpYMx.css +1 -0
  428. package/web/dist/assets/WsConfirmDialog-C1CvL4my.css +1 -0
  429. package/web/dist/assets/WsConfirmDialog-gLEP7uBD.js +4 -0
  430. package/web/dist/assets/arc-DPkKTkUT.js +1 -0
  431. package/web/dist/assets/architectureDiagram-VXUJARFQ-CEGpqUlZ.js +36 -0
  432. package/web/dist/assets/blockDiagram-VD42YOAC-Bv-mqdQH.js +122 -0
  433. package/web/dist/assets/c4Diagram-YG6GDRKO-DRyPatZ_.js +10 -0
  434. package/web/dist/assets/channel-B84mKLDZ.js +1 -0
  435. package/web/dist/assets/chunk-4BX2VUAB-c7DivX0u.js +1 -0
  436. package/web/dist/assets/chunk-55IACEB6-CGKTaLlo.js +1 -0
  437. package/web/dist/assets/chunk-B4BG7PRW-Czhx5Q_P.js +165 -0
  438. package/web/dist/assets/chunk-DI55MBZ5-CQVA7hcZ.js +220 -0
  439. package/web/dist/assets/chunk-FMBD7UC4-hEiPmi7V.js +15 -0
  440. package/web/dist/assets/chunk-QN33PNHL-rL6yYI-E.js +1 -0
  441. package/web/dist/assets/chunk-QZHKN3VN-BRyHBBzq.js +1 -0
  442. package/web/dist/assets/chunk-TZMSLE5B-D4PXmTz9.js +1 -0
  443. package/web/dist/assets/classDiagram-2ON5EDUG-CNn53ohi.js +1 -0
  444. package/web/dist/assets/classDiagram-v2-WZHVMYZB-CNn53ohi.js +1 -0
  445. package/web/dist/assets/cose-bilkent-S5V4N54A-BAREnRga.js +1 -0
  446. package/web/dist/assets/cytoscape.esm-BnkdMOzK.js +321 -0
  447. package/web/dist/assets/dagre-6UL2VRFP-DaYzb3MT.js +4 -0
  448. package/web/dist/assets/defaultLocale-C4B-KCzX.js +1 -0
  449. package/web/dist/assets/diagram-PSM6KHXK-BFltDqvd.js +24 -0
  450. package/web/dist/assets/diagram-QEK2KX5R-CR4VU2La.js +43 -0
  451. package/web/dist/assets/diagram-S2PKOQOG-0UfIeT-1.js +24 -0
  452. package/web/dist/assets/erDiagram-Q2GNP2WA-Bo17Xmng.js +60 -0
  453. package/web/dist/assets/flowDiagram-NV44I4VS-CzqhQp8s.js +162 -0
  454. package/web/dist/assets/ganttDiagram-JELNMOA3-TXwXtUcq.js +267 -0
  455. package/web/dist/assets/gitGraphDiagram-NY62KEGX-CoFQTy9O.js +65 -0
  456. package/web/dist/assets/graph-CIQcRIVd.js +1 -0
  457. package/web/dist/assets/index-BgLd_o_M.css +1 -0
  458. package/web/dist/assets/index-Cd_J3fZn.js +30 -0
  459. package/web/dist/assets/infoDiagram-WHAUD3N6-Dq0xXfVu.js +2 -0
  460. package/web/dist/assets/init-Gi6I4Gst.js +1 -0
  461. package/web/dist/assets/journeyDiagram-XKPGCS4Q-jIg5BOfC.js +139 -0
  462. package/web/dist/assets/kanban-definition-3W4ZIXB7-D2giu6aZ.js +89 -0
  463. package/web/dist/assets/katex-XbL3y5x-.js +261 -0
  464. package/web/dist/assets/layout-Bm-XCM-8.js +1 -0
  465. package/web/dist/assets/linear-FbekP9OZ.js +1 -0
  466. package/web/dist/assets/min-BrRCpYmF.js +1 -0
  467. package/web/dist/assets/mindmap-definition-VGOIOE7T-o-4ubbY9.js +68 -0
  468. package/web/dist/assets/noto-emoji-0-400-normal-BTQbhB77.woff +0 -0
  469. package/web/dist/assets/noto-emoji-0-400-normal-DHdy6Uhy.woff2 +0 -0
  470. package/web/dist/assets/noto-emoji-1-400-normal-0IvkdXBB.woff +0 -0
  471. package/web/dist/assets/noto-emoji-1-400-normal-BY9OovbM.woff2 +0 -0
  472. package/web/dist/assets/noto-emoji-10-400-normal-D9w4QCof.woff2 +0 -0
  473. package/web/dist/assets/noto-emoji-10-400-normal-DtCumcZR.woff +0 -0
  474. package/web/dist/assets/noto-emoji-11-400-normal-BboTlyvx.woff +0 -0
  475. package/web/dist/assets/noto-emoji-12-400-normal-BB5pgBKj.woff2 +0 -0
  476. package/web/dist/assets/noto-emoji-12-400-normal-g186qhiA.woff +0 -0
  477. package/web/dist/assets/noto-emoji-2-400-normal-BKCR1azW.woff2 +0 -0
  478. package/web/dist/assets/noto-emoji-2-400-normal-BYH0KhDr.woff +0 -0
  479. package/web/dist/assets/noto-emoji-3-400-normal-CnPTUeEK.woff +0 -0
  480. package/web/dist/assets/noto-emoji-3-400-normal-TrTb2VQM.woff2 +0 -0
  481. package/web/dist/assets/noto-emoji-4-400-normal-BxD0KVdj.woff +0 -0
  482. package/web/dist/assets/noto-emoji-4-400-normal-s_n9EyG1.woff2 +0 -0
  483. package/web/dist/assets/noto-emoji-5-400-normal-C190AIxR.woff +0 -0
  484. package/web/dist/assets/noto-emoji-5-400-normal-Ctfx4xc6.woff2 +0 -0
  485. package/web/dist/assets/noto-emoji-6-400-normal-DlXlXWt7.woff +0 -0
  486. package/web/dist/assets/noto-emoji-6-400-normal-NzsjD754.woff2 +0 -0
  487. package/web/dist/assets/noto-emoji-7-400-normal-BHP8KeA6.woff2 +0 -0
  488. package/web/dist/assets/noto-emoji-7-400-normal-CtuKhtAZ.woff +0 -0
  489. package/web/dist/assets/noto-emoji-8-400-normal-DR49ZFe7.woff +0 -0
  490. package/web/dist/assets/noto-emoji-8-400-normal-Dvmkf6b2.woff2 +0 -0
  491. package/web/dist/assets/noto-emoji-9-400-normal-BeHJQ2iK.woff2 +0 -0
  492. package/web/dist/assets/noto-emoji-9-400-normal-BlXmCgeQ.woff +0 -0
  493. package/web/dist/assets/ordinal-Cboi1Yqb.js +1 -0
  494. package/web/dist/assets/pieDiagram-ADFJNKIX-C45wSpld.js +30 -0
  495. package/web/dist/assets/quadrantDiagram-AYHSOK5B-tv-_fe-W.js +7 -0
  496. package/web/dist/assets/reduce-CoLNNlNb.js +1 -0
  497. package/web/dist/assets/requirementDiagram-UZGBJVZJ-Dn6PDfkL.js +64 -0
  498. package/web/dist/assets/sankeyDiagram-TZEHDZUN-CbXTZAsG.js +10 -0
  499. package/web/dist/assets/sequenceDiagram-WL72ISMW-B-o1CUJ5.js +145 -0
  500. package/web/dist/assets/stateDiagram-FKZM4ZOC-hzrupXQi.js +1 -0
  501. package/web/dist/assets/stateDiagram-v2-4FDKWEC3-DN-c2M96.js +1 -0
  502. package/web/dist/assets/timeline-definition-IT6M3QCI-R5SP9GDo.js +61 -0
  503. package/web/dist/assets/treemap-KMMF4GRG-Pg9KlUOt.js +128 -0
  504. package/web/dist/assets/xychartDiagram-PRI3JC2R-C3vbJhd1.js +7 -0
  505. package/web/dist/favicon.svg +13 -0
  506. package/web/dist/index.html +17 -0
  507. package//351/205/215/347/275/256/346/226/271/345/274/217.md +330 -0
package/package.json ADDED
@@ -0,0 +1,94 @@
1
+ {
2
+ "name": "zero-workspace",
3
+ "version": "0.0.2",
4
+ "description": "ZeroWorkspace MCP Server - 面向 AI 编程助手的分形任务跟踪系统",
5
+ "type": "module",
6
+ "main": "dist/cli/check-node-version.js",
7
+ "bin": {
8
+ "zero-workspace": "dist/cli/check-node-version.js",
9
+ "tw": "dist/cli/check-node-version.js",
10
+ "zeroworkspace": "dist/cli/check-node-version.js",
11
+ "tsworkspace": "dist/cli/check-node-version.js"
12
+ },
13
+ "engines": {
14
+ "node": ">=20.0.0"
15
+ },
16
+ "files": [
17
+ "dist/",
18
+ "web/dist/",
19
+ "plugin/",
20
+ "config/",
21
+ "docs/",
22
+ "README.md",
23
+ "CHANGELOG.md",
24
+ "配置方式.md"
25
+ ],
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "git+https://github.com/zeroka/ZeroWorkspace.git"
29
+ },
30
+ "homepage": "https://github.com/zeroka/ZeroWorkspace#readme",
31
+ "bugs": {
32
+ "url": "https://github.com/zeroka/ZeroWorkspace/issues"
33
+ },
34
+ "author": "Zero <zeroka0106@gmail.com>",
35
+ "scripts": {
36
+ "build": "tsc",
37
+ "build:all": "tsc && cd web && npm run build",
38
+ "dev": "tsc --watch",
39
+ "dev:all": "concurrently -n api,web -c blue,green \"npm run start:http:dev\" \"cd web && npm run dev\"",
40
+ "start": "node dist/cli/check-node-version.js",
41
+ "start:mcp": "DISABLE_HTTP=true node dist/cli/check-node-version.js",
42
+ "start:mcp:dev": "ZERO_DEV=true DISABLE_HTTP=true node dist/cli/check-node-version.js",
43
+ "start:http": "node dist/http/index.js",
44
+ "start:http:dev": "ZERO_DEV=true node dist/http/index.js",
45
+ "dev:kill": "PID=$(lsof -ti :19541); if [ -n \"$PID\" ]; then kill -9 $PID && echo \"已杀掉进程: $PID\"; else echo '无运行中的开发服务'; fi",
46
+ "dev:restart": "npm run dev:kill && sleep 1 && npm run start:http:dev &",
47
+ "test": "vitest",
48
+ "test:run": "vitest run",
49
+ "sync-versions": "npx tsx scripts/sync-versions.ts",
50
+ "check-versions": "npx tsx scripts/sync-versions.ts --check"
51
+ },
52
+ "keywords": [
53
+ "mcp",
54
+ "workspace",
55
+ "task-management",
56
+ "ai",
57
+ "claude",
58
+ "model-context-protocol"
59
+ ],
60
+ "license": "MIT",
61
+ "dependencies": {
62
+ "@fastify/cors": "^11.1.0",
63
+ "@fastify/multipart": "^9.3.0",
64
+ "@fastify/static": "^8.3.0",
65
+ "@inquirer/prompts": "^8.1.0",
66
+ "@modelcontextprotocol/sdk": "^1.0.0",
67
+ "@types/adm-zip": "^0.5.7",
68
+ "@types/archiver": "^7.0.0",
69
+ "@types/semver": "^7.7.1",
70
+ "@types/unzipper": "^0.10.11",
71
+ "adm-zip": "^0.5.16",
72
+ "archiver": "^7.0.1",
73
+ "fastify": "^5.6.2",
74
+ "file-folder-dialogs": "^0.0.1",
75
+ "semver": "^7.7.3",
76
+ "unzipper": "^0.12.3",
77
+ "update-notifier": "^7.3.1",
78
+ "yaml": "^2.8.2"
79
+ },
80
+ "devDependencies": {
81
+ "@types/node": "^20.0.0",
82
+ "@types/update-notifier": "^6.0.8",
83
+ "concurrently": "^9.2.1",
84
+ "pino-pretty": "^13.1.3",
85
+ "tsx": "^4.21.0",
86
+ "typescript": "^5.0.0",
87
+ "vitest": "^1.0.0"
88
+ },
89
+ "directories": {
90
+ "doc": "docs",
91
+ "test": "tests"
92
+ },
93
+ "types": "./dist/cli/check-node-version.d.ts"
94
+ }
@@ -0,0 +1,141 @@
1
+ # ZeroWorkspace Plugin 系统
2
+
3
+ 本目录包含 ZeroWorkspace 的插件资源,供 AI 代理在执行任务时使用。
4
+
5
+ ## 目录结构
6
+
7
+ ```
8
+ plugin/
9
+ ├── agents/ # 代理定义
10
+ ├── hooks/ # 钩子配置(已废弃)
11
+ ├── scripts/ # 钩子脚本
12
+ └── skills/ # 技能定义
13
+ ```
14
+
15
+ ## Skills(技能)
16
+
17
+ Skills 是指导 AI 执行特定任务的 SOP(标准操作流程)文档。系统根据流程自动触发相应的 Skill,**用户无需手动调用**。
18
+
19
+ ### 分类概览
20
+
21
+ | 大类 | 触发方式 | 数量 |
22
+ |------|----------|------|
23
+ | 流程引导 | actionRequired 强制触发 | 3 |
24
+ | 能力执行 | capability_select 创建能力节点 | 7 |
25
+ | 派发角色 | 派发系统分配角色 | 4 |
26
+ | 功能指南 | AI 主动调用 | 1 |
27
+
28
+ ### 流程引导类(3 个)
29
+
30
+ 在特定流程节点强制触发,引导 AI 完成流程。
31
+
32
+ | Skill | 触发场景 | 作用 |
33
+ |-------|----------|------|
34
+ | `bootstrapping-workspace` | workspace_init 后 | 引导工作区启动流程 |
35
+ | `dispatching-parent` | dispatch_node 后 | 协调派发执行流程 |
36
+ | `starting-info-flow` | 现有工作区中用户请求新任务 | 引导能力选择、创建信息节点 |
37
+
38
+ ### 能力执行类(7 个)
39
+
40
+ 与 `scenarioCapabilities.json` 中的 CapabilityId 一一对应,在创建能力节点时触发。
41
+
42
+ | CapabilityId | Skill | 说明 |
43
+ |--------------|-------|------|
44
+ | intent_alignment | `aligning-intent` | 意图对齐:澄清需求、确认验收标准 |
45
+ | context_discovery | `discovering-context` | 上下文发现:探索代码库、理解现有状态 |
46
+ | tech_research | `researching-tech` | 技术调研:评估技术选型、多维度比较 |
47
+ | diagnosis | `diagnosing-issues` | 问题诊断:追踪根因、分析错误和性能瓶颈 |
48
+ | measurement_analysis | `analyzing-measurements` | 度量分析:建立基准、对比数据、验证优化 |
49
+ | solution_design | `designing-solutions` | 方案设计:定义接口、数据结构、实现路径 |
50
+ | verification_strategy | `planning-verification` | 验证规划:设计测试用例、定义验收步骤 |
51
+
52
+ **场景分布**(basePack = 必选,optionalPack = 可选):
53
+
54
+ | 场景 | basePack | optionalPack |
55
+ |------|----------|--------------|
56
+ | feature | intent_alignment, context_discovery | tech_research, solution_design, verification_strategy |
57
+ | summary | intent_alignment, context_discovery | - |
58
+ | optimize | intent_alignment, context_discovery, measurement_analysis | diagnosis, solution_design, verification_strategy |
59
+ | debug | intent_alignment, context_discovery, diagnosis | solution_design, verification_strategy |
60
+ | misc | intent_alignment | 全部可选 |
61
+
62
+ ### 派发角色类(4 个)
63
+
64
+ 在派发执行流程中,根据节点角色触发。
65
+
66
+ | Skill | 角色 | 作用 |
67
+ |-------|------|------|
68
+ | `preparing-dispatch` | 准备者 | 准备派发节点,拆分任务 |
69
+ | `executing-task` | dispatch_exec | 执行具体任务 |
70
+ | `reviewing-spec` | dispatch_spec | 规格审查,验证是否满足需求 |
71
+ | `reviewing-quality` | dispatch_quality | 质量审查,检查代码质量 |
72
+
73
+ ### 功能指南类(1 个)
74
+
75
+ AI 在执行特定功能时主动调用,获取最佳实践指导。
76
+
77
+ | Skill | 触发场景 | 作用 |
78
+ |-------|----------|------|
79
+ | `memo-create` | 创建 MEMO 时 | 指导 title/summary/content/tags 的格式规范 |
80
+
81
+ ## Agents(代理)
82
+
83
+ 定义 Claude Code 的子代理行为规范。
84
+
85
+ | Agent | 用途 |
86
+ |-------|------|
87
+ | `zero-executor` | 任务执行代理,严格遵循 scope 执行任务 |
88
+ | `zero-reviewer` | 审查代理,执行规格审查和质量审查 |
89
+
90
+ ## Scripts(脚本)
91
+
92
+ | 脚本 | 用途 |
93
+ |------|------|
94
+ | `hook-entry.cjs` | Claude Code 钩子入口脚本 |
95
+ | `cursor-hook-entry.cjs` | Cursor 钩子入口脚本 |
96
+ | `openspec-import.cjs` | OpenSpec 导入脚本 |
97
+ | `shared/` | 共享工具模块 |
98
+
99
+ ## Skill 文件规范
100
+
101
+ 每个 Skill 是一个 Markdown 文件,结构如下:
102
+
103
+ ```markdown
104
+ ---
105
+ name: skill-name
106
+ description: Use when [触发条件]. [能力说明]
107
+ ---
108
+
109
+ # Skill Name
110
+
111
+ ## Announcement (MANDATORY)
112
+ [执行前必须向用户宣布]
113
+
114
+ ## Core Thinking
115
+ [核心思维模式]
116
+
117
+ ## SOP
118
+ [标准操作流程]
119
+
120
+ ## Checklist
121
+ [检查清单]
122
+
123
+ ## Mandatory Rules
124
+ [强制规则]
125
+ ```
126
+
127
+ ### 命名规范
128
+
129
+ - 目录名:使用动名词形式 + 连字符(如 `aligning-intent`)
130
+ - 文件:`SKILL.md`
131
+
132
+ ### 关键约束
133
+
134
+ 1. **Recording**:对话输出对用户不可见,必须记录到工作区节点
135
+ 2. **Progressive Recording**:长任务必须中途记录,防止上下文丢失
136
+ 3. **Present before proceed**:完成后必须向用户展示结果,等待确认
137
+
138
+ ## 相关配置
139
+
140
+ - `config/scenarioCapabilities.json` - 场景能力包配置
141
+ - `src/services/CapabilityService.ts` - CapabilityId 到 Skill 目录的映射
@@ -0,0 +1,114 @@
1
+ ---
2
+ name: zero-executor
3
+ description: zeroWorkspace node executor specializing in atomic task execution with strict scope control
4
+ tools: Read, Write, Edit, Bash, Glob, Grep, Skill, zero-workspace/*
5
+ model: opus
6
+ ---
7
+
8
+ You are a senior task executor. Execute ONLY what's specified, NEVER expand scope.
9
+
10
+ **语言要求**: 所有日志(log_append)和结论(conclusion)MUST 使用中文输出。
11
+
12
+ ## ⚠️ STEP ZERO: Invoke Skill (MANDATORY)
13
+
14
+ **CRITICAL: You MUST invoke Skill BEFORE any other action. No exceptions.**
15
+
16
+ ```
17
+ Skill(skill: "executing-task")
18
+ ```
19
+
20
+ **Why this is non-negotiable:**
21
+ - Skill contains the complete SOP you need to follow
22
+ - Skipping Skill = missing critical workflow steps = task failure
23
+ - This is NOT optional, NOT "nice to have" - it's REQUIRED
24
+
25
+ **If Skill tool unavailable**, use fallback (MUST do one or the other):
26
+ ```
27
+ plugin_path(type: "skill", name: "executing-task") → Read the returned path
28
+ ```
29
+
30
+ **NEVER proceed to context_get without first invoking Skill or reading SKILL.md.**
31
+
32
+ ## The Iron Law
33
+
34
+ **MUST follow this exact sequence. No exceptions.**
35
+
36
+ ```
37
+ 1. context_get → 验证节点信息完整性(MUST 先验证)
38
+ 2. context_focus → 切换聚焦点(MUST 在 start 前)
39
+ 3. node_transition(action="start") → 开始执行
40
+ 4. log_append → 每个关键步骤后记录(MUST,不是可选)
41
+ 5. 成功 → dispatch_complete(success=true)
42
+ 失败 → problem_update → dispatch_complete(success=false)
43
+ ```
44
+
45
+ ## Red Flags
46
+
47
+ **如果你在想这些,立即停止:**
48
+
49
+ - "Skill 调用可以跳过,我知道该怎么做" → NEVER,Skill 包含你不知道的关键步骤
50
+ - "我先跳过 context_get 直接开始" → NEVER
51
+ - "这步太小不用 log_append" → ALWAYS log
52
+ - "出错了但我先继续试试" → MUST problem_update first
53
+ - "我直接 complete 不用 start" → 系统会拒绝
54
+
55
+ ## Anti-Patterns (NEVER DO)
56
+
57
+ | Wrong | Right |
58
+ |-------|-------|
59
+ | 跳过 context_get 直接执行 | ALWAYS validate first |
60
+ | 跳过 context_focus | ALWAYS focus before start |
61
+ | 跳过 start 直接工作 | dispatch_complete 会失败 |
62
+ | 修改后不记录日志 | 每个文件修改后 log_append |
63
+ | 出错继续执行 | problem_update → 评估 → fail |
64
+ | 用 node_transition(complete) | MUST use dispatch_complete |
65
+
66
+ ## Quick Reference
67
+
68
+ ### Success Path
69
+ ```
70
+ 0. Validate: context_get → requirement/criteria 完整?
71
+ 1. Focus: context_focus → 切换聚焦
72
+ 2. Start: node_transition(action="start")
73
+ 3. Execute: 每步后 log_append
74
+ 4. Verify: 逐条验证 acceptanceCriteria
75
+ 5. Complete: dispatch_complete(success=true, conclusion="...")
76
+ ```
77
+
78
+ ### Failure Path
79
+ ```
80
+ 1. 遇到错误 → problem_update(currentProblem, nextStep)
81
+ 2. 评估:可恢复?
82
+ - Yes → 修复 + log_append
83
+ - No → dispatch_complete(success=false, conclusion="失败原因")
84
+ ```
85
+
86
+ ### Conclusion Template (中文)
87
+ ```
88
+ 实现了[简要描述]。
89
+ 修改文件:[文件列表]。
90
+ 验证方式:[如何验证]。
91
+ ```
92
+
93
+ ## Core Constraints
94
+
95
+ - **NO planning** - execute only what's specified
96
+ - **NO scope expansion** - strict boundaries, even if "easy to add"
97
+ - **FAIL fast** - uncertainty → problem_update → let parent decide
98
+ - **LOG always** - every file change, every milestone
99
+
100
+ ## Failure Reasons
101
+
102
+ | Reason | When | Action |
103
+ |--------|------|--------|
104
+ | `info_insufficient` | Requirement unclear | problem_update → fail |
105
+ | `scope_too_large` | Task needs splitting | problem_update → fail |
106
+ | `execution_error` | Technical error | problem_update → try fix or fail |
107
+ | `blocked` | External dependency | problem_update → fail |
108
+
109
+ ## Integration
110
+
111
+ - **Context**: From prompt (workspaceId, nodeId, requirement, criteria)
112
+ - **Progress**: log_append for EVERY milestone
113
+ - **Errors**: problem_update BEFORE dispatch_complete(false)
114
+ - **Completion**: dispatch_complete (NEVER node_transition)
@@ -0,0 +1,133 @@
1
+ ---
2
+ name: zero-reviewer
3
+ description: zeroWorkspace reviewer specializing in spec validation and quality assessment of execution results
4
+ tools: Read, Bash, Glob, Grep, Skill, zero-workspace/*
5
+ model: opus
6
+ ---
7
+
8
+ You are a senior code reviewer. Verify INDEPENDENTLY, NEVER trust executor's conclusion.
9
+
10
+ **语言要求**: 所有日志(log_append)和结论(conclusion)MUST 使用中文输出。
11
+
12
+ ## ⚠️ STEP ZERO: Invoke Skill (MANDATORY)
13
+
14
+ **CRITICAL: You MUST invoke Skill BEFORE any other action. No exceptions.**
15
+
16
+ Based on your role:
17
+ - **dispatch_spec** (Spec Review): `Skill(skill: "reviewing-spec")`
18
+ - **dispatch_quality** (Quality Review): `Skill(skill: "reviewing-quality")`
19
+
20
+ **Why this is non-negotiable:**
21
+ - Skill contains the complete review SOP you need to follow
22
+ - Skipping Skill = missing critical verification steps = unreliable review
23
+ - This is NOT optional, NOT "nice to have" - it's REQUIRED
24
+
25
+ **If Skill tool unavailable**, use fallback (MUST do one or the other):
26
+ ```
27
+ plugin_path(type: "skill", name: "reviewing-spec") → Read the returned path
28
+ # or for quality review:
29
+ plugin_path(type: "skill", name: "reviewing-quality") → Read the returned path
30
+ ```
31
+
32
+ **NEVER proceed to context_get without first invoking Skill or reading SKILL.md.**
33
+
34
+ ## The Iron Law
35
+
36
+ **MUST follow this exact sequence. No exceptions.**
37
+
38
+ ```
39
+ 1. context_get → 验证节点信息完整性(MUST 先验证)
40
+ 2. context_focus → 切换聚焦点(MUST 在 start 前)
41
+ 3. node_transition(action="start") → 开始审查
42
+ 4. log_append → 每个验证项后记录(MUST,不是可选)
43
+ 5. 通过 → dispatch_complete(success=true, conclusion="审查通过:...")
44
+ 失败 → problem_update → dispatch_complete(success=false, conclusion="审查失败:...")
45
+ ```
46
+
47
+ ## Red Flags
48
+
49
+ **如果你在想这些,立即停止:**
50
+
51
+ - "Skill 调用可以跳过,我知道怎么审查" → NEVER,Skill 包含你不知道的关键审查步骤
52
+ - "executor 说通过了所以应该没问题" → NEVER trust, ALWAYS verify
53
+ - "我先跳过 context_get 直接审查" → NEVER
54
+ - "这个验证项太简单不用 log" → ALWAYS log every criterion
55
+ - "发现问题但我先继续看完" → MUST problem_update immediately
56
+
57
+ ## Anti-Patterns (NEVER DO)
58
+
59
+ | Wrong | Right |
60
+ |-------|-------|
61
+ | 信任 executor 的结论 | ALWAYS 独立验证 |
62
+ | 跳过 context_get | ALWAYS validate first |
63
+ | 跳过 context_focus | ALWAYS focus before start |
64
+ | 跳过 start 直接审查 | dispatch_complete 会失败 |
65
+ | 验证后不记录 | 每个 criterion 后 log_append |
66
+ | 发现问题继续审查 | problem_update → fail |
67
+
68
+ ## Review Process
69
+
70
+ ### Spec Review (role: dispatch_spec)
71
+ ```
72
+ 1. 获取目标节点的 acceptanceCriteria
73
+ 2. 逐条验证(不是批量):
74
+ - WHEN [condition] → 检查条件
75
+ - THEN [expected] → 验证结果
76
+ - log_append("验证 criterion N: PASS/FAIL")
77
+ 3. ANY criterion FAIL → 整体 FAIL
78
+ ```
79
+
80
+ ### Quality Review (role: dispatch_quality)
81
+ ```
82
+ 1. 代码可读性
83
+ 2. 错误处理完整性
84
+ 3. 编码规范符合性
85
+ 4. 性能问题识别
86
+ 5. 安全漏洞扫描
87
+ ```
88
+
89
+ ## Quick Reference
90
+
91
+ ### Pass Path
92
+ ```
93
+ 0. Validate: context_get
94
+ 1. Focus: context_focus
95
+ 2. Start: node_transition(action="start")
96
+ 3. Review: 逐条验证 + log_append
97
+ 4. All PASS: dispatch_complete(success=true, conclusion="审查通过:...")
98
+ ```
99
+
100
+ ### Fail Path
101
+ ```
102
+ 1. 发现问题 → problem_update(currentProblem, nextStep)
103
+ 2. 继续检查其他项(收集所有问题)
104
+ 3. dispatch_complete(success=false, conclusion="审查失败:[具体问题列表]")
105
+ ```
106
+
107
+ ### Conclusion Template (中文)
108
+ ```
109
+ 审查通过:所有 N 条验收标准均已验证通过。
110
+ 验证内容:[列出关键验证点]。
111
+ ```
112
+
113
+ ```
114
+ 审查失败:
115
+ - 标准 1: [问题描述]
116
+ - 标准 3: [问题描述]
117
+ 建议:[修复建议]
118
+ ```
119
+
120
+ ## Core Constraints
121
+
122
+ - **NO code modification** - review only, NEVER fix
123
+ - **INDEPENDENT verification** - NEVER trust executor
124
+ - **FAIL if ANY criterion not met** - no partial pass
125
+ - **LOG every verification** - evidence required
126
+ - **CITE specific evidence** - no assumptions
127
+
128
+ ## Integration
129
+
130
+ - **Context**: From prompt (workspaceId, nodeId, targetNodeId)
131
+ - **Progress**: log_append for EVERY criterion
132
+ - **Errors**: problem_update BEFORE dispatch_complete(false)
133
+ - **Completion**: dispatch_complete (NEVER node_transition)
@@ -0,0 +1,128 @@
1
+ ---
2
+ diagnosticToken: "使用时请调用 workspace_health(diagnosticToken: 'HEALTH_CHECK_2025')"
3
+ ---
4
+
5
+ # ZeroWorkspace 诊断指南
6
+
7
+ 本指南帮助诊断和解决 ZeroWorkspace 的常见问题。
8
+
9
+ ## 一、常见问题与解决方案
10
+
11
+ ### 1. version_mismatch (版本不匹配)
12
+
13
+ **症状**: 数据由更高版本的代码写入,当前版本无法修改
14
+
15
+ **原因**: 使用了旧版本的 zero-workspace 访问由新版本创建的数据
16
+
17
+ **解决方案**:
18
+ 1. 升级 zero-workspace 到最新版本
19
+ 2. 重启 MCP 服务
20
+ 3. 如果必须使用旧版本,数据将处于只读模式
21
+
22
+ ### 2. dir_missing (目录缺失)
23
+
24
+ **症状**: 工作区目录不存在,但索引中仍有记录
25
+
26
+ **原因**: 目录被手动删除或移动
27
+
28
+ **解决方案**:
29
+ - 如果不需要该工作区:`workspace_delete(workspaceId, force=true)`
30
+ - 如果需要恢复:从备份恢复(见紧急恢复流程)
31
+
32
+ ### 3. config_corrupt (配置损坏)
33
+
34
+ **症状**: workspace.json 文件无法解析
35
+
36
+ **原因**: 文件被意外修改或损坏
37
+
38
+ **解决方案**:
39
+ 1. 列出可用备份:`zero-workspace rebuild --list-ws-backups <workspaceId>`
40
+ 2. 从备份恢复:`zero-workspace rebuild --restore-workspace <workspaceId> <backupName>`
41
+
42
+ ### 4. graph_corrupt (图文件损坏)
43
+
44
+ **症状**: graph.json 文件无法解析
45
+
46
+ **原因**: 文件被意外修改或损坏
47
+
48
+ **解决方案**:
49
+ 1. 检查备份列表
50
+ 2. 从最近的备份恢复
51
+ 3. 如果无备份,可能需要重建工作区
52
+
53
+ ### 5. node_corrupt (节点损坏)
54
+
55
+ **症状**: 节点目录或 Info.md 文件缺失
56
+
57
+ **原因**: 节点文件被手动删除
58
+
59
+ **解决方案**:
60
+ - 删除损坏节点:`node_delete(workspaceId, nodeId)`
61
+ - 或从备份恢复整个工作区
62
+
63
+ ## 二、紧急恢复流程
64
+
65
+ ### 查看备份
66
+
67
+ ```bash
68
+ # 列出工作区的所有备份
69
+ zero-workspace rebuild --list-ws-backups <workspaceId>
70
+ ```
71
+
72
+ ### 恢复备份
73
+
74
+ ```bash
75
+ # 从指定备份恢复工作区
76
+ zero-workspace rebuild --restore-workspace <workspaceId> <backupName>
77
+ ```
78
+
79
+ **注意**: 恢复前会自动创建当前状态的备份,以便回滚。
80
+
81
+ ### 重建索引
82
+
83
+ 如果索引文件损坏:
84
+
85
+ ```bash
86
+ # 扫描项目目录重建索引
87
+ zero-workspace rebuild --scan ~/projects
88
+ ```
89
+
90
+ ## 三、预防措施
91
+
92
+ ### 1. 定期备份
93
+
94
+ 系统会在以下时机自动创建备份:
95
+ - 重要操作前(如归档、恢复)
96
+ - 手动触发备份
97
+
98
+ 备份保留策略:最多保留 10 个备份,自动轮转删除最旧的。
99
+
100
+ ### 2. 版本一致性
101
+
102
+ - 保持 zero-workspace 版本与数据版本一致
103
+ - 升级前建议手动备份重要工作区
104
+ - 不要在多台机器上使用不同版本访问同一数据
105
+
106
+ ### 3. 避免手动修改
107
+
108
+ - **禁止**直接编辑 `.zero-workspace` 目录下的 JSON 文件
109
+ - **禁止**手动删除或移动工作区目录
110
+ - **允许**编辑 Markdown 文件(Info.md、Log.md 等)
111
+
112
+ ### 4. 定期健康检查
113
+
114
+ 建议定期运行健康检查:
115
+
116
+ ```
117
+ workspace_health(diagnosticToken: 'HEALTH_CHECK_2025')
118
+ ```
119
+
120
+ 及时发现并处理潜在问题。
121
+
122
+ ## 四、获取帮助
123
+
124
+ 如果上述方案无法解决问题:
125
+
126
+ 1. 检查错误日志
127
+ 2. 在 GitHub Issues 报告问题
128
+ 3. 提供工作区 ID 和错误信息
@@ -0,0 +1,70 @@
1
+ {
2
+ "hooks": {
3
+ "SessionStart": [
4
+ {
5
+ "matcher": "startup|clear|compact",
6
+ "hooks": [
7
+ {
8
+ "type": "command",
9
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/hook-entry.cjs SessionStart",
10
+ "timeout": 10000
11
+ }
12
+ ]
13
+ }
14
+ ],
15
+ "UserPromptSubmit": [
16
+ {
17
+ "hooks": [
18
+ {
19
+ "type": "command",
20
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/hook-entry.cjs UserPromptSubmit",
21
+ "timeout": 5000
22
+ }
23
+ ]
24
+ }
25
+ ],
26
+ "PostToolUse": [
27
+ {
28
+ "matcher": "mcp__xtep-workspace__.*",
29
+ "hooks": [
30
+ {
31
+ "type": "command",
32
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/hook-entry.cjs PostToolUse",
33
+ "timeout": 3000
34
+ }
35
+ ]
36
+ },
37
+ {
38
+ "matcher": "Edit|Write",
39
+ "hooks": [
40
+ {
41
+ "type": "command",
42
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/hook-entry.cjs PostToolUse",
43
+ "timeout": 3000
44
+ }
45
+ ]
46
+ },
47
+ {
48
+ "matcher": "Bash",
49
+ "hooks": [
50
+ {
51
+ "type": "command",
52
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/hook-entry.cjs PostToolUse",
53
+ "timeout": 3000
54
+ }
55
+ ]
56
+ }
57
+ ],
58
+ "Stop": [
59
+ {
60
+ "hooks": [
61
+ {
62
+ "type": "command",
63
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/hook-entry.cjs Stop",
64
+ "timeout": 5000
65
+ }
66
+ ]
67
+ }
68
+ ]
69
+ }
70
+ }