@jennie-shawn/starwork 0.1.0-alpha.0

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 (228) hide show
  1. package/README.md +18 -0
  2. package/adapters/README.md +5 -0
  3. package/cli/README.md +52 -0
  4. package/cli/adapt-spec.md +61 -0
  5. package/cli/bin/starwork.js +8 -0
  6. package/cli/doctor-spec.md +516 -0
  7. package/cli/init-spec.md +435 -0
  8. package/cli/pack-install-spec.md +63 -0
  9. package/cli/spawn-blueprint-spec.md +657 -0
  10. package/cli/spawn-spec.md +439 -0
  11. package/cli/src/cli.js +1955 -0
  12. package/cli/test/init.test.js +436 -0
  13. package/core/README.md +51 -0
  14. package/core/baseline/README.md +12 -0
  15. package/core/baseline/file-boundaries.md +25 -0
  16. package/core/baseline/health-check.md +27 -0
  17. package/core/baseline/roles.md +26 -0
  18. package/core/baseline/spec.md +47 -0
  19. package/core/capabilities/README.md +15 -0
  20. package/core/capabilities/decisions/capability.md +26 -0
  21. package/core/capabilities/local-identity/capability.md +15 -0
  22. package/core/capabilities/local-identity/templates/identity/README.md +5 -0
  23. package/core/capabilities/local-lessons/capability.md +15 -0
  24. package/core/capabilities/local-lessons/templates/lessons/README.md +5 -0
  25. package/core/capabilities/main-repo-sync/capability.md +133 -0
  26. package/core/capabilities/main-repo-sync/templates/.core-sync.example.json +31 -0
  27. package/core/capabilities/main-repo-sync/templates/.internal/README.md +5 -0
  28. package/core/capabilities/matter-mode/capability.md +46 -0
  29. package/core/capabilities/matter-mode/templates/matters/_matter-template/README.md +17 -0
  30. package/core/capabilities/matter-mode/templates/matters/_matter-template/drafts/.gitkeep +1 -0
  31. package/core/capabilities/matter-mode/templates/matters/_matter-template/handoff.md +3 -0
  32. package/core/capabilities/matter-mode/templates/matters/_matter-template/notes.md +5 -0
  33. package/core/capabilities/matter-mode/templates/matters/_matter-template/progress.md +5 -0
  34. package/core/capabilities/matter-mode/templates/matters/registry.md +16 -0
  35. package/core/capabilities/skill-mount/capability.md +24 -0
  36. package/core/capabilities/starter-outputs/capability.md +25 -0
  37. package/core/capabilities/starter-outputs/templates/outputs/drafts/README.md +5 -0
  38. package/core/capabilities/starter-outputs/templates/outputs/final/README.md +5 -0
  39. package/core/capabilities/starter-outputs/templates/references/README.md +5 -0
  40. package/core/core-v0.1-protocol.md +201 -0
  41. package/core/kits/README.md +15 -0
  42. package/core/kits/hub/.incoming/README.md +5 -0
  43. package/core/kits/hub/AGENTS.md +26 -0
  44. package/core/kits/hub/README.md +25 -0
  45. 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 +24 -0
  46. package/core/kits/hub/_/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
  47. package/core/kits/hub/identity/README.md +5 -0
  48. package/core/kits/hub/lessons/README.md +5 -0
  49. package/core/kits/hub/skills/README.md +5 -0
  50. package/core/kits/hub//347/237/245/350/257/206/README.md +5 -0
  51. package/core/kits/hub//351/241/271/347/233/256/README.md +5 -0
  52. package/core/kits/hub//351/241/271/347/233/256/registry.json +4 -0
  53. package/core/kits/hub//351/241/271/347/233/256//350/201/224/347/273/234/README.md +5 -0
  54. package/core/kits/kit-structure-reference.md +253 -0
  55. package/core/kits/local-matter/AGENTS.md +23 -0
  56. package/core/kits/local-matter/README.md +22 -0
  57. 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 +7 -0
  58. 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 +25 -0
  59. 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 +17 -0
  60. package/core/kits/local-matter/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +5 -0
  61. package/core/kits/local-matter/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +5 -0
  62. 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 +17 -0
  63. 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 +3 -0
  64. 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 +5 -0
  65. 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 +1 -0
  66. 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 +5 -0
  67. package/core/kits/local-matter//344/272/213/351/241/271//346/263/250/345/206/214/350/241/250.md +16 -0
  68. package/core/kits/local-matter//345/217/202/350/200/203/350/265/204/346/226/231/README.md +5 -0
  69. 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 +5 -0
  70. package/core/kits/local-matter//350/276/223/345/207/272//350/215/211/347/250/277/README.md +5 -0
  71. package/core/kits/local-starter/AGENTS.md +23 -0
  72. package/core/kits/local-starter/README.md +23 -0
  73. 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 +25 -0
  74. 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 +17 -0
  75. package/core/kits/local-starter/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +5 -0
  76. package/core/kits/local-starter/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +5 -0
  77. package/core/kits/local-starter//345/217/202/350/200/203/350/265/204/346/226/231/README.md +5 -0
  78. 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 +5 -0
  79. package/core/kits/local-starter//350/276/223/345/207/272//350/215/211/347/250/277/README.md +5 -0
  80. package/core/kits/satellite-matter/.agents/skills/README.md +5 -0
  81. package/core/kits/satellite-matter/.claude/skills/README.md +5 -0
  82. package/core/kits/satellite-matter/.core-sync.json +31 -0
  83. package/core/kits/satellite-matter/.internal/README.md +5 -0
  84. package/core/kits/satellite-matter/.obsidian/README.md +5 -0
  85. package/core/kits/satellite-matter/AGENTS.md +27 -0
  86. package/core/kits/satellite-matter/CLAUDE.md +5 -0
  87. package/core/kits/satellite-matter/README.md +40 -0
  88. 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 +7 -0
  89. package/core/kits/satellite-matter/_/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 +29 -0
  90. 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 +42 -0
  91. 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 +17 -0
  92. package/core/kits/satellite-matter/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +8 -0
  93. package/core/kits/satellite-matter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/README.md +9 -0
  94. package/core/kits/satellite-matter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/inbox/README.md +5 -0
  95. package/core/kits/satellite-matter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/outbox/README.md +5 -0
  96. package/core/kits/satellite-matter/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +5 -0
  97. 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 +17 -0
  98. 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 +3 -0
  99. 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 +5 -0
  100. 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 +1 -0
  101. 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 +5 -0
  102. package/core/kits/satellite-matter//344/272/213/351/241/271//346/263/250/345/206/214/350/241/250.md +16 -0
  103. package/core/kits/satellite-matter//345/217/202/350/200/203/350/265/204/346/226/231/README.md +5 -0
  104. package/core/kits/satellite-matter//347/237/245/350/257/206/README.md +5 -0
  105. 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 +5 -0
  106. package/core/kits/satellite-matter//350/276/223/345/207/272//350/215/211/347/250/277/README.md +5 -0
  107. package/core/kits/satellite-starter/.agents/skills/README.md +5 -0
  108. package/core/kits/satellite-starter/.claude/skills/README.md +5 -0
  109. package/core/kits/satellite-starter/.core-sync.json +31 -0
  110. package/core/kits/satellite-starter/.internal/README.md +5 -0
  111. package/core/kits/satellite-starter/.obsidian/README.md +5 -0
  112. package/core/kits/satellite-starter/AGENTS.md +25 -0
  113. package/core/kits/satellite-starter/CLAUDE.md +5 -0
  114. package/core/kits/satellite-starter/README.md +42 -0
  115. 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 +29 -0
  116. package/core/kits/satellite-starter/_/347/263/273/347/273/237//344/270/273/345/272/223/345/220/214/346/255/245/README.md +40 -0
  117. 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 +17 -0
  118. package/core/kits/satellite-starter/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +8 -0
  119. package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/README.md +9 -0
  120. package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/inbox/README.md +5 -0
  121. package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/outbox/README.md +5 -0
  122. package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +5 -0
  123. package/core/kits/satellite-starter//345/217/202/350/200/203/350/265/204/346/226/231/README.md +5 -0
  124. package/core/kits/satellite-starter//347/237/245/350/257/206/README.md +5 -0
  125. 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 +5 -0
  126. package/core/kits/satellite-starter//350/276/223/345/207/272//350/215/211/347/250/277/README.md +5 -0
  127. package/core/presets/README.md +26 -0
  128. package/core/presets/hub.yaml +10 -0
  129. package/core/presets/local-matter.yaml +14 -0
  130. package/core/presets/local-starter.yaml +12 -0
  131. package/core/presets/satellite-matter.yaml +17 -0
  132. package/core/presets/satellite-starter.yaml +15 -0
  133. package/core/profiles/README.md +18 -0
  134. package/core/profiles/en/labels.json +26 -0
  135. package/core/profiles/en/paths.json +21 -0
  136. package/core/profiles/en/profile.md +22 -0
  137. package/core/profiles/en/reference-kits/local-starter/AGENTS.md +23 -0
  138. package/core/profiles/en/reference-kits/local-starter/README.md +23 -0
  139. package/core/profiles/en/reference-kits/local-starter/_system/context/project-status.md +25 -0
  140. package/core/profiles/en/reference-kits/local-starter/_system/identity/README.md +5 -0
  141. package/core/profiles/en/reference-kits/local-starter/_system/lessons/README.md +5 -0
  142. package/core/profiles/en/reference-kits/local-starter/_system/tasks/current-work.md +17 -0
  143. package/core/profiles/en/reference-kits/local-starter/outputs/drafts/README.md +5 -0
  144. package/core/profiles/en/reference-kits/local-starter/outputs/final/README.md +5 -0
  145. package/core/profiles/en/reference-kits/local-starter/references/README.md +5 -0
  146. package/core/profiles/en/reference-presets/local-starter.yaml +12 -0
  147. package/core/profiles/en/templates/AGENTS.md +23 -0
  148. package/core/profiles/en/templates/_system/context/project-status.md +25 -0
  149. package/core/profiles/en/templates/_system/tasks/current-work.md +17 -0
  150. package/core/profiles/zh/labels.json +26 -0
  151. package/core/profiles/zh/paths.json +21 -0
  152. package/core/profiles/zh/profile.md +22 -0
  153. package/core/profiles/zh/templates/AGENTS.md +23 -0
  154. 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 +25 -0
  155. package/core/profiles/zh/templates/_/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
  156. package/docs/README.md +18 -0
  157. package/docs/alpha-test-guide.md +124 -0
  158. package/docs/cli-capabilities.html +1088 -0
  159. package/docs/hub-management.html +750 -0
  160. package/docs/index.html +228 -0
  161. package/docs/product-direction.md +64 -0
  162. package/docs/product-shape-business-model.html +1024 -0
  163. package/docs/roadmap.html +899 -0
  164. package/docs/roadmap.md +272 -0
  165. package/docs/v0.1-plan.md +109 -0
  166. package/examples/README.md +3 -0
  167. package/package.json +32 -0
  168. package/packs/README.md +24 -0
  169. package/packs/content-creator/README.md +38 -0
  170. package/packs/content-creator/languages/en.json +40 -0
  171. package/packs/content-creator/languages/zh.json +40 -0
  172. package/packs/content-creator/pack.json +41 -0
  173. package/packs/content-creator/rules/en/file-boundaries.md +10 -0
  174. package/packs/content-creator/rules/en/overview.md +9 -0
  175. package/packs/content-creator/rules/en/review.md +13 -0
  176. package/packs/content-creator/rules/en/workflow.md +8 -0
  177. package/packs/content-creator/rules/zh/file-boundaries.md +10 -0
  178. package/packs/content-creator/rules/zh/overview.md +9 -0
  179. package/packs/content-creator/rules/zh/review.md +13 -0
  180. package/packs/content-creator/rules/zh/workflow.md +8 -0
  181. package/packs/content-creator/seed/en/account-profile/README.md +3 -0
  182. package/packs/content-creator/seed/en/analytics-review/README.md +3 -0
  183. package/packs/content-creator/seed/en/drafts-and-scripts/README.md +3 -0
  184. package/packs/content-creator/seed/en/ideas/README.md +3 -0
  185. package/packs/content-creator/seed/en/materials/README.md +3 -0
  186. package/packs/content-creator/seed/en/published/README.md +3 -0
  187. package/packs/content-creator/seed/zh//345/217/221/345/270/203/350/256/260/345/275/225/README.md +5 -0
  188. package/packs/content-creator/seed/zh//346/225/260/346/215/256/345/244/215/347/233/230/README.md +3 -0
  189. package/packs/content-creator/seed/zh//347/264/240/346/235/220/345/272/223/README.md +5 -0
  190. package/packs/content-creator/seed/zh//350/215/211/347/250/277/344/270/216/350/204/232/346/234/254/README.md +5 -0
  191. package/packs/content-creator/seed/zh//350/264/246/345/217/267/345/256/232/344/275/215/README.md +3 -0
  192. package/packs/content-creator/seed/zh//351/200/211/351/242/230/346/261/240/README.md +3 -0
  193. package/packs/content-creator/templates/en/content-brief.md +21 -0
  194. package/packs/content-creator/templates/en/publish-record.md +23 -0
  195. package/packs/content-creator/templates/en/weekly-review.md +21 -0
  196. package/packs/content-creator/templates/zh/content-brief.md +30 -0
  197. package/packs/content-creator/templates/zh/publish-record.md +21 -0
  198. package/packs/content-creator/templates/zh/weekly-review.md +22 -0
  199. package/packs/general/README.md +5 -0
  200. package/packs/general/languages/en.json +19 -0
  201. package/packs/general/languages/zh.json +19 -0
  202. package/packs/general/pack.json +20 -0
  203. package/packs/general/rules/en/overview.md +7 -0
  204. package/packs/general/rules/en/workflow.md +6 -0
  205. package/packs/general/rules/zh/overview.md +7 -0
  206. package/packs/general/rules/zh/workflow.md +6 -0
  207. package/packs/hub-management/README.md +5 -0
  208. package/packs/hub-management/languages/en.json +27 -0
  209. package/packs/hub-management/languages/zh.json +27 -0
  210. package/packs/hub-management/pack.json +28 -0
  211. package/packs/hub-management/rules/en/overview.md +7 -0
  212. package/packs/hub-management/rules/en/workflow.md +6 -0
  213. package/packs/hub-management/rules/zh/overview.md +7 -0
  214. package/packs/hub-management/rules/zh/workflow.md +6 -0
  215. package/packs/hub-management/seed/en/.incoming/README.md +3 -0
  216. package/packs/hub-management/seed/en/projects/coordination/README.md +5 -0
  217. package/packs/hub-management/seed/en/projects/registry.json +4 -0
  218. package/packs/hub-management/seed/zh/.incoming/README.md +5 -0
  219. package/packs/hub-management/seed/zh//351/241/271/347/233/256/registry.json +4 -0
  220. package/packs/hub-management/seed/zh//351/241/271/347/233/256//350/201/224/347/273/234/README.md +5 -0
  221. package/packs/pack-structure-spec.md +315 -0
  222. package/schemas/README.md +3 -0
  223. package/skills/README.md +17 -0
  224. package/skills/starworkInit/SKILL.md +289 -0
  225. package/skills/starworkInit/agents/openai.yaml +7 -0
  226. package/skills/starworkInit-spec.md +585 -0
  227. package/skills/starworkSpawn/SKILL.md +136 -0
  228. package/skills/starworkSpawn/agents/openai.yaml +7 -0
@@ -0,0 +1,899 @@
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 产品里程碑</title>
7
+ <style>
8
+ :root {
9
+ --paper: #f7f4ec;
10
+ --paper-2: #ebe5d7;
11
+ --ink: #1d211d;
12
+ --muted: #61675f;
13
+ --line: #cfc7b7;
14
+ --line-strong: #3e473e;
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
+ --white: #fffdf7;
24
+ --shadow: 0 18px 50px rgba(47, 43, 34, 0.13);
25
+ }
26
+
27
+ * {
28
+ box-sizing: border-box;
29
+ }
30
+
31
+ html {
32
+ scroll-behavior: smooth;
33
+ }
34
+
35
+ body {
36
+ margin: 0;
37
+ color: var(--ink);
38
+ background:
39
+ linear-gradient(90deg, rgba(62, 71, 62, 0.05) 1px, transparent 1px),
40
+ linear-gradient(0deg, rgba(62, 71, 62, 0.04) 1px, transparent 1px),
41
+ var(--paper);
42
+ background-size: 36px 36px;
43
+ font-family: "Avenir Next", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
44
+ letter-spacing: 0;
45
+ }
46
+
47
+ a {
48
+ color: inherit;
49
+ }
50
+
51
+ .page {
52
+ width: min(1180px, calc(100% - 40px));
53
+ margin: 0 auto;
54
+ padding: 44px 0 64px;
55
+ }
56
+
57
+ .hero {
58
+ display: grid;
59
+ grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr);
60
+ gap: 28px;
61
+ align-items: stretch;
62
+ min-height: 520px;
63
+ }
64
+
65
+ .hero-copy {
66
+ padding: 36px 0 28px;
67
+ display: flex;
68
+ flex-direction: column;
69
+ justify-content: space-between;
70
+ border-top: 2px solid var(--ink);
71
+ border-bottom: 2px solid var(--ink);
72
+ }
73
+
74
+ .kicker {
75
+ margin: 0 0 22px;
76
+ color: var(--green);
77
+ font-size: 14px;
78
+ font-weight: 800;
79
+ text-transform: uppercase;
80
+ }
81
+
82
+ h1 {
83
+ margin: 0;
84
+ max-width: 820px;
85
+ font-family: Georgia, "Times New Roman", serif;
86
+ font-size: clamp(42px, 8vw, 92px);
87
+ line-height: 0.96;
88
+ font-weight: 700;
89
+ letter-spacing: 0;
90
+ }
91
+
92
+ .subtitle {
93
+ max-width: 640px;
94
+ margin: 28px 0 0;
95
+ color: var(--muted);
96
+ font-size: 19px;
97
+ line-height: 1.75;
98
+ }
99
+
100
+ .answer-strip {
101
+ display: grid;
102
+ grid-template-columns: repeat(3, minmax(0, 1fr));
103
+ gap: 10px;
104
+ margin-top: 34px;
105
+ }
106
+
107
+ .answer {
108
+ padding: 14px 16px;
109
+ border: 1px solid var(--line);
110
+ background: rgba(255, 253, 247, 0.72);
111
+ border-radius: 8px;
112
+ }
113
+
114
+ .answer b {
115
+ display: block;
116
+ margin-bottom: 6px;
117
+ font-size: 13px;
118
+ color: var(--green);
119
+ }
120
+
121
+ .answer span {
122
+ color: var(--ink);
123
+ font-size: 15px;
124
+ line-height: 1.45;
125
+ }
126
+
127
+ .hero-map {
128
+ background: var(--white);
129
+ border: 2px solid var(--ink);
130
+ border-radius: 8px;
131
+ box-shadow: var(--shadow);
132
+ padding: 20px;
133
+ display: flex;
134
+ align-items: center;
135
+ min-height: 520px;
136
+ }
137
+
138
+ .hero-map svg {
139
+ width: 100%;
140
+ height: auto;
141
+ display: block;
142
+ }
143
+
144
+ .section {
145
+ margin-top: 70px;
146
+ }
147
+
148
+ .section-header {
149
+ display: flex;
150
+ justify-content: space-between;
151
+ align-items: end;
152
+ gap: 24px;
153
+ margin-bottom: 22px;
154
+ padding-bottom: 14px;
155
+ border-bottom: 2px solid var(--ink);
156
+ }
157
+
158
+ h2 {
159
+ margin: 0;
160
+ font-family: Georgia, "Times New Roman", serif;
161
+ font-size: clamp(28px, 4vw, 52px);
162
+ line-height: 1.05;
163
+ letter-spacing: 0;
164
+ }
165
+
166
+ .section-note {
167
+ max-width: 460px;
168
+ margin: 0;
169
+ color: var(--muted);
170
+ line-height: 1.7;
171
+ font-size: 15px;
172
+ }
173
+
174
+ .milestone-grid {
175
+ display: grid;
176
+ grid-template-columns: repeat(3, minmax(0, 1fr));
177
+ gap: 14px;
178
+ }
179
+
180
+ .milestone {
181
+ min-height: 245px;
182
+ padding: 18px;
183
+ background: rgba(255, 253, 247, 0.78);
184
+ border: 1px solid var(--line);
185
+ border-radius: 8px;
186
+ display: flex;
187
+ flex-direction: column;
188
+ gap: 14px;
189
+ }
190
+
191
+ .milestone.done {
192
+ border-color: rgba(40, 109, 74, 0.45);
193
+ background: var(--green-soft);
194
+ }
195
+
196
+ .milestone.now {
197
+ border: 2px solid var(--amber);
198
+ background: var(--amber-soft);
199
+ box-shadow: 0 12px 28px rgba(179, 107, 25, 0.13);
200
+ }
201
+
202
+ .milestone.future {
203
+ background: rgba(255, 253, 247, 0.64);
204
+ }
205
+
206
+ .milestone-top {
207
+ display: flex;
208
+ justify-content: space-between;
209
+ align-items: center;
210
+ gap: 12px;
211
+ }
212
+
213
+ .code {
214
+ width: 48px;
215
+ height: 48px;
216
+ border: 2px solid currentColor;
217
+ display: grid;
218
+ place-items: center;
219
+ border-radius: 8px;
220
+ font-weight: 900;
221
+ font-size: 17px;
222
+ }
223
+
224
+ .status {
225
+ display: inline-flex;
226
+ align-items: center;
227
+ min-height: 30px;
228
+ padding: 5px 10px;
229
+ border-radius: 999px;
230
+ border: 1px solid currentColor;
231
+ font-size: 13px;
232
+ font-weight: 800;
233
+ white-space: nowrap;
234
+ }
235
+
236
+ .done .status,
237
+ .done .code {
238
+ color: var(--green);
239
+ }
240
+
241
+ .now .status,
242
+ .now .code {
243
+ color: var(--amber);
244
+ }
245
+
246
+ .future .status,
247
+ .future .code {
248
+ color: var(--blue);
249
+ }
250
+
251
+ .milestone h3 {
252
+ margin: 0;
253
+ font-size: 22px;
254
+ line-height: 1.25;
255
+ letter-spacing: 0;
256
+ }
257
+
258
+ .milestone p {
259
+ margin: 0;
260
+ color: var(--muted);
261
+ font-size: 15px;
262
+ line-height: 1.65;
263
+ }
264
+
265
+ .milestone ul {
266
+ margin: auto 0 0;
267
+ padding: 0;
268
+ list-style: none;
269
+ display: grid;
270
+ gap: 7px;
271
+ color: var(--ink);
272
+ font-size: 14px;
273
+ line-height: 1.45;
274
+ }
275
+
276
+ .milestone li {
277
+ position: relative;
278
+ padding-left: 16px;
279
+ }
280
+
281
+ .milestone li::before {
282
+ content: "";
283
+ position: absolute;
284
+ left: 0;
285
+ top: 0.72em;
286
+ width: 7px;
287
+ height: 7px;
288
+ transform: translateY(-50%);
289
+ background: currentColor;
290
+ border-radius: 50%;
291
+ opacity: 0.7;
292
+ }
293
+
294
+ .focus-layout {
295
+ display: grid;
296
+ grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1.1fr);
297
+ gap: 22px;
298
+ align-items: stretch;
299
+ }
300
+
301
+ .focus-copy {
302
+ padding: 24px;
303
+ border-radius: 8px;
304
+ border: 2px solid var(--line-strong);
305
+ background: var(--white);
306
+ box-shadow: var(--shadow);
307
+ }
308
+
309
+ .focus-copy h3 {
310
+ margin: 0 0 16px;
311
+ font-family: Georgia, "Times New Roman", serif;
312
+ font-size: 34px;
313
+ line-height: 1.08;
314
+ letter-spacing: 0;
315
+ }
316
+
317
+ .focus-copy p {
318
+ margin: 0 0 16px;
319
+ color: var(--muted);
320
+ font-size: 17px;
321
+ line-height: 1.75;
322
+ }
323
+
324
+ .priority {
325
+ display: grid;
326
+ gap: 10px;
327
+ margin-top: 20px;
328
+ }
329
+
330
+ .priority-item {
331
+ display: grid;
332
+ grid-template-columns: 42px 1fr;
333
+ gap: 12px;
334
+ align-items: start;
335
+ padding: 12px;
336
+ border: 1px solid var(--line);
337
+ border-radius: 8px;
338
+ background: var(--paper);
339
+ }
340
+
341
+ .priority-number {
342
+ width: 42px;
343
+ height: 42px;
344
+ display: grid;
345
+ place-items: center;
346
+ border-radius: 8px;
347
+ background: var(--ink);
348
+ color: var(--paper);
349
+ font-weight: 900;
350
+ }
351
+
352
+ .priority-item b {
353
+ display: block;
354
+ margin-bottom: 4px;
355
+ font-size: 17px;
356
+ }
357
+
358
+ .priority-item span {
359
+ color: var(--muted);
360
+ line-height: 1.55;
361
+ font-size: 15px;
362
+ }
363
+
364
+ .focus-svg {
365
+ padding: 20px;
366
+ border: 1px solid var(--line);
367
+ border-radius: 8px;
368
+ background: rgba(255, 253, 247, 0.74);
369
+ }
370
+
371
+ .focus-svg svg {
372
+ width: 100%;
373
+ height: auto;
374
+ display: block;
375
+ }
376
+
377
+ .legend {
378
+ display: flex;
379
+ flex-wrap: wrap;
380
+ gap: 10px;
381
+ margin-top: 12px;
382
+ color: var(--muted);
383
+ font-size: 14px;
384
+ }
385
+
386
+ .legend span {
387
+ display: inline-flex;
388
+ align-items: center;
389
+ gap: 7px;
390
+ }
391
+
392
+ .legend i {
393
+ width: 13px;
394
+ height: 13px;
395
+ border-radius: 3px;
396
+ display: inline-block;
397
+ }
398
+
399
+ .release-band {
400
+ display: grid;
401
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
402
+ gap: 18px;
403
+ }
404
+
405
+ .release-block {
406
+ padding: 24px;
407
+ border-radius: 8px;
408
+ background: var(--white);
409
+ border: 1px solid var(--line);
410
+ }
411
+
412
+ .release-block h3 {
413
+ margin: 0 0 12px;
414
+ font-size: 24px;
415
+ }
416
+
417
+ .release-block p {
418
+ margin: 0;
419
+ color: var(--muted);
420
+ line-height: 1.7;
421
+ }
422
+
423
+ .tag-list {
424
+ margin-top: 16px;
425
+ display: flex;
426
+ flex-wrap: wrap;
427
+ gap: 8px;
428
+ }
429
+
430
+ .tag-list span {
431
+ padding: 7px 10px;
432
+ border: 1px solid var(--line);
433
+ border-radius: 999px;
434
+ background: var(--paper);
435
+ font-size: 14px;
436
+ font-weight: 700;
437
+ }
438
+
439
+ .footer {
440
+ margin-top: 70px;
441
+ padding-top: 18px;
442
+ border-top: 2px solid var(--ink);
443
+ color: var(--muted);
444
+ line-height: 1.7;
445
+ font-size: 14px;
446
+ }
447
+
448
+ code {
449
+ padding: 2px 6px;
450
+ border: 1px solid var(--line);
451
+ border-radius: 6px;
452
+ background: rgba(29, 33, 29, 0.05);
453
+ font-family: "SFMono-Regular", "Menlo", "Consolas", monospace;
454
+ font-size: 0.92em;
455
+ }
456
+
457
+ @media (max-width: 920px) {
458
+ .hero,
459
+ .focus-layout,
460
+ .release-band {
461
+ grid-template-columns: 1fr;
462
+ }
463
+
464
+ .hero {
465
+ min-height: auto;
466
+ }
467
+
468
+ .hero-map {
469
+ min-height: auto;
470
+ }
471
+
472
+ .answer-strip,
473
+ .milestone-grid {
474
+ grid-template-columns: 1fr;
475
+ }
476
+
477
+ .section-header {
478
+ display: block;
479
+ }
480
+
481
+ .section-note {
482
+ margin-top: 12px;
483
+ }
484
+ }
485
+
486
+ @media (max-width: 560px) {
487
+ .page {
488
+ width: min(100% - 24px, 1180px);
489
+ padding-top: 24px;
490
+ }
491
+
492
+ .hero-copy {
493
+ padding-top: 24px;
494
+ }
495
+
496
+ .answer {
497
+ padding: 12px;
498
+ }
499
+
500
+ .milestone,
501
+ .focus-copy,
502
+ .release-block {
503
+ padding: 16px;
504
+ }
505
+ }
506
+ </style>
507
+ </head>
508
+ <body>
509
+ <main class="page">
510
+ <section class="hero" aria-labelledby="page-title">
511
+ <div class="hero-copy">
512
+ <div>
513
+ <p class="kicker">StarWork Product Roadmap</p>
514
+ <h1 id="page-title">产品里程碑</h1>
515
+ <p class="subtitle">
516
+ 这张图回答的是:StarWork 从现在到 v0.1 发布、再到 v0.2 扩展和 v1.0 稳定产品,应该按什么顺序推进。
517
+ </p>
518
+ </div>
519
+
520
+ <div class="answer-strip" aria-label="当前判断">
521
+ <div class="answer">
522
+ <b>已经完成</b>
523
+ <span>Core、Kit、CLI、Pack 的基本定位已经收敛。</span>
524
+ </div>
525
+ <div class="answer">
526
+ <b>正在推进</b>
527
+ <span>CLI v0.1 最小闭环已完成,进入首个场景 Pack。</span>
528
+ </div>
529
+ <div class="answer">
530
+ <b>不要跑偏</b>
531
+ <span>先跑通生成、检查、适配、Pack 安装,再扩张能力。</span>
532
+ </div>
533
+ </div>
534
+ </div>
535
+
536
+ <div class="hero-map" aria-label="StarWork 里程碑总路线图">
537
+ <svg viewBox="0 0 560 720" role="img" aria-labelledby="roadmap-title roadmap-desc">
538
+ <title id="roadmap-title">StarWork 从 M0 到 M8 的路线图</title>
539
+ <desc id="roadmap-desc">M0 已完成,M1 已封版,M2 已完成,M3 正在进行,M4 到 M8 待推进。</desc>
540
+ <defs>
541
+ <marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
542
+ <path d="M 0 0 L 10 5 L 0 10 z" fill="#3e473e"></path>
543
+ </marker>
544
+ </defs>
545
+
546
+ <rect x="8" y="8" width="544" height="704" rx="8" fill="#fffdf7" stroke="#1d211d" stroke-width="3"></rect>
547
+ <text x="36" y="54" font-size="26" font-weight="800" fill="#1d211d">总路线</text>
548
+ <text x="36" y="82" font-size="14" fill="#61675f">从协议地基,到 CLI 闭环,再到场景 Pack 和发布。</text>
549
+
550
+ <path d="M 92 140 C 180 140, 192 188, 280 188 S 380 236, 468 236
551
+ M 468 236 C 380 236, 368 284, 280 284 S 180 332, 92 332
552
+ M 92 332 C 180 332, 192 380, 280 380 S 380 428, 468 428
553
+ M 468 428 C 380 428, 368 476, 280 476 S 180 524, 92 524
554
+ M 92 524 C 180 524, 192 572, 280 572 S 380 620, 468 620"
555
+ fill="none" stroke="#3e473e" stroke-width="4" stroke-linecap="round" marker-end="url(#arrow)"></path>
556
+
557
+ <g transform="translate(48 116)">
558
+ <rect width="88" height="48" rx="8" fill="#d8eadc" stroke="#286d4a" stroke-width="2"></rect>
559
+ <text x="44" y="21" text-anchor="middle" font-size="14" font-weight="900" fill="#286d4a">M0</text>
560
+ <text x="44" y="38" text-anchor="middle" font-size="12" fill="#286d4a">已完成</text>
561
+ </g>
562
+ <g transform="translate(236 164)">
563
+ <rect width="88" height="48" rx="8" fill="#d8eadc" stroke="#286d4a" stroke-width="2"></rect>
564
+ <text x="44" y="21" text-anchor="middle" font-size="14" font-weight="900" fill="#286d4a">M1</text>
565
+ <text x="44" y="38" text-anchor="middle" font-size="12" fill="#286d4a">已封版</text>
566
+ </g>
567
+ <g transform="translate(424 212)">
568
+ <rect width="88" height="48" rx="8" fill="#d8eadc" stroke="#286d4a" stroke-width="2"></rect>
569
+ <text x="44" y="21" text-anchor="middle" font-size="14" font-weight="900" fill="#286d4a">M2</text>
570
+ <text x="44" y="38" text-anchor="middle" font-size="12" fill="#286d4a">已完成</text>
571
+ </g>
572
+ <g transform="translate(236 260)">
573
+ <rect width="88" height="48" rx="8" fill="#f3dfbd" stroke="#b36b19" stroke-width="3"></rect>
574
+ <text x="44" y="21" text-anchor="middle" font-size="14" font-weight="900" fill="#b36b19">M3</text>
575
+ <text x="44" y="38" text-anchor="middle" font-size="12" fill="#b36b19">进行中</text>
576
+ </g>
577
+ <g transform="translate(48 308)">
578
+ <rect width="88" height="48" rx="8" fill="#d7e4ea" stroke="#2f6286" stroke-width="2"></rect>
579
+ <text x="44" y="21" text-anchor="middle" font-size="14" font-weight="900" fill="#2f6286">M4</text>
580
+ <text x="44" y="38" text-anchor="middle" font-size="12" fill="#2f6286">Demo</text>
581
+ </g>
582
+ <g transform="translate(236 356)">
583
+ <rect width="88" height="48" rx="8" fill="#d7e4ea" stroke="#2f6286" stroke-width="2"></rect>
584
+ <text x="44" y="21" text-anchor="middle" font-size="14" font-weight="900" fill="#2f6286">M5</text>
585
+ <text x="44" y="38" text-anchor="middle" font-size="12" fill="#2f6286">内测</text>
586
+ </g>
587
+ <g transform="translate(424 404)">
588
+ <rect width="88" height="48" rx="8" fill="#d7e4ea" stroke="#2f6286" stroke-width="2"></rect>
589
+ <text x="44" y="21" text-anchor="middle" font-size="14" font-weight="900" fill="#2f6286">M6</text>
590
+ <text x="44" y="38" text-anchor="middle" font-size="12" fill="#2f6286">发布</text>
591
+ </g>
592
+ <g transform="translate(236 548)">
593
+ <rect width="88" height="48" rx="8" fill="#d7e4ea" stroke="#2f6286" stroke-width="2"></rect>
594
+ <text x="44" y="21" text-anchor="middle" font-size="14" font-weight="900" fill="#2f6286">M7</text>
595
+ <text x="44" y="38" text-anchor="middle" font-size="12" fill="#2f6286">扩展</text>
596
+ </g>
597
+ <g transform="translate(424 596)">
598
+ <rect width="88" height="48" rx="8" fill="#d7e4ea" stroke="#2f6286" stroke-width="2"></rect>
599
+ <text x="44" y="21" text-anchor="middle" font-size="14" font-weight="900" fill="#2f6286">M8</text>
600
+ <text x="44" y="38" text-anchor="middle" font-size="12" fill="#2f6286">稳定</text>
601
+ </g>
602
+
603
+ <text x="36" y="682" font-size="13" fill="#61675f">当前重心:M3 Content Creator Pack v0.1。</text>
604
+ </svg>
605
+ </div>
606
+ </section>
607
+
608
+ <section class="section" aria-labelledby="milestones-title">
609
+ <div class="section-header">
610
+ <h2 id="milestones-title">阶段拆解</h2>
611
+ <p class="section-note">绿色表示已完成或基本完成,黄色表示正在推进,蓝色表示后续阶段。每个阶段只保留目标、状态和过关标准。</p>
612
+ </div>
613
+
614
+ <div class="milestone-grid">
615
+ <article class="milestone done">
616
+ <div class="milestone-top">
617
+ <div class="code">M0</div>
618
+ <span class="status">已完成</span>
619
+ </div>
620
+ <h3>项目地基</h3>
621
+ <p>建立正式产品项目,不再混用课程项目和旧 Runtime spike。</p>
622
+ <ul>
623
+ <li><code>product/</code> 是产品事实源</li>
624
+ <li><code>matters/</code> 是推进过程</li>
625
+ <li>Product 仓库已经独立</li>
626
+ </ul>
627
+ </article>
628
+
629
+ <article class="milestone done">
630
+ <div class="milestone-top">
631
+ <div class="code">M1</div>
632
+ <span class="status">已封版</span>
633
+ </div>
634
+ <h3>Core v0.1</h3>
635
+ <p>最小工作区协议已冻结,后续作为 CLI 检查、适配和 Pack 安装的基础。</p>
636
+ <ul>
637
+ <li>中文协议入口已形成</li>
638
+ <li>五类 Kit 已收敛</li>
639
+ <li>v0.1 不再继续扩张 Core 范围</li>
640
+ </ul>
641
+ </article>
642
+
643
+ <article class="milestone done">
644
+ <div class="milestone-top">
645
+ <div class="code">M2</div>
646
+ <span class="status">已完成</span>
647
+ </div>
648
+ <h3>CLI v0.1</h3>
649
+ <p>让用户不用理解 Core 内部结构,也能初始化、检查、适配和安装 Pack。</p>
650
+ <ul>
651
+ <li><code>init</code> 第一版已落地</li>
652
+ <li><code>spawn</code> 第一版已落地</li>
653
+ <li><code>doctor</code> 第一版已落地</li>
654
+ <li><code>adapt</code> 第一版已落地</li>
655
+ <li><code>pack install</code> 第一版已落地</li>
656
+ <li><code>spawn --blueprint</code> 第一版已落地</li>
657
+ </ul>
658
+ </article>
659
+
660
+ <article class="milestone now">
661
+ <div class="milestone-top">
662
+ <div class="code">M3</div>
663
+ <span class="status">下一阶段</span>
664
+ </div>
665
+ <h3>Content Creator Pack</h3>
666
+ <p>做出第一个真正解决场景问题的工作流包。</p>
667
+ <ul>
668
+ <li>目录结构</li>
669
+ <li>Agent 规则</li>
670
+ <li>模板与 seed 示例</li>
671
+ </ul>
672
+ </article>
673
+
674
+ <article class="milestone future">
675
+ <div class="milestone-top">
676
+ <div class="code">M4</div>
677
+ <span class="status">未开始</span>
678
+ </div>
679
+ <h3>Demo 工作区</h3>
680
+ <p>用真实例子证明 StarWork 能跑,而不是只在文档里成立。</p>
681
+ <ul>
682
+ <li>中文内容创作者单项目</li>
683
+ <li>跑完一条内容链路</li>
684
+ <li>暴露结构不一致问题</li>
685
+ </ul>
686
+ </article>
687
+
688
+ <article class="milestone future">
689
+ <div class="milestone-top">
690
+ <div class="code">M5</div>
691
+ <span class="status">未开始</span>
692
+ </div>
693
+ <h3>内测与修正</h3>
694
+ <p>用真实使用反馈修正,不继续凭想象扩写。</p>
695
+ <ul>
696
+ <li>用户本人工作流</li>
697
+ <li>学员单项目模板</li>
698
+ <li>新建空项目</li>
699
+ </ul>
700
+ </article>
701
+
702
+ <article class="milestone future">
703
+ <div class="milestone-top">
704
+ <div class="code">M6</div>
705
+ <span class="status">未开始</span>
706
+ </div>
707
+ <h3>v0.1 发布</h3>
708
+ <p>发布第一个可被外部理解和试用的 StarWork 版本。</p>
709
+ <ul>
710
+ <li>Core + CLI</li>
711
+ <li>General / Hub / Content Packs</li>
712
+ <li>Demo 与入门文档</li>
713
+ </ul>
714
+ </article>
715
+
716
+ <article class="milestone future">
717
+ <div class="milestone-top">
718
+ <div class="code">M7</div>
719
+ <span class="status">规划中</span>
720
+ </div>
721
+ <h3>v0.2 扩展</h3>
722
+ <p>在 v0.1 跑通后,再扩展适配、升级和迁移能力。</p>
723
+ <ul>
724
+ <li>更完整的 Agent 适配</li>
725
+ <li>Pack 升级与迁移</li>
726
+ <li>schema 校验</li>
727
+ </ul>
728
+ </article>
729
+
730
+ <article class="milestone future">
731
+ <div class="milestone-top">
732
+ <div class="code">M8</div>
733
+ <span class="status">远期</span>
734
+ </div>
735
+ <h3>v1.0 稳定产品</h3>
736
+ <p>形成可以长期维护、教学、开源传播和商业化的稳定产品。</p>
737
+ <ul>
738
+ <li>稳定 Core 协议</li>
739
+ <li>稳定 CLI 与 Pack 生态</li>
740
+ <li>清晰衔接 Course</li>
741
+ </ul>
742
+ </article>
743
+ </div>
744
+ </section>
745
+
746
+ <section class="section" aria-labelledby="focus-title">
747
+ <div class="section-header">
748
+ <h2 id="focus-title">当前焦点</h2>
749
+ <p class="section-note">眼下最关键的问题不是再发明一层概念,而是把已经定下来的结构跑通。</p>
750
+ </div>
751
+
752
+ <div class="focus-layout">
753
+ <div class="focus-copy">
754
+ <h3>进入 M3:首个场景 Pack</h3>
755
+ <p>
756
+ CLI v0.1 最小闭环已经完成,StarWork 现在具备了生成、检查、适配和补装 Pack 的基本工具链。
757
+ </p>
758
+ <p>
759
+ M2 之后新增了一条定制生成线索:<code>starworkSpawn</code> skill 负责生成工作台定制单,<code>spawn --blueprint</code> 已能按定制单创建卫星项目。
760
+ </p>
761
+ <p>
762
+ 下一步要把工具链放进真实场景里检验:用 Content Creator Pack 跑出一个能被用户理解、能被 Agent 接力的内容生产工作台。
763
+ </p>
764
+
765
+ <div class="priority" aria-label="下一步优先级">
766
+ <div class="priority-item">
767
+ <div class="priority-number">1</div>
768
+ <div>
769
+ <b>新建 Content Creator Pack matter</b>
770
+ <span>把首个场景 Pack 的目录、规则、模板和 Demo 定下来。</span>
771
+ </div>
772
+ </div>
773
+ <div class="priority-item">
774
+ <div class="priority-number">2</div>
775
+ <div>
776
+ <b>生成 Demo 工作区</b>
777
+ <span>验证 <code>init</code>、<code>doctor</code>、<code>adapt</code>、<code>pack install</code> 是否真的顺。</span>
778
+ </div>
779
+ </div>
780
+ </div>
781
+ </div>
782
+
783
+ <div class="focus-svg" aria-label="当前优先级依赖图">
784
+ <svg viewBox="0 0 640 440" role="img" aria-labelledby="focus-svg-title focus-svg-desc">
785
+ <title id="focus-svg-title">当前工作依赖图</title>
786
+ <desc id="focus-svg-desc">Core 和 CLI 最小闭环已经形成,下一步进入 Content Creator Pack 和 Demo 工作区验证。</desc>
787
+ <defs>
788
+ <marker id="arrow2" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
789
+ <path d="M 0 0 L 10 5 L 0 10 z" fill="#3e473e"></path>
790
+ </marker>
791
+ </defs>
792
+
793
+ <rect x="12" y="12" width="616" height="416" rx="8" fill="#fffdf7" stroke="#cfc7b7" stroke-width="2"></rect>
794
+
795
+ <g>
796
+ <rect x="48" y="64" width="150" height="76" rx="8" fill="#d8eadc" stroke="#286d4a" stroke-width="2"></rect>
797
+ <text x="123" y="96" text-anchor="middle" font-size="20" font-weight="900" fill="#286d4a">Core</text>
798
+ <text x="123" y="119" text-anchor="middle" font-size="13" fill="#286d4a">协议与角色</text>
799
+ </g>
800
+
801
+ <g>
802
+ <rect x="48" y="206" width="150" height="76" rx="8" fill="#d8eadc" stroke="#286d4a" stroke-width="2"></rect>
803
+ <text x="123" y="238" text-anchor="middle" font-size="20" font-weight="900" fill="#286d4a">Kit</text>
804
+ <text x="123" y="261" text-anchor="middle" font-size="13" fill="#286d4a">参考落地结构</text>
805
+ </g>
806
+
807
+ <g>
808
+ <rect x="260" y="135" width="156" height="92" rx="8" fill="#f3dfbd" stroke="#b36b19" stroke-width="4"></rect>
809
+ <text x="338" y="170" text-anchor="middle" font-size="23" font-weight="900" fill="#b36b19">doctor</text>
810
+ <text x="338" y="196" text-anchor="middle" font-size="13" fill="#7a4a13">检查一致性</text>
811
+ </g>
812
+
813
+ <g>
814
+ <rect x="476" y="64" width="118" height="64" rx="8" fill="#d7e4ea" stroke="#2f6286" stroke-width="2"></rect>
815
+ <text x="535" y="91" text-anchor="middle" font-size="16" font-weight="900" fill="#2f6286">adapt</text>
816
+ <text x="535" y="111" text-anchor="middle" font-size="12" fill="#2f6286">Agent 适配</text>
817
+ </g>
818
+
819
+ <g>
820
+ <rect x="476" y="160" width="118" height="64" rx="8" fill="#d7e4ea" stroke="#2f6286" stroke-width="2"></rect>
821
+ <text x="535" y="187" text-anchor="middle" font-size="16" font-weight="900" fill="#2f6286">pack install</text>
822
+ <text x="535" y="207" text-anchor="middle" font-size="12" fill="#2f6286">安装场景包</text>
823
+ </g>
824
+
825
+ <g>
826
+ <rect x="476" y="256" width="118" height="64" rx="8" fill="#d7e4ea" stroke="#2f6286" stroke-width="2"></rect>
827
+ <text x="535" y="283" text-anchor="middle" font-size="16" font-weight="900" fill="#2f6286">Pack</text>
828
+ <text x="535" y="303" text-anchor="middle" font-size="12" fill="#2f6286">内容创作者</text>
829
+ </g>
830
+
831
+ <g>
832
+ <rect x="260" y="324" width="156" height="64" rx="8" fill="#edd6cf" stroke="#9b3d2c" stroke-width="2"></rect>
833
+ <text x="338" y="351" text-anchor="middle" font-size="16" font-weight="900" fill="#9b3d2c">Demo 工作区</text>
834
+ <text x="338" y="371" text-anchor="middle" font-size="12" fill="#9b3d2c">证明能跑</text>
835
+ </g>
836
+
837
+ <path d="M198 102 L260 162" stroke="#3e473e" stroke-width="3" fill="none" marker-end="url(#arrow2)"></path>
838
+ <path d="M198 244 L260 199" stroke="#3e473e" stroke-width="3" fill="none" marker-end="url(#arrow2)"></path>
839
+ <path d="M416 164 L476 102" stroke="#3e473e" stroke-width="3" fill="none" marker-end="url(#arrow2)"></path>
840
+ <path d="M416 185 L476 192" stroke="#3e473e" stroke-width="3" fill="none" marker-end="url(#arrow2)"></path>
841
+ <path d="M416 206 L476 288" stroke="#3e473e" stroke-width="3" fill="none" marker-end="url(#arrow2)"></path>
842
+ <path d="M476 288 C430 318, 414 332, 416 356" stroke="#3e473e" stroke-width="3" fill="none" marker-end="url(#arrow2)"></path>
843
+ <path d="M338 227 L338 324" stroke="#3e473e" stroke-width="3" fill="none" marker-end="url(#arrow2)"></path>
844
+ </svg>
845
+
846
+ <div class="legend">
847
+ <span><i style="background:#d8eadc;border:1px solid #286d4a"></i>已形成</span>
848
+ <span><i style="background:#f3dfbd;border:1px solid #b36b19"></i>当前优先</span>
849
+ <span><i style="background:#d7e4ea;border:1px solid #2f6286"></i>后续动作</span>
850
+ <span><i style="background:#edd6cf;border:1px solid #9b3d2c"></i>验证结果</span>
851
+ </div>
852
+ </div>
853
+ </div>
854
+ </section>
855
+
856
+ <section class="section" aria-labelledby="release-title">
857
+ <div class="section-header">
858
+ <h2 id="release-title">v0.1 过关线</h2>
859
+ <p class="section-note">v0.1 不追求大而全,它要证明普通用户可以装起来、Agent 可以读明白、场景 Pack 可以跑完一条链路。</p>
860
+ </div>
861
+
862
+ <div class="release-band">
863
+ <div class="release-block">
864
+ <h3>v0.1 要交付什么</h3>
865
+ <p>
866
+ Core v0.1 协议、CLI v0.1、General Pack、Hub Management Pack、Content Creator Pack v0.1、Demo 工作区和入门文档。
867
+ </p>
868
+ <div class="tag-list">
869
+ <span>Core</span>
870
+ <span>CLI</span>
871
+ <span>Packs</span>
872
+ <span>Demo</span>
873
+ <span>Docs</span>
874
+ </div>
875
+ </div>
876
+
877
+ <div class="release-block">
878
+ <h3>v0.1 怎么算成功</h3>
879
+ <p>
880
+ 用户能知道 StarWork 是什么,能按文档初始化一个工作台,能理解 Core、Kit、CLI、Pack 的关系,并能用 Content Creator Pack 跑一次最小内容生产闭环。
881
+ </p>
882
+ <div class="tag-list">
883
+ <span>能看懂</span>
884
+ <span>能安装</span>
885
+ <span>能检查</span>
886
+ <span>能跑通</span>
887
+ </div>
888
+ </div>
889
+ </div>
890
+ </section>
891
+
892
+ <footer class="footer">
893
+ <p>
894
+ 本 HTML 是 <code>product/docs/roadmap.md</code> 的阅读版。事实源仍以 Markdown 文档为准;如果后续里程碑变化,应先更新 Markdown,再同步更新本页面。
895
+ </p>
896
+ </footer>
897
+ </main>
898
+ </body>
899
+ </html>