@jennie-shawn/starwork 0.1.0-alpha.2 → 0.1.0-alpha.21

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 (298) hide show
  1. package/README.md +111 -99
  2. package/adapters/README.md +34 -0
  3. package/adapters/claude-code/profile.json +55 -0
  4. package/adapters/claude-code/rules.md +13 -0
  5. package/adapters/claude-code/safety.md +6 -0
  6. package/adapters/codex/profile.json +55 -0
  7. package/adapters/codex/rules.md +12 -0
  8. package/adapters/codex/safety.md +5 -0
  9. package/adapters/contract.md +64 -0
  10. package/adapters/cursor/profile.json +60 -0
  11. package/adapters/cursor/rules.md +7 -0
  12. package/adapters/cursor/safety.md +6 -0
  13. package/adapters/trae/profile.json +61 -0
  14. package/adapters/trae/rules.md +7 -0
  15. package/adapters/trae/safety.md +7 -0
  16. package/cli/README.md +50 -9
  17. package/cli/audit-spec.md +403 -0
  18. package/cli/doctor-spec.md +109 -17
  19. package/cli/init-spec.md +81 -53
  20. package/cli/repair-spec.md +361 -0
  21. package/cli/spawn-blueprint-spec.md +18 -18
  22. package/cli/spawn-spec.md +103 -108
  23. package/cli/src/cli.js +9403 -1059
  24. package/cli/test/init.test.js +2566 -51
  25. package/cli/upgrade-spec.md +488 -0
  26. package/core/README.md +14 -3
  27. package/core/agent-lanes-session-naming-spec.md +364 -0
  28. package/core/agent-lanes-spec.md +507 -0
  29. package/core/baseline/file-boundaries.md +11 -3
  30. package/core/baseline/health-check.md +2 -2
  31. package/core/baseline/roles.md +0 -1
  32. package/core/baseline/spec.md +3 -2
  33. package/core/capabilities/README.md +5 -2
  34. package/core/capabilities/agent-lanes/capability.md +40 -0
  35. package/core/capabilities/decisions/capability.md +2 -2
  36. package/core/capabilities/knowledge/capability.md +72 -0
  37. package/core/capabilities/knowledge/skills/starworkKnowledgeProject/SKILL.md +57 -0
  38. package/core/capabilities/knowledge/skills/starworkKnowledgeProject/agents/openai.yaml +6 -0
  39. package/core/capabilities/knowledge/templates/en/README.md +20 -0
  40. package/core/capabilities/knowledge/templates/en/index.md +19 -0
  41. package/core/capabilities/knowledge/templates/en/log.md +16 -0
  42. package/core/capabilities/knowledge/templates/en/schema.md +60 -0
  43. package/core/capabilities/knowledge/templates/zh/README.md +20 -0
  44. package/core/capabilities/knowledge/templates/zh/index.md +19 -0
  45. package/core/capabilities/knowledge/templates/zh/log.md +16 -0
  46. package/core/capabilities/knowledge/templates/zh/schema.md +60 -0
  47. package/core/capabilities/main-repo-sync/capability.md +57 -34
  48. package/core/capabilities/skill-mount/capability.md +19 -5
  49. package/core/capabilities/starter-outputs/capability.md +9 -11
  50. package/core/capabilities/starter-outputs/templates/outputs/final/README.md +1 -1
  51. package/core/core-v0.1-protocol.md +23 -21
  52. package/core/kits/README.md +9 -1
  53. package/core/kits/hub/.incoming/README.md +4 -2
  54. package/core/kits/hub/.incoming/reports/.gitkeep +1 -0
  55. package/core/kits/hub/.incoming/skills/.gitkeep +1 -0
  56. package/core/kits/hub/.internal/twin-bot-merge-policy.md +5 -0
  57. package/core/kits/hub/.internal/twin-bot-writeback-protocol.md +5 -0
  58. package/core/kits/hub/.starwork/handoff/archived/.gitkeep +1 -0
  59. package/core/kits/hub/.starwork/handoff/inbox/.gitkeep +1 -0
  60. package/core/kits/hub/.starwork/handoff/outbox/.gitkeep +1 -0
  61. package/core/kits/hub/.starwork/handoff/sent/.gitkeep +1 -0
  62. package/core/kits/hub/.starwork/handoff/state.json +5 -0
  63. package/core/kits/hub/AGENTS.md +18 -12
  64. package/core/kits/hub/README.md +17 -9
  65. package/core/kits/hub/identity/README.md +2 -2
  66. package/core/kits/hub/knowledge/README.md +5 -0
  67. package/core/kits/hub/lessons/README.md +2 -2
  68. package/core/kits/hub/projects/README.md +5 -0
  69. package/core/kits/hub/projects/coordination/README.md +5 -0
  70. package/core/kits/hub/projects/coordination/messages/acknowledged/.gitkeep +1 -0
  71. package/core/kits/hub/projects/coordination/messages/closed/.gitkeep +1 -0
  72. package/core/kits/hub/projects/coordination/messages/delivered/.gitkeep +1 -0
  73. package/core/kits/hub/projects/coordination/messages/queued/.gitkeep +1 -0
  74. package/core/kits/hub/projects/coordination/reports/.gitkeep +1 -0
  75. package/core/kits/hub/skills/README.md +4 -2
  76. package/core/kits/hub/skills/registry.json +6 -0
  77. package/core/kits/hub/workspace/README.md +5 -0
  78. package/core/kits/kit-structure-reference.md +104 -191
  79. package/core/kits/project/.agents/skills/README.md +5 -0
  80. package/core/kits/project/.claude/skills/README.md +5 -0
  81. package/core/kits/project/.obsidian/README.md +5 -0
  82. package/core/kits/project/.starwork/handoff/archived/.gitkeep +1 -0
  83. package/core/kits/project/.starwork/handoff/inbox/.gitkeep +1 -0
  84. package/core/kits/project/.starwork/handoff/outbox/.gitkeep +1 -0
  85. package/core/kits/project/.starwork/handoff/sent/.gitkeep +1 -0
  86. package/core/kits/project/.starwork/handoff/state.json +5 -0
  87. package/core/kits/project/AGENTS.md +38 -0
  88. package/core/kits/project/README.md +44 -0
  89. package/core/kits/project/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/275/223/345/211/215/351/241/271/347/233/256.md +25 -0
  90. package/core/kits/project/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md +17 -0
  91. package/core/kits/project/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +17 -0
  92. package/core/kits/project/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +24 -0
  93. package/core/kits/two-kit-architecture-spec.md +695 -0
  94. package/core/legacy/README.md +16 -0
  95. package/core/legacy/kits/satellite-starter/.starwork/handoff/archived/.gitkeep +1 -0
  96. package/core/legacy/kits/satellite-starter/.starwork/handoff/inbox/.gitkeep +1 -0
  97. package/core/legacy/kits/satellite-starter/.starwork/handoff/outbox/.gitkeep +1 -0
  98. package/core/legacy/kits/satellite-starter/.starwork/handoff/sent/.gitkeep +1 -0
  99. package/core/legacy/kits/satellite-starter/.starwork/handoff/state.json +5 -0
  100. package/core/{kits → legacy/kits}/satellite-starter/AGENTS.md +7 -1
  101. package/core/{kits → legacy/kits}/satellite-starter/README.md +4 -4
  102. package/core/{kits → legacy/kits}/satellite-starter/_/347/263/273/347/273/237//344/270/273/345/272/223/345/220/214/346/255/245/README.md +3 -3
  103. package/core/legacy/kits/satellite-starter//350/276/223/345/207/272//347/241/256/350/256/244/346/210/220/346/236/234/README.md +5 -0
  104. package/core/{presets → legacy/presets}/satellite-starter.yaml +1 -1
  105. package/core/presets/README.md +17 -7
  106. package/core/presets/hub.yaml +23 -4
  107. package/core/presets/project.yaml +11 -0
  108. package/core/profiles/en/labels.json +2 -4
  109. package/core/profiles/en/paths.json +3 -4
  110. package/core/profiles/en/profile.md +7 -4
  111. package/core/profiles/en/templates/AGENTS.md +13 -9
  112. package/core/profiles/en/{reference-kits/local-starter/_system/context/project-status.md → templates/_system/context/current-project.md} +1 -1
  113. package/core/profiles/zh/labels.json +2 -4
  114. package/core/profiles/zh/paths.json +3 -5
  115. package/core/profiles/zh/profile.md +7 -4
  116. package/core/profiles/zh/templates/AGENTS.md +13 -9
  117. package/core/{kits/local-matter/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//351/241/271/347/233/256/347/212/266/346/200/201.md → profiles/zh/templates/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/275/223/345/211/215/351/241/271/347/233/256.md} +1 -1
  118. package/core/project-rules-optimization-spec.md +510 -0
  119. package/core/skill-management-spec.md +591 -0
  120. package/core/starwork-runtime-layer-spec.md +344 -0
  121. package/docs/README.md +18 -4
  122. package/docs/agent-install-guide.md +132 -0
  123. package/docs/ai-consultant-brief.md +648 -0
  124. package/docs/alpha-test-guide.md +274 -17
  125. package/docs/cli-capabilities.html +206 -115
  126. package/docs/cli-skill-registry.html +801 -0
  127. package/docs/doctor-capabilities.html +631 -0
  128. package/docs/hub-management.html +60 -59
  129. package/docs/index.html +7 -5
  130. package/docs/issue-feedback-tracking-guide.md +447 -0
  131. package/docs/m2.10-core-kit-pack-boundary-cleanup-spec.md +567 -0
  132. package/docs/m2.6-alpha-core-flows-optimization-spec.md +441 -0
  133. package/docs/m2.6-project-init-feedback/README.md +27 -0
  134. package/docs/m2.6-project-init-feedback/m2.6-project-init-feedback-01-identity-spec.md +194 -0
  135. package/docs/m2.6-project-init-feedback/m2.6-project-init-feedback-02-hub-sync-boundary-spec.md +198 -0
  136. package/docs/m2.6-project-init-feedback/m2.6-project-init-feedback-03-current-project-purity-spec.md +238 -0
  137. package/docs/m2.6-project-init-feedback/m2.6-project-init-feedback-04-system-placeholder-templates-spec.md +213 -0
  138. package/docs/m2.6-project-init-feedback/m2.6-project-init-feedback-05-agents-guardrails-spec.md +265 -0
  139. package/docs/m2.7-init-github-issues-optimization-spec.md +350 -0
  140. package/docs/m2.8-workspace-naming-optimization-spec.md +633 -0
  141. package/docs/multiagent/01-codex-session-capabilities-and-starwork-implications.md +280 -0
  142. package/docs/multiagent/02-cursor-session-management-research-instructions.md +204 -0
  143. package/docs/multiagent/03-trae-session-management-research-instructions.md +205 -0
  144. package/docs/multiagent/04-claude-code-session-management-research-instructions.md +209 -0
  145. package/docs/multiagent/05-trae-solo-session-management-research-instructions.md +222 -0
  146. package/docs/multiagent/claude-code-session-management-research-result.md +201 -0
  147. package/docs/multiagent/cursor-session-management-research-result.md +101 -0
  148. package/docs/multiagent/session-control-support-matrix.md +20 -0
  149. package/docs/multiagent/trae-session-management-research-result.md +353 -0
  150. package/docs/multiagent/trae-solo-session-management-research-result.md +467 -0
  151. package/docs/product-direction.md +17 -9
  152. package/docs/product-shape-business-model.html +1 -1
  153. package/docs/roadmap.html +34 -20
  154. package/docs/roadmap.md +185 -20
  155. package/docs/v0.1-plan.md +32 -12
  156. package/kit-skills/README.md +11 -0
  157. package/kit-skills/neat-freak/SKILL.md +32 -0
  158. package/kit-skills/neat-freak/agents/openai.yaml +2 -0
  159. package/kit-skills/starworkAudit/SKILL.md +127 -0
  160. package/kit-skills/starworkAudit/references/issue-taxonomy.md +10 -0
  161. package/kit-skills/starworkAudit/references/repair-blueprint-guide.md +54 -0
  162. package/kit-skills/starworkAudit/references/response-guide.md +34 -0
  163. package/{skills → kit-skills}/starworkSpawn/SKILL.md +36 -14
  164. package/package.json +4 -3
  165. package/packs/content-creator/languages/en.json +4 -4
  166. package/packs/content-creator/languages/zh.json +4 -4
  167. package/packs/content-creator/pack.json +5 -5
  168. package/packs/general/languages/en.json +19 -2
  169. package/packs/general/languages/zh.json +19 -2
  170. package/packs/general/pack.json +8 -3
  171. package/packs/hub-management/languages/en.json +2 -2
  172. package/packs/hub-management/languages/zh.json +11 -10
  173. package/packs/hub-management/pack.json +2 -2
  174. package/packs/hub-management/rules/en/overview.md +2 -0
  175. package/packs/hub-management/rules/en/workflow.md +2 -1
  176. package/packs/hub-management/rules/zh/overview.md +4 -2
  177. package/packs/hub-management/rules/zh/workflow.md +3 -2
  178. package/packs/hub-management/seed/en/projects/coordination/README.md +2 -2
  179. package/packs/hub-management/seed/zh/projects/coordination/README.md +5 -0
  180. package/packs/pack-structure-spec.md +4 -4
  181. package/skills/README.md +28 -3
  182. package/skills/starwork/SKILL.md +81 -0
  183. package/skills/starwork/references/install.md +64 -0
  184. package/skills/starwork/references/routing.md +44 -0
  185. package/skills/starworkAudit-spec.md +354 -0
  186. package/skills/starworkDoctor/SKILL.md +435 -0
  187. package/skills/starworkDoctor/agents/openai.yaml +7 -0
  188. package/skills/starworkDoctor/references/agent-rules-template.md +64 -0
  189. package/skills/starworkDoctor/references/hub-upgrade.md +73 -0
  190. package/skills/starworkDoctor/references/response-guide.md +57 -0
  191. package/skills/starworkDoctor/references/rules-extraction-guide.md +92 -0
  192. package/skills/starworkDoctor-spec.md +764 -0
  193. package/skills/starworkInit/SKILL.md +285 -50
  194. package/skills/starworkInit-spec.md +106 -75
  195. package/skills/starworkKnowledge/SKILL.md +195 -0
  196. package/skills/starworkKnowledge/agents/openai.yaml +3 -0
  197. package/skills/starworkMultiagent/SKILL.md +302 -0
  198. package/skills/starworkMultiagent/agents/openai.yaml +7 -0
  199. package/skills/starworkMultiagent-skill-plan.md +234 -0
  200. package/skills/starworkMultiagent-spec.md +181 -0
  201. package/core/capabilities/matter-mode/capability.md +0 -46
  202. package/core/capabilities/matter-mode/templates/matters/_matter-template/README.md +0 -17
  203. package/core/capabilities/matter-mode/templates/matters/_matter-template/handoff.md +0 -3
  204. package/core/capabilities/matter-mode/templates/matters/_matter-template/notes.md +0 -5
  205. package/core/capabilities/matter-mode/templates/matters/_matter-template/progress.md +0 -5
  206. package/core/capabilities/matter-mode/templates/matters/registry.md +0 -16
  207. package/core/kits/hub/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//351/241/271/347/233/256/347/212/266/346/200/201.md +0 -24
  208. package/core/kits/hub//347/237/245/350/257/206/README.md +0 -5
  209. package/core/kits/hub//351/241/271/347/233/256/README.md +0 -5
  210. package/core/kits/hub//351/241/271/347/233/256//350/201/224/347/273/234/README.md +0 -5
  211. package/core/kits/local-matter/AGENTS.md +0 -23
  212. package/core/kits/local-matter/README.md +0 -22
  213. package/core/kits/local-matter/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/206/263/347/255/226.md +0 -7
  214. package/core/kits/local-matter/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md +0 -17
  215. package/core/kits/local-matter/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +0 -5
  216. package/core/kits/local-matter/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +0 -5
  217. package/core/kits/local-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277/README.md +0 -17
  218. package/core/kits/local-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//344/272/244/346/216/245.md +0 -3
  219. package/core/kits/local-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//347/254/224/350/256/260.md +0 -5
  220. package/core/kits/local-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//350/277/233/345/272/246.md +0 -5
  221. package/core/kits/local-matter//344/272/213/351/241/271//346/263/250/345/206/214/350/241/250.md +0 -16
  222. package/core/kits/local-matter//350/276/223/345/207/272//347/241/256/350/256/244/346/210/220/346/236/234/README.md +0 -5
  223. package/core/kits/local-starter/AGENTS.md +0 -23
  224. package/core/kits/local-starter/README.md +0 -23
  225. package/core/kits/local-starter/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//351/241/271/347/233/256/347/212/266/346/200/201.md +0 -25
  226. package/core/kits/local-starter/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md +0 -17
  227. package/core/kits/local-starter/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +0 -5
  228. package/core/kits/local-starter/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +0 -5
  229. package/core/kits/local-starter//345/217/202/350/200/203/350/265/204/346/226/231/README.md +0 -5
  230. package/core/kits/local-starter//350/276/223/345/207/272//347/241/256/350/256/244/346/210/220/346/236/234/README.md +0 -5
  231. package/core/kits/local-starter//350/276/223/345/207/272//350/215/211/347/250/277/README.md +0 -5
  232. package/core/kits/satellite-matter/AGENTS.md +0 -27
  233. package/core/kits/satellite-matter/README.md +0 -40
  234. package/core/kits/satellite-matter/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/206/263/347/255/226.md +0 -7
  235. package/core/kits/satellite-matter/_/347/263/273/347/273/237//344/270/273/345/272/223/345/220/214/346/255/245/README.md +0 -42
  236. package/core/kits/satellite-matter/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md +0 -17
  237. package/core/kits/satellite-matter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/README.md +0 -9
  238. package/core/kits/satellite-matter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/inbox/README.md +0 -5
  239. package/core/kits/satellite-matter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/outbox/README.md +0 -5
  240. package/core/kits/satellite-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277/README.md +0 -17
  241. package/core/kits/satellite-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//344/272/244/346/216/245.md +0 -3
  242. package/core/kits/satellite-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//347/254/224/350/256/260.md +0 -5
  243. package/core/kits/satellite-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//350/277/233/345/272/246.md +0 -5
  244. package/core/kits/satellite-matter//344/272/213/351/241/271//346/263/250/345/206/214/350/241/250.md +0 -16
  245. package/core/kits/satellite-matter//345/217/202/350/200/203/350/265/204/346/226/231/README.md +0 -5
  246. package/core/kits/satellite-matter//350/276/223/345/207/272//347/241/256/350/256/244/346/210/220/346/236/234/README.md +0 -5
  247. package/core/kits/satellite-matter//350/276/223/345/207/272//350/215/211/347/250/277/README.md +0 -5
  248. package/core/kits/satellite-starter/.agents/skills/README.md +0 -5
  249. package/core/kits/satellite-starter/.claude/skills/README.md +0 -5
  250. package/core/kits/satellite-starter/.core-sync.json +0 -31
  251. package/core/kits/satellite-starter/.internal/README.md +0 -5
  252. package/core/kits/satellite-starter/.obsidian/README.md +0 -5
  253. package/core/kits/satellite-starter/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/275/223/345/211/215/351/241/271/347/233/256.md +0 -29
  254. package/core/kits/satellite-starter/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md +0 -17
  255. package/core/kits/satellite-starter/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +0 -8
  256. package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/README.md +0 -9
  257. package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/inbox/README.md +0 -5
  258. package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/outbox/README.md +0 -5
  259. package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +0 -5
  260. package/core/kits/satellite-starter//345/217/202/350/200/203/350/265/204/346/226/231/README.md +0 -5
  261. package/core/kits/satellite-starter//347/237/245/350/257/206/README.md +0 -5
  262. package/core/kits/satellite-starter//350/276/223/345/207/272//347/241/256/350/256/244/346/210/220/346/236/234/README.md +0 -5
  263. package/core/kits/satellite-starter//350/276/223/345/207/272//350/215/211/347/250/277/README.md +0 -5
  264. package/core/presets/local-matter.yaml +0 -14
  265. package/core/presets/local-starter.yaml +0 -12
  266. package/core/presets/satellite-matter.yaml +0 -17
  267. package/core/profiles/en/reference-kits/local-starter/AGENTS.md +0 -23
  268. package/core/profiles/en/reference-kits/local-starter/README.md +0 -23
  269. package/core/profiles/en/reference-kits/local-starter/_system/identity/README.md +0 -5
  270. package/core/profiles/en/reference-kits/local-starter/_system/lessons/README.md +0 -5
  271. package/core/profiles/en/reference-kits/local-starter/_system/tasks/current-work.md +0 -17
  272. package/core/profiles/en/reference-kits/local-starter/outputs/drafts/README.md +0 -5
  273. package/core/profiles/en/reference-kits/local-starter/outputs/final/README.md +0 -5
  274. package/core/profiles/en/reference-kits/local-starter/references/README.md +0 -5
  275. package/core/profiles/en/reference-presets/local-starter.yaml +0 -12
  276. package/core/profiles/en/templates/_system/context/project-status.md +0 -25
  277. package/core/profiles/zh/templates/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//351/241/271/347/233/256/347/212/266/346/200/201.md +0 -25
  278. package/packs/hub-management/seed/zh//351/241/271/347/233/256//350/201/224/347/273/234/README.md +0 -5
  279. /package/core/{capabilities/matter-mode/templates/matters/_matter-template/drafts → kits/hub/.incoming/identity}/.gitkeep +0 -0
  280. /package/core/kits/{local-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//350/215/211/347/250/277/.gitkeep" → hub/.incoming/knowledge/.gitkeep} +0 -0
  281. /package/core/kits/{satellite-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//350/215/211/347/250/277/.gitkeep" → hub/.incoming/lessons/.gitkeep} +0 -0
  282. /package/core/kits/hub/{/351/241/271/347/233/256/registry.json" → projects/registry.json} +0 -0
  283. /package/core/kits/{satellite-matter → project}/CLAUDE.md +0 -0
  284. /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/.agents/skills/README.md +0 -0
  285. /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/.claude/skills/README.md +0 -0
  286. /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/.core-sync.json +0 -0
  287. /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/.internal/README.md +0 -0
  288. /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/.obsidian/README.md +0 -0
  289. /package/core/{kits → legacy/kits}/satellite-starter/CLAUDE.md +0 -0
  290. /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/275/223/345/211/215/351/241/271/347/233/256.md" +0 -0
  291. /package/core/{kits/hub → legacy/kits/satellite-starter}/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md" +0 -0
  292. /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md" +0 -0
  293. /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md" +0 -0
  294. /package/core/{kits/local-matter → legacy/kits/satellite-starter}//345/217/202/350/200/203/350/265/204/346/226/231/README.md" +0 -0
  295. /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}//347/237/245/350/257/206/README.md" +0 -0
  296. /package/core/{kits/local-matter → legacy/kits/satellite-starter}//350/276/223/345/207/272//350/215/211/347/250/277/README.md" +0 -0
  297. /package/{skills → kit-skills}/starworkSpawn/agents/openai.yaml +0 -0
  298. /package/packs/hub-management/seed/zh/{/351/241/271/347/233/256/registry.json" → projects/registry.json} +0 -0
@@ -0,0 +1,631 @@
1
+ <!doctype html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>StarWork Doctor 能力说明</title>
7
+ <style>
8
+ :root {
9
+ --paper: #f7f4ec;
10
+ --paper-2: #ebe5d7;
11
+ --ink: #1d211d;
12
+ --muted: #62675f;
13
+ --line: #cfc7b7;
14
+ --white: #fffdf7;
15
+ --green: #286d4a;
16
+ --green-soft: #d8eadc;
17
+ --amber: #b36b19;
18
+ --amber-soft: #f3dfbd;
19
+ --blue: #2f6286;
20
+ --blue-soft: #d7e4ea;
21
+ --red: #9b3d2c;
22
+ --red-soft: #edd6cf;
23
+ --shadow: 0 18px 50px rgba(47, 43, 34, 0.12);
24
+ }
25
+
26
+ * { box-sizing: border-box; }
27
+
28
+ body {
29
+ margin: 0;
30
+ color: var(--ink);
31
+ background:
32
+ linear-gradient(90deg, rgba(62, 71, 62, 0.052) 1px, transparent 1px),
33
+ linear-gradient(0deg, rgba(62, 71, 62, 0.045) 1px, transparent 1px),
34
+ var(--paper);
35
+ background-size: 34px 34px;
36
+ font-family: "Avenir Next", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
37
+ letter-spacing: 0;
38
+ }
39
+
40
+ code {
41
+ padding: 2px 6px;
42
+ border: 1px solid var(--line);
43
+ border-radius: 6px;
44
+ background: rgba(29, 33, 29, 0.05);
45
+ font-family: "SFMono-Regular", "Menlo", "Consolas", monospace;
46
+ font-size: 0.92em;
47
+ }
48
+
49
+ pre {
50
+ margin: 0;
51
+ padding: 16px;
52
+ overflow: auto;
53
+ border: 1px solid var(--line);
54
+ border-radius: 8px;
55
+ background: #1f231f;
56
+ color: #f7f4ec;
57
+ font-family: "SFMono-Regular", "Menlo", "Consolas", monospace;
58
+ font-size: 13px;
59
+ line-height: 1.65;
60
+ white-space: pre-wrap;
61
+ }
62
+
63
+ .page {
64
+ width: min(1180px, calc(100% - 40px));
65
+ margin: 0 auto;
66
+ padding: 42px 0 72px;
67
+ }
68
+
69
+ .home-link {
70
+ display: inline-flex;
71
+ align-items: center;
72
+ min-height: 34px;
73
+ margin-bottom: 18px;
74
+ padding: 6px 11px;
75
+ border: 1px solid var(--line);
76
+ border-radius: 999px;
77
+ background: rgba(255, 253, 247, 0.75);
78
+ color: var(--muted);
79
+ font-size: 14px;
80
+ font-weight: 800;
81
+ text-decoration: none;
82
+ }
83
+
84
+ .hero {
85
+ display: grid;
86
+ grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
87
+ gap: 28px;
88
+ align-items: stretch;
89
+ min-height: 520px;
90
+ }
91
+
92
+ .hero-copy {
93
+ display: flex;
94
+ flex-direction: column;
95
+ justify-content: space-between;
96
+ padding: 34px 0 30px;
97
+ border-top: 2px solid var(--ink);
98
+ border-bottom: 2px solid var(--ink);
99
+ }
100
+
101
+ .kicker {
102
+ margin: 0 0 20px;
103
+ color: var(--green);
104
+ font-size: 13px;
105
+ font-weight: 900;
106
+ text-transform: uppercase;
107
+ }
108
+
109
+ h1, h2, h3 {
110
+ font-family: Georgia, "Times New Roman", "Songti SC", serif;
111
+ letter-spacing: 0;
112
+ }
113
+
114
+ h1 {
115
+ margin: 0;
116
+ max-width: 820px;
117
+ font-size: clamp(44px, 7.2vw, 86px);
118
+ line-height: 0.98;
119
+ }
120
+
121
+ h2 {
122
+ margin: 0;
123
+ font-size: clamp(30px, 4.4vw, 54px);
124
+ line-height: 1.03;
125
+ }
126
+
127
+ h3 {
128
+ margin: 0 0 12px;
129
+ font-size: 24px;
130
+ line-height: 1.18;
131
+ }
132
+
133
+ .subtitle {
134
+ max-width: 720px;
135
+ margin: 28px 0 0;
136
+ color: var(--muted);
137
+ font-size: 19px;
138
+ line-height: 1.78;
139
+ }
140
+
141
+ .quick-row, .grid-4 {
142
+ display: grid;
143
+ grid-template-columns: repeat(4, minmax(0, 1fr));
144
+ gap: 10px;
145
+ margin-top: 34px;
146
+ }
147
+
148
+ .quick, .panel, .hero-board {
149
+ border-radius: 8px;
150
+ background: rgba(255, 253, 247, 0.82);
151
+ }
152
+
153
+ .quick {
154
+ min-height: 112px;
155
+ padding: 14px;
156
+ border: 1px solid var(--line);
157
+ }
158
+
159
+ .quick b {
160
+ display: block;
161
+ margin-bottom: 8px;
162
+ color: var(--green);
163
+ font-size: 13px;
164
+ }
165
+
166
+ .quick span, .panel p, .panel li, td {
167
+ color: var(--muted);
168
+ font-size: 15px;
169
+ line-height: 1.72;
170
+ }
171
+
172
+ .hero-board {
173
+ padding: 20px;
174
+ display: flex;
175
+ align-items: center;
176
+ border: 2px solid var(--ink);
177
+ background: var(--white);
178
+ box-shadow: var(--shadow);
179
+ }
180
+
181
+ svg {
182
+ display: block;
183
+ width: 100%;
184
+ height: auto;
185
+ }
186
+
187
+ .section {
188
+ margin-top: 70px;
189
+ }
190
+
191
+ .section-header {
192
+ display: flex;
193
+ justify-content: space-between;
194
+ align-items: end;
195
+ gap: 24px;
196
+ margin-bottom: 24px;
197
+ padding-bottom: 14px;
198
+ border-bottom: 2px solid var(--ink);
199
+ }
200
+
201
+ .section-note {
202
+ max-width: 430px;
203
+ margin: 0;
204
+ color: var(--muted);
205
+ font-size: 15px;
206
+ line-height: 1.7;
207
+ }
208
+
209
+ .grid-2 {
210
+ display: grid;
211
+ grid-template-columns: repeat(2, minmax(0, 1fr));
212
+ gap: 16px;
213
+ }
214
+
215
+ .grid-3 {
216
+ display: grid;
217
+ grid-template-columns: repeat(3, minmax(0, 1fr));
218
+ gap: 16px;
219
+ }
220
+
221
+ .panel {
222
+ padding: 20px;
223
+ border: 2px solid var(--ink);
224
+ }
225
+
226
+ .panel.soft {
227
+ border-color: var(--line);
228
+ }
229
+
230
+ .panel p { margin: 0; }
231
+ .panel ul { margin: 12px 0 0; padding-left: 18px; }
232
+
233
+ .badge {
234
+ display: inline-flex;
235
+ align-items: center;
236
+ min-height: 28px;
237
+ margin-bottom: 14px;
238
+ padding: 4px 10px;
239
+ border: 1px solid var(--line);
240
+ border-radius: 999px;
241
+ background: var(--paper);
242
+ color: var(--green);
243
+ font-size: 12px;
244
+ font-weight: 900;
245
+ }
246
+
247
+ .flow {
248
+ display: grid;
249
+ grid-template-columns: repeat(5, minmax(0, 1fr));
250
+ gap: 10px;
251
+ }
252
+
253
+ .flow-step {
254
+ min-height: 150px;
255
+ padding: 18px;
256
+ border: 1px solid var(--line);
257
+ border-radius: 8px;
258
+ background: rgba(255, 253, 247, 0.82);
259
+ }
260
+
261
+ .flow-step strong {
262
+ display: block;
263
+ color: var(--green);
264
+ font-size: 13px;
265
+ margin-bottom: 10px;
266
+ }
267
+
268
+ .flow-step span {
269
+ display: block;
270
+ font-family: Georgia, "Times New Roman", "Songti SC", serif;
271
+ font-size: 23px;
272
+ font-weight: 900;
273
+ line-height: 1.14;
274
+ }
275
+
276
+ .flow-step p {
277
+ margin: 12px 0 0;
278
+ color: var(--muted);
279
+ font-size: 14px;
280
+ line-height: 1.55;
281
+ }
282
+
283
+ table {
284
+ width: 100%;
285
+ border-collapse: collapse;
286
+ overflow: hidden;
287
+ border: 2px solid var(--ink);
288
+ border-radius: 8px;
289
+ background: var(--white);
290
+ }
291
+
292
+ th, td {
293
+ padding: 14px 15px;
294
+ border-bottom: 1px solid var(--line);
295
+ border-right: 1px solid var(--line);
296
+ text-align: left;
297
+ vertical-align: top;
298
+ font-size: 14px;
299
+ line-height: 1.62;
300
+ }
301
+
302
+ th {
303
+ background: var(--paper-2);
304
+ color: var(--ink);
305
+ font-weight: 900;
306
+ }
307
+
308
+ tr:last-child td { border-bottom: 0; }
309
+ th:last-child, td:last-child { border-right: 0; }
310
+
311
+ .level {
312
+ display: inline-flex;
313
+ min-width: 58px;
314
+ justify-content: center;
315
+ padding: 3px 8px;
316
+ border-radius: 999px;
317
+ font-weight: 900;
318
+ font-size: 12px;
319
+ }
320
+
321
+ .pass { background: var(--green-soft); color: var(--green); }
322
+ .info { background: var(--blue-soft); color: var(--blue); }
323
+ .warn { background: var(--amber-soft); color: var(--amber); }
324
+ .fail { background: var(--red-soft); color: var(--red); }
325
+
326
+ .callout {
327
+ margin-top: 16px;
328
+ padding: 18px 20px;
329
+ border: 2px solid var(--ink);
330
+ border-radius: 8px;
331
+ background: var(--amber-soft);
332
+ line-height: 1.72;
333
+ }
334
+
335
+ .callout strong {
336
+ display: block;
337
+ margin-bottom: 6px;
338
+ font-size: 17px;
339
+ }
340
+
341
+ @media (max-width: 980px) {
342
+ .hero, .grid-2, .grid-3 { grid-template-columns: 1fr; }
343
+ .quick-row, .grid-4, .flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
344
+ }
345
+
346
+ @media (max-width: 640px) {
347
+ .page { width: min(100% - 24px, 1180px); padding-top: 24px; }
348
+ .quick-row, .grid-4, .flow { grid-template-columns: 1fr; }
349
+ .section-header { display: block; }
350
+ .section-note { margin-top: 12px; }
351
+ }
352
+ </style>
353
+ </head>
354
+ <body>
355
+ <main class="page">
356
+ <a class="home-link" href="index.html">返回文档中心</a>
357
+
358
+ <section class="hero" aria-labelledby="title">
359
+ <div class="hero-copy">
360
+ <div>
361
+ <p class="kicker">CLI / DOCTOR</p>
362
+ <h1 id="title">Doctor 是工作台体检单</h1>
363
+ <p class="subtitle"><code>starwork doctor</code> 回答两个问题:这个 StarWork 工作台是不是完整;如果是旧目录,它有哪些可以整理成 StarWork 的线索。</p>
364
+ </div>
365
+ <div class="quick-row">
366
+ <div class="quick"><b>健康检查</b><span>检查工作台身份证、入口文件、场景能力、正式成果区和日常工作区。</span></div>
367
+ <div class="quick"><b>历史信号</b><span>识别旧目录线索,推断语言、用途和已有目录分工。</span></div>
368
+ <div class="quick"><b>人类报告</b><span>默认输出给普通用户看的体检结果和结构风险。</span></div>
369
+ <div class="quick"><b>机器输出</b><span><code>--json</code> 输出目录清单和整理线索,给 skill、脚本和后续 repair 使用。</span></div>
370
+ </div>
371
+ </div>
372
+
373
+ <div class="hero-board">
374
+ <svg viewBox="0 0 720 600" role="img" aria-labelledby="hero-svg-title hero-svg-desc">
375
+ <title id="hero-svg-title">Doctor 工作流</title>
376
+ <desc id="hero-svg-desc">Doctor 先定位工作台身份证;存在则做标准健康检查,不存在但像历史模板则输出候选信号。</desc>
377
+ <defs>
378
+ <marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
379
+ <path d="M 0 0 L 10 5 L 0 10 z" fill="#3e473e"></path>
380
+ </marker>
381
+ </defs>
382
+ <rect x="24" y="24" width="672" height="552" rx="10" fill="#f7f4ec" stroke="#1d211d" stroke-width="3"></rect>
383
+ <text x="52" y="72" font-size="28" font-weight="900" fill="#1d211d">starwork doctor</text>
384
+ <text x="52" y="104" font-size="14" fill="#62675f">不是医生开药,而是先把问题说清楚。</text>
385
+ <rect x="84" y="150" width="210" height="78" rx="8" fill="#d7e4ea" stroke="#2f6286" stroke-width="2"></rect>
386
+ <text x="189" y="184" text-anchor="middle" font-size="17" font-weight="900" fill="#2f6286">定位工作区</text>
387
+ <text x="189" y="207" text-anchor="middle" font-size="12" fill="#2f6286">查找工作台身份证</text>
388
+ <line x1="294" y1="189" x2="390" y2="189" stroke="#3e473e" stroke-width="3" marker-end="url(#arrow)"></line>
389
+ <rect x="390" y="150" width="246" height="78" rx="8" fill="#d8eadc" stroke="#286d4a" stroke-width="2"></rect>
390
+ <text x="513" y="184" text-anchor="middle" font-size="17" font-weight="900" fill="#286d4a">标准健康检查</text>
391
+ <text x="513" y="207" text-anchor="middle" font-size="12" fill="#286d4a">入口 / 目录 / 场景能力 / 路径</text>
392
+ <line x1="189" y1="228" x2="189" y2="305" stroke="#3e473e" stroke-width="3" marker-end="url(#arrow)"></line>
393
+ <rect x="84" y="305" width="210" height="82" rx="8" fill="#f3dfbd" stroke="#b36b19" stroke-width="2"></rect>
394
+ <text x="189" y="340" text-anchor="middle" font-size="17" font-weight="900" fill="#b36b19">历史模板诊断</text>
395
+ <text x="189" y="363" text-anchor="middle" font-size="12" fill="#b36b19">references / 输出 / 事项</text>
396
+ <line x1="294" y1="346" x2="390" y2="346" stroke="#3e473e" stroke-width="3" marker-end="url(#arrow)"></line>
397
+ <rect x="390" y="305" width="246" height="82" rx="8" fill="#edd6cf" stroke="#9b3d2c" stroke-width="2"></rect>
398
+ <text x="513" y="340" text-anchor="middle" font-size="17" font-weight="900" fill="#9b3d2c">候选信号</text>
399
+ <text x="513" y="363" text-anchor="middle" font-size="12" fill="#9b3d2c">目录清单 / 线索 / 推测</text>
400
+ <line x1="513" y1="228" x2="513" y2="462" stroke="#3e473e" stroke-width="3" marker-end="url(#arrow)"></line>
401
+ <line x1="513" y1="387" x2="513" y2="462" stroke="#3e473e" stroke-width="3" marker-end="url(#arrow)"></line>
402
+ <rect x="190" y="462" width="340" height="72" rx="8" fill="#fffdf7" stroke="#1d211d" stroke-width="2"></rect>
403
+ <text x="360" y="494" text-anchor="middle" font-size="17" font-weight="900" fill="#1d211d">输出报告</text>
404
+ <text x="360" y="517" text-anchor="middle" font-size="12" fill="#62675f">用户可读报告 + JSON 结构</text>
405
+ </svg>
406
+ </div>
407
+ </section>
408
+
409
+ <section class="section">
410
+ <div class="section-header">
411
+ <h2>两种使用场景</h2>
412
+ <p class="section-note">同一个命令,面对新 StarWork 工作台和历史模板时,回答的问题不一样。</p>
413
+ </div>
414
+ <div class="grid-2">
415
+ <article class="panel">
416
+ <span class="badge">标准工作台</span>
417
+ <h3>检查是否健康</h3>
418
+ <p>当目录里有 <code>.starwork/workspace.json</code>,doctor 会把它当成标准 StarWork 工作台,检查工作台身份证、入口文件、场景能力、正式成果区和日常工作区。</p>
419
+ <ul>
420
+ <li>初始化后检查。</li>
421
+ <li>安装 Pack 前后检查。</li>
422
+ <li>Agent 接手项目前先跑一次。</li>
423
+ </ul>
424
+ </article>
425
+ <article class="panel">
426
+ <span class="badge">历史模板</span>
427
+ <h3>暴露整理线索</h3>
428
+ <p>当目录没有工作台身份证,但有旧模板的痕迹,doctor 会识别它是不是旧目录候选,并把目录结构和候选语义交给 <code>starworkDoctor</code> 判断。</p>
429
+ <ul>
430
+ <li>适合已经在使用旧模板的学员。</li>
431
+ <li>适合用户不确定自己目录结构属于哪一类。</li>
432
+ <li>适合后续设计 <code>upgrade</code> 或 <code>repair</code> 命令。</li>
433
+ </ul>
434
+ </article>
435
+ </div>
436
+ </section>
437
+
438
+ <section class="section">
439
+ <div class="section-header">
440
+ <h2>执行步骤</h2>
441
+ <p class="section-note">Doctor 的顺序很克制:先确认身份,再检查结构,最后只暴露事实和信号。</p>
442
+ </div>
443
+ <div class="flow">
444
+ <div class="flow-step"><strong>01</strong><span>定位目录</span><p>从 <code>--target</code> 或当前目录开始查找工作台根目录。</p></div>
445
+ <div class="flow-step"><strong>02</strong><span>识别状态</span><p>优先读取 <code>.starwork/workspace.json</code>;没有工作台身份证时进入旧目录诊断。</p></div>
446
+ <div class="flow-step"><strong>03</strong><span>检查结构</span><p>检查入口文件、关键目录、场景路径、初始文件和模板文件。</p></div>
447
+ <div class="flow-step"><strong>04</strong><span>输出分级</span><p>每个检查项给出 <code>pass</code>、<code>info</code>、<code>warn</code> 或 <code>fail</code>。</p></div>
448
+ <div class="flow-step"><strong>05</strong><span>暴露信号</span><p>标准工作台给健康结论;旧目录给目录清单、线索和推测。</p></div>
449
+ </div>
450
+ </section>
451
+
452
+ <section class="section">
453
+ <div class="section-header">
454
+ <h2>检查范围</h2>
455
+ <p class="section-note">当前 doctor 以确定性结构检查为主,避免对用户内容做主观判断。</p>
456
+ </div>
457
+ <table>
458
+ <thead><tr><th>范围</th><th>检查什么</th><th>常见失败原因</th></tr></thead>
459
+ <tbody>
460
+ <tr><td>工作台身份证</td><td>工作台版本、类型、语言、场景能力列表、正式成果区、日常工作区。</td><td>缺少 <code>.starwork/workspace.json</code>,或里面缺少关键字段。</td></tr>
461
+ <tr><td>入口和关键文件</td><td><code>AGENTS.md</code>、项目状态、当前工作、正式成果区、日常工作区。</td><td>AI 入口规则被删,项目状态或当前工作文件缺失。</td></tr>
462
+ <tr><td>基础结构</td><td>基础结构源目录是否存在,工作区类型和基础结构是否匹配,必要文件是否完整。</td><td>工作台身份证里的类型写错,或误删必要文件。</td></tr>
463
+ <tr><td>场景能力</td><td>场景能力是否适合当前工作台,相关路径、初始文件和模板是否落地。</td><td>场景初始文件被删,或场景能力不支持当前工作台类型。</td></tr>
464
+ <tr><td>定制方案</td><td>定制工作台的方案格式、定制目录、初始文件、注入规则是否存在。</td><td>定制项目生成后,用户手动删除了定制目录或 AGENTS 规则块。</td></tr>
465
+ <tr><td>旧目录</td><td>历史模板里的入口规则、系统目录、事项、参考资料、输出、身份、教训。</td><td>目录可识别但缺少工作台身份证,需要先升级或补齐。</td></tr>
466
+ </tbody>
467
+ </table>
468
+ </section>
469
+
470
+ <section class="section">
471
+ <div class="section-header">
472
+ <h2>结果分级</h2>
473
+ <p class="section-note">分级决定用户看到的严重程度,也决定命令退出码。</p>
474
+ </div>
475
+ <table>
476
+ <thead><tr><th>级别</th><th>含义</th><th>是否影响退出码</th></tr></thead>
477
+ <tbody>
478
+ <tr><td><span class="level pass">pass</span></td><td>检查通过。</td><td>不影响。</td></tr>
479
+ <tr><td><span class="level info">info</span></td><td>提供上下文信息,例如推断出的语言、工作区类型、参考资料目录。</td><td>不影响。</td></tr>
480
+ <tr><td><span class="level warn">warn</span></td><td>有风险,但工作台仍可继续使用,例如历史模板缺少 AI 入口规则。</td><td>默认不影响;<code>--strict</code> 下影响。</td></tr>
481
+ <tr><td><span class="level fail">fail</span></td><td>缺少关键结构或存在阻塞问题,例如没有工作台身份证、缺少正式成果区、场景初始文件丢失。</td><td>影响,退出码为 <code>1</code>。</td></tr>
482
+ </tbody>
483
+ </table>
484
+ </section>
485
+
486
+ <section class="section">
487
+ <div class="section-header">
488
+ <h2>历史模板升级诊断</h2>
489
+ <p class="section-note">这是当前最重要的新能力:帮已有历史模板的用户找到温和迁移路径。</p>
490
+ </div>
491
+ <div class="grid-2">
492
+ <div class="panel soft">
493
+ <h3>识别信号</h3>
494
+ <ul>
495
+ <li><code>AGENTS.md</code>、<code>CLAUDE.md</code>、<code>.cursorrules</code></li>
496
+ <li><code>_系统/</code>、<code>_system/</code></li>
497
+ <li><code>事项/</code>、<code>matters/</code></li>
498
+ <li><code>参考资料/</code>、<code>references/</code></li>
499
+ <li><code>输出/</code>、<code>outputs/</code></li>
500
+ <li><code>identity/</code>、<code>lessons/</code></li>
501
+ </ul>
502
+ </div>
503
+ <div class="panel soft">
504
+ <h3>推断逻辑</h3>
505
+ <ul>
506
+ <li>中文路径更多,推断为 <code>zh</code>;英文路径更多,推断为 <code>en</code>。</li>
507
+ <li>存在 <code>事项/</code> 或 <code>matters/</code> 时,只记录为历史内容信号。</li>
508
+ <li>非 Hub 候选统一推断为 <code>project</code>。</li>
509
+ <li>不直接判断场景能力贴近度;场景能力只在后续执行层作为候选参数。</li>
510
+ </ul>
511
+ </div>
512
+ </div>
513
+ <div class="callout">
514
+ <strong>关键边界</strong>
515
+ Doctor 不会自动改历史模板。它负责把目录结构和候选信号暴露出来;<code>starworkDoctor</code> skill 负责结合上下文做判断,并在用户确认后生成升级方案。真正写入仍由 <code>starwork upgrade --blueprint</code> 执行。
516
+ </div>
517
+ </section>
518
+
519
+ <section class="section">
520
+ <div class="section-header">
521
+ <h2>Doctor 与 Skill 的分工</h2>
522
+ <p class="section-note">平滑升级需要理性判断,所以 CLI 和 AI Skill 必须分层。</p>
523
+ </div>
524
+ <div class="grid-3">
525
+ <article class="panel soft"><h3>Doctor</h3><p>探测当前目录,输出工作台身份证、目录清单、线索、检查结果和旧目录候选信号;不输出下一步建议。</p></article>
526
+ <article class="panel soft"><h3>starworkDoctor</h3><p>基于 doctor 的事实,判断当前目录分工是否清楚;用户要求升级时,继续确认目录语义并生成升级方案。</p></article>
527
+ <article class="panel soft"><h3>Upgrade</h3><p>在用户确认后执行升级方案中的低风险写入;这里才真正补齐工作台身份证、缺失入口文件和入口规则。</p></article>
528
+ </div>
529
+ </section>
530
+
531
+ <section class="section">
532
+ <div class="section-header">
533
+ <h2>怎么使用</h2>
534
+ <p class="section-note">A 测用户不需要懂 Core,先跑命令,看体检单即可。</p>
535
+ </div>
536
+ <div class="grid-2">
537
+ <div><h3>检查当前目录</h3><pre>starwork doctor</pre></div>
538
+ <div><h3>检查指定目录</h3><pre>starwork doctor --target ~/Desktop/my-workspace</pre></div>
539
+ <div><h3>给 Agent 或脚本读取</h3><pre>starwork doctor --target ~/Desktop/my-workspace --json</pre></div>
540
+ <div><h3>显示所有通过项</h3><pre>starwork doctor --target ~/Desktop/my-workspace --verbose</pre></div>
541
+ </div>
542
+ </section>
543
+
544
+ <section class="section">
545
+ <div class="section-header">
546
+ <h2>JSON 输出</h2>
547
+ <p class="section-note">JSON 是给 Skill、脚本和后续 repair/upgrade 读取的稳定接口。</p>
548
+ </div>
549
+ <div class="grid-2">
550
+ <div>
551
+ <h3>标准工作台</h3>
552
+ <pre>{
553
+ "schema": "starwork.doctor.result.v0.1",
554
+ "ok": true,
555
+ "strict_ok": true,
556
+ "workspace_root": "/path/to/workspace",
557
+ "workspace": {
558
+ "core": "0.1",
559
+ "workspace_type": "project",
560
+ "kit": "project",
561
+ "language": "zh",
562
+ "packs": ["general"]
563
+ },
564
+ "upgrade": null,
565
+ "inventory": {
566
+ "directories": [
567
+ { "path": "资料库", "depth": 1, "children_count": 3 }
568
+ ],
569
+ "files": [
570
+ { "path": "README.md", "depth": 1, "size": 2048 }
571
+ ]
572
+ },
573
+ "signals": {
574
+ "possible_reference_dirs": ["资料库"],
575
+ "possible_output_dirs": [],
576
+ "possible_current_work_dirs": []
577
+ },
578
+ "summary": { "pass": 18, "info": 0, "warn": 0, "fail": 0 },
579
+ "checks": []
580
+ }</pre>
581
+ </div>
582
+ <div>
583
+ <h3>历史模板</h3>
584
+ <pre>{
585
+ "schema": "starwork.doctor.result.v0.1",
586
+ "ok": false,
587
+ "workspace_root": null,
588
+ "workspace": null,
589
+ "upgrade": {
590
+ "candidate": true,
591
+ "source": "legacy-template",
592
+ "confidence": "medium",
593
+ "inferred": {
594
+ "language": "zh",
595
+ "workspace_type": "project",
596
+ "references": ["参考资料"],
597
+ "outputs": ["输出"],
598
+ "reasons": {
599
+ "workspace_type": ["事项 表示存在事项或多线推进推进结构"]
600
+ }
601
+ }
602
+ },
603
+ "inventory": {
604
+ "directories": ["资料库", "成稿", "推进"]
605
+ },
606
+ "signals": {
607
+ "possible_reference_dirs": ["资料库"],
608
+ "possible_output_dirs": ["成稿"],
609
+ "possible_current_work_dirs": ["推进"],
610
+ "readonly_candidate_dirs": ["资料库"],
611
+ "writable_candidate_dirs": ["推进"]
612
+ }
613
+ }</pre>
614
+ </div>
615
+ </div>
616
+ </section>
617
+
618
+ <section class="section">
619
+ <div class="section-header">
620
+ <h2>当前不做什么</h2>
621
+ <p class="section-note">这些边界很重要,避免用户误以为 doctor 会替他动文件。</p>
622
+ </div>
623
+ <div class="grid-3">
624
+ <article class="panel soft"><h3>不自动修复</h3><p>当前没有 <code>--fix</code>。Doctor 只检查和建议,不会静默创建、移动、删除或合并文件。</p></article>
625
+ <article class="panel soft"><h3>不判断内容质量</h3><p>它不会评价文章、课程、业务材料好不好,只看结构和边界是否符合 StarWork。</p></article>
626
+ <article class="panel soft"><h3>不读取远程主库</h3><p>它只检查本地工作区,不去检查云端权限、消息平台、GitHub 状态或主库实时内容。</p></article>
627
+ </div>
628
+ </section>
629
+ </main>
630
+ </body>
631
+ </html>