@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,315 @@
1
+ # StarWork Pack Structure SPEC
2
+
3
+ ## 状态
4
+
5
+ - 版本:v0.1 draft
6
+ - 所属模块:StarWork Packs
7
+ - 目标:定义 Pack 源包的结构、声明方式、多语言镜像和 CLI 组装方式
8
+ - 相关命令:`starwork init`、`starwork pack install`
9
+
10
+ ## 一句话定义
11
+
12
+ Pack 是 StarWork 的场景定制模板。
13
+
14
+ 它不直接等于一套中文目录,也不直接等于一套英文目录。Pack 的核心是“业务角色和业务流”,语言层再决定这些角色在用户工作区里叫什么、规则怎么写、模板用哪种语言。
15
+
16
+ ## 核心判断
17
+
18
+ Pack 应拆成两层:
19
+
20
+ ```text
21
+ pack.json
22
+ 语言无关:Pack ID、适配工作区、业务角色、业务流、规则插槽、模板 ID、seed ID
23
+
24
+ languages/<language>.json
25
+ 语言相关:显示名称、目录路径、默认覆盖、规则文件、模板文件、seed 文件
26
+ ```
27
+
28
+ 这样同一个 Pack 可以生成中文工作台,也可以生成英文镜像,而不需要维护两套互相漂移的 Pack。
29
+
30
+ ## 推荐目录结构
31
+
32
+ ```text
33
+ content-creator/
34
+ ├── pack.json
35
+ ├── README.md
36
+ ├── languages/
37
+ │ ├── zh.json
38
+ │ └── en.json
39
+ ├── rules/
40
+ │ ├── zh/
41
+ │ │ ├── overview.md
42
+ │ │ ├── workflow.md
43
+ │ │ ├── file-boundaries.md
44
+ │ │ └── review.md
45
+ │ └── en/
46
+ │ ├── overview.md
47
+ │ ├── workflow.md
48
+ │ ├── file-boundaries.md
49
+ │ └── review.md
50
+ ├── templates/
51
+ │ ├── zh/
52
+ │ │ ├── content-brief.md
53
+ │ │ ├── publish-record.md
54
+ │ │ └── weekly-review.md
55
+ │ └── en/
56
+ │ ├── content-brief.md
57
+ │ ├── publish-record.md
58
+ │ └── weekly-review.md
59
+ └── seed/
60
+ ├── zh/
61
+ │ ├── 账号定位/
62
+ │ └── 选题池/
63
+ └── en/
64
+ ├── account-profile/
65
+ └── ideas/
66
+ ```
67
+
68
+ ## `pack.json`
69
+
70
+ `pack.json` 是 Pack 的语言无关声明。
71
+
72
+ 它回答:
73
+
74
+ - Pack ID 是什么
75
+ - 适配哪些工作区类型
76
+ - 需要哪些 Core capability
77
+ - 有哪些业务角色
78
+ - 业务流如何从一个角色流向另一个角色
79
+ - 有哪些规则插槽
80
+ - 有哪些模板 ID
81
+ - 有哪些 seed ID
82
+
83
+ 示例:
84
+
85
+ ```json
86
+ {
87
+ "schema": "starwork.pack.v0.1",
88
+ "id": "content-creator",
89
+ "version": "0.1.0",
90
+ "compatible_core": "0.1",
91
+ "supports_workspace_types": ["single-light", "single-matter"],
92
+ "requires_capabilities": [],
93
+ "roles": {
94
+ "account_profile": { "kind": "strategy" },
95
+ "ideas": { "kind": "pipeline" },
96
+ "materials": { "kind": "source" },
97
+ "drafts": { "kind": "work_in_progress" },
98
+ "published": { "kind": "formal_source" },
99
+ "review": { "kind": "learning_loop" }
100
+ },
101
+ "flow": ["account_profile", "ideas", "materials", "drafts", "published", "review"],
102
+ "rules": [
103
+ { "id": "overview", "slot": "pack.overview" },
104
+ { "id": "workflow", "slot": "pack.workflow" }
105
+ ],
106
+ "templates": [
107
+ { "id": "content-brief" },
108
+ { "id": "publish-record" }
109
+ ],
110
+ "seed": [
111
+ { "id": "ideas", "role": "ideas" }
112
+ ]
113
+ }
114
+ ```
115
+
116
+ 注意:`pack.json` 不写 `选题池/`、`ideas/` 这类具体路径。路径属于语言层。
117
+
118
+ ## `languages/<language>.json`
119
+
120
+ 语言文件决定 Pack 在某种语言镜像下如何落地。
121
+
122
+ 它回答:
123
+
124
+ - 给用户看的 Pack 名称是什么
125
+ - 每个业务角色映射到哪个目录
126
+ - 默认正式事实源在哪里
127
+ - 默认业务工作区在哪里
128
+ - 规则片段读取哪些 Markdown
129
+ - 模板读取哪些 Markdown
130
+ - seed 文件写到哪里
131
+
132
+ 中文示例:
133
+
134
+ ```json
135
+ {
136
+ "language": "zh",
137
+ "name": "自媒体内容创作者 Pack",
138
+ "paths": {
139
+ "ideas": "选题池/",
140
+ "materials": "素材库/",
141
+ "drafts": "草稿与脚本/",
142
+ "published": "发布记录/"
143
+ },
144
+ "overrides": {
145
+ "formal_source": "发布记录/",
146
+ "business_work_area": "草稿与脚本/"
147
+ },
148
+ "rules": [
149
+ { "slot": "pack.overview", "from": "rules/zh/overview.md" }
150
+ ],
151
+ "templates": [
152
+ { "id": "content-brief", "from": "templates/zh/content-brief.md", "description": "单篇内容大纲模板" }
153
+ ],
154
+ "seed": [
155
+ { "from": "seed/zh/选题池/README.md", "to": "选题池/README.md", "on_conflict": "create_new" }
156
+ ]
157
+ }
158
+ ```
159
+
160
+ 英文示例:
161
+
162
+ ```json
163
+ {
164
+ "language": "en",
165
+ "name": "Content Creator Pack",
166
+ "paths": {
167
+ "ideas": "ideas/",
168
+ "materials": "materials/",
169
+ "drafts": "drafts-and-scripts/",
170
+ "published": "published/"
171
+ },
172
+ "overrides": {
173
+ "formal_source": "published/",
174
+ "business_work_area": "drafts-and-scripts/"
175
+ }
176
+ }
177
+ ```
178
+
179
+ ## 组装流程
180
+
181
+ CLI 安装 Pack 时,应按以下顺序执行:
182
+
183
+ 1. 读取 Kit / preset,确定工作区类型和语言。
184
+ 2. 读取 Pack `pack.json`。
185
+ 3. 读取 Pack `languages/<language>.json`。
186
+ 4. 合并得到本次安装用的 Pack 配置。
187
+ 5. 校验 Core 版本、工作区类型和 capabilities。
188
+ 6. 用语言层 `paths` 创建场景目录。
189
+ 7. 用语言层 `rules` 渲染 Markdown 片段,并注入 Agent 入口文件。
190
+ 8. 用语言层 `seed` 生成占位文件写入计划。
191
+ 9. 用语言层 `templates` 登记或复制业务模板。
192
+ 10. 展示预览。
193
+ 11. 用户确认后写入。
194
+ 12. 更新 `.starwork/workspace.json`。
195
+
196
+ 当前 v0.1 实现仍是简单组装器:直接复制现成 Kit 目录,再把 Pack 规则追加到 `AGENTS.md` 的“场景规则”部分。
197
+
198
+ ## 占位符
199
+
200
+ 规则片段、模板和 seed 文件可以使用占位符。
201
+
202
+ 建议支持:
203
+
204
+ ```text
205
+ {{pack.id}}
206
+ {{pack.name}}
207
+ {{pack.language}}
208
+ {{paths.<key>}}
209
+ {{overrides.formal_source}}
210
+ {{overrides.business_work_area}}
211
+ {{workspace.name}}
212
+ {{workspace.type}}
213
+ ```
214
+
215
+ v0.1 不支持复杂条件语法、循环语法和脚本执行。
216
+
217
+ ## 写入安全
218
+
219
+ Pack 安装必须遵守 StarWork 的安全写入原则:
220
+
221
+ - 不静默覆盖用户已有内容
222
+ - 不删除用户文件
223
+ - 不移动用户文件
224
+ - 不改写已确认事项记录
225
+ - 不改写已确认决策记录
226
+ - 冲突时生成旁路文件或提示用户手动合并
227
+
228
+ Pack 可以创建新目录、新模板、新 seed 文件,也可以更新 CLI 状态文件。
229
+
230
+ ## Pack 可以覆盖什么
231
+
232
+ Pack 可以覆盖 Kit 预留的场景配置:
233
+
234
+ - `formal_source`
235
+ - `business_work_area`
236
+ - 场景默认目录
237
+ - 场景规则片段
238
+ - 场景模板清单
239
+ - 初始化后的推荐下一步
240
+
241
+ Pack 不能覆盖 Core 基础角色:
242
+
243
+ - Agent 入口角色
244
+ - 项目状态索引角色
245
+ - 当前工作索引角色
246
+ - 事项注册表角色
247
+ - 决策记录角色
248
+
249
+ 一句话:
250
+
251
+ ```text
252
+ Pack 可以改变业务怎么流动,但不能拆掉工作区的仪表盘。
253
+ ```
254
+
255
+ ## CLI 内部状态
256
+
257
+ Pack 安装后,应写入 `.starwork/workspace.json`。
258
+
259
+ 示例:
260
+
261
+ ```json
262
+ {
263
+ "schema": "starwork.workspace.v0.1",
264
+ "core": "0.1",
265
+ "workspace_type": "single-matter",
266
+ "kit": "local-matter",
267
+ "packs": [
268
+ {
269
+ "id": "content-creator",
270
+ "version": "0.1.0",
271
+ "installed_at": "2026-05-12"
272
+ }
273
+ ],
274
+ "language": "zh",
275
+ "paths": {
276
+ "formal_source": "发布记录/",
277
+ "business_work_area": "草稿与脚本/"
278
+ }
279
+ }
280
+ ```
281
+
282
+ `.starwork/workspace.json` 是 CLI 状态,不是项目事实源。
283
+
284
+ ## v0.1 实现状态
285
+
286
+ 当前第一版实现已补齐:
287
+
288
+ 1. `general` 默认 Pack。
289
+ 2. `content-creator` 场景 Pack。
290
+ 3. `hub-management` 管理 Pack。
291
+ 4. `languages/zh.json` 和 `languages/en.json` 多语言结构。
292
+ 5. CLI 根据语言文件读取 Pack 路径、规则、模板和 seed。
293
+ 6. CLI 的简单占位符渲染器。
294
+ 7. CLI 的写入计划、dry-run 预览和冲突旁路文件机制。
295
+
296
+ 后续仍需要补齐:
297
+
298
+ 1. `starwork.pack.v0.1` JSON Schema 文件。
299
+ 2. Kit 侧更正式的规则插槽设计。
300
+ 3. Pack 校验命令。
301
+ 4. 多 Pack 安装时的冲突策略。
302
+ 5. 真正根据英文 Kit 自动选择英文 Pack 镜像的完整 init 入口。
303
+
304
+ ## 验收标准
305
+
306
+ Pack 结构 v0.1 可验收,至少满足:
307
+
308
+ - Pack 可以用 `pack.json` 描述语言无关的业务角色和业务流。
309
+ - Pack 可以用 `languages/<language>.json` 描述不同语言下的路径、规则、模板和 seed。
310
+ - Pack 不需要直接提供完整 `AGENTS.md`。
311
+ - CLI 可以把 Kit 和 Pack 规则片段组装成最终 Agent 入口文件。
312
+ - Pack 可以覆盖正式成果路径和业务工作区路径。
313
+ - Pack 不能破坏 Core 基础角色。
314
+ - 通用工作也能表达为默认 Pack。
315
+ - 自媒体内容创作者 Pack 可以按此结构落地。
@@ -0,0 +1,3 @@
1
+ # Schemas
2
+
3
+ 这里存放 StarWork Core、Pack、CLI 使用的结构化 schema。
@@ -0,0 +1,17 @@
1
+ # StarWork Skills
2
+
3
+ 这里存放 StarWork 自研 Agent skill。
4
+
5
+ Skill 的职责不是替代 CLI,而是帮助 Agent 更可靠地理解用户意图、生成配置、组织规则和调用 StarWork 工具。
6
+
7
+ ## 路由规则
8
+
9
+ - 与 Core 协议相关的事实源放在 `product/core/`。
10
+ - 与 CLI 命令相关的规格和实现放在 `product/cli/`。
11
+ - 与 Pack 场景相关的正式包放在 `product/packs/`。
12
+ - 与 Agent 工作流相关、可被复用为 skill 的内容放在 `product/skills/`。
13
+
14
+ ## 当前 Skills
15
+
16
+ - `starworkSpawn/`:帮助 Agent 设计 `starwork spawn --blueprint` 工作台定制单。
17
+ - `starworkInit/`:帮助 Agent 设计 `starwork init` 初始化方案和 init blueprint。详细 SPEC 见 `starworkInit-spec.md`。
@@ -0,0 +1,289 @@
1
+ ---
2
+ name: starworkInit
3
+ description: Use this skill when a user wants to initialize a new StarWork workspace, choose between single-light, single-matter, and hub workspace types, decide whether matters or Packs are needed, design friendly init interview flows, draft init blueprints, and explain how `starwork init` should execute and validate the result.
4
+ ---
5
+
6
+ # starworkInit
7
+
8
+ 使用这个 skill,把用户“我想建一个工作台”的模糊需求,整理成 StarWork 初始化方案。
9
+
10
+ `starworkInit` 不是 `starwork init` 命令本身。它负责在命令执行前帮用户判断:
11
+
12
+ - 应该建单项目工作台,还是多项目中枢
13
+ - 是否需要事项机制
14
+ - 是否需要 Pack
15
+ - 是否需要定制目录和 Agent 规则
16
+ - 最终应该如何执行和检查
17
+
18
+ 除非用户明确要求落地文件,否则这个 skill 只负责设计方案,不直接创建工作台。
19
+
20
+ ## 参考
21
+
22
+ 需要完整字段、边界和待确认问题时,读取:
23
+
24
+ ```text
25
+ ../starworkInit-spec.md
26
+ ```
27
+
28
+ 不要在 skill 内重复维护完整 schema,避免和 SPEC 漂移。
29
+
30
+ ## 决策流程
31
+
32
+ 按分支判断,不要一次问完所有问题。
33
+
34
+ ```text
35
+ Step 1 判断工作台类型
36
+ ├─ hub:跳过 Step 2 / Step 3,直接给 Hub 初始化建议
37
+ └─ single:继续判断事项
38
+
39
+ Step 2 判断是否需要事项
40
+ ├─ 需要:single-matter
41
+ └─ 不需要:single-light
42
+
43
+ Step 3 判断 Pack
44
+ ├─ general:可继续判断是否定制
45
+ └─ 其他现成 Pack:只安装现成 Pack,暂不深度定制
46
+
47
+ Step 4 判断是否需要定制工作台
48
+ ├─ 不需要:输出标准初始化建议
49
+ └─ 需要:进入友好采访
50
+
51
+ Step 5 采访正式成果放哪里
52
+ Step 6 采访日常工作在哪里发生
53
+ Step 7 采访额外固定区域和 Agent 规则
54
+ ```
55
+
56
+ ## Step 1:判断工作台类型
57
+
58
+ 先问:
59
+
60
+ ```text
61
+ 你是想管理一个具体项目,还是建立一个能管理多个项目的中枢?
62
+ ```
63
+
64
+ 判断:
65
+
66
+ - 一个具体项目、轻量资料和成果:`single-light`
67
+ - 一个长期项目、跨会话推进、需要追踪:`single-matter`
68
+ - 管理多个项目、统一身份/教训/知识/skills:`hub`
69
+
70
+ 如果用户只是说“以后可能会有很多项目”,但当前只有一个项目,优先建议 `single-matter`。只有用户明确要建立多项目中枢时,才推荐 `hub`。
71
+
72
+ ### Hub 分支
73
+
74
+ 如果判断为 `hub`,不要继续问“是否需要事项”和“选哪个 Pack”。
75
+
76
+ 直接输出 Hub 初始化建议:
77
+
78
+ - 工作区类型:`hub`
79
+ - 基础 Kit:`hub`
80
+ - Pack:不让用户选择;Hub 使用中枢管理结构
81
+ - 事项:不是 Hub 初始化必选项
82
+ - 后续确认:Hub 名称、项目注册区域、是否预置 `skills/` 和 `.incoming/`
83
+
84
+ ## Step 2:判断是否需要事项
85
+
86
+ 仅当 Step 1 是单项目时才问:
87
+
88
+ ```text
89
+ 这个工作会不会持续数周以上,或者需要多次接力?
90
+ ```
91
+
92
+ 判断:
93
+
94
+ - 需要长期推进、复盘、交接:`single-matter`
95
+ - 只是放资料、写草稿、收成果:`single-light`
96
+ - 用户改口说要管理多个项目:回到 Step 1,改为 `hub`
97
+
98
+ ## Step 3:判断 Pack
99
+
100
+ 仅当不是 Hub 时才问:
101
+
102
+ ```text
103
+ 这个工作台主要用于什么场景?
104
+ ```
105
+
106
+ 判断:
107
+
108
+ - 泛用资料、草稿、项目推进:`general`
109
+ - 内容创作、自媒体、发布复盘:`content-creator`
110
+ - 其他场景:先说明 v0.1 没有专门 Pack,默认用 `general`
111
+
112
+ 约束:
113
+
114
+ - 通用工作也是 Pack:`general`
115
+ - Hub 不在 init 里选择 Pack
116
+ - 不把一次性目录偏好误判成新 Pack
117
+ - v0.1 只支持基于 `general` Pack 做定制修改
118
+ - 用户选择 `content-creator` 时,可以安装现成 Pack,但不进入自定义 Pack 结构采访
119
+
120
+ ## Step 4:判断是否定制
121
+
122
+ 在问正式成果、当前工作区、额外目录之前,先问:
123
+
124
+ ```text
125
+ 你想先用标准结构,还是希望我帮你按自己的工作习惯稍微改一下目录和规则?
126
+ ```
127
+
128
+ 判断:
129
+
130
+ - 标准结构就行:输出标准 Kit + Pack 初始化建议
131
+ - 想改一下:进入 Step 5-7
132
+ - 不确定:给 2-3 个例子帮用户判断
133
+
134
+ 解释时可以说:
135
+
136
+ ```text
137
+ 标准结构像直接入住酒店;定制结构像把书桌、收纳盒和常用文件夹按你的习惯摆好。
138
+ 如果你还没形成稳定习惯,先用标准结构更省心。
139
+ ```
140
+
141
+ ## Step 5-7:友好采访
142
+
143
+ 采访要像聊天,不要像配置表。
144
+
145
+ ### 正式成果
146
+
147
+ 问:
148
+
149
+ ```text
150
+ 等这个工作台用一段时间后,你最希望未来的自己回来翻到什么?
151
+ 是最终交付物、发布记录、客户确认版,还是项目清单?
152
+ ```
153
+
154
+ 常见映射:
155
+
156
+ - 最终成果、交付物、确认版本:`输出/确认成果/`
157
+ - 已发布内容、发布记录:`发布记录/`
158
+ - 项目清单、项目注册:`项目/`
159
+
160
+ 如果用户答不上来,默认用 `输出/确认成果/`。
161
+
162
+ ### 日常工作区
163
+
164
+ 问:
165
+
166
+ ```text
167
+ 你平时会在哪里“干活”?
168
+ 比如写草稿、放参考资料、记录推进过程、整理待办和阶段判断。
169
+ ```
170
+
171
+ 常见映射:
172
+
173
+ - 事项推进:`事项/`
174
+ - 轻量资料整理:`参考资料/`
175
+ - 内容草稿推进:`草稿与脚本/` 或 `事项/`
176
+
177
+ 默认:
178
+
179
+ - `single-light`:`参考资料/`
180
+ - `single-matter`:`事项/`
181
+
182
+ ### 额外目录和规则
183
+
184
+ 问:
185
+
186
+ ```text
187
+ 有没有一些东西你每次都想单独放,不想和别的文件混在一起?
188
+ 比如会议纪要、客户沟通、版本记录、素材库、复盘。
189
+ ```
190
+
191
+ 只新增未来确实会反复使用的目录。避免含义重叠、只为好看、或与 Pack 已有目录重复的目录。
192
+
193
+ 至少考虑两类规则:
194
+
195
+ - `rules/file-boundaries.md`:不同信息放哪里
196
+ - `rules/workflow.md`:Agent 如何推进工作
197
+
198
+ 规则要具体、可执行,避免泛泛的效率建议。
199
+
200
+ ## 输出方式
201
+
202
+ 用户还在讨论时,输出初始化建议:
203
+
204
+ ```markdown
205
+ ## 初始化建议
206
+
207
+ - 工作区类型:
208
+ - Kit:
209
+ - Pack:
210
+ - 正式成果:
211
+ - 当前工作区:
212
+ - 额外目录:
213
+ - 需要注入的规则:
214
+
215
+ ## 为什么这样选
216
+
217
+ ...
218
+
219
+ ## 后续执行
220
+
221
+ ...
222
+ ```
223
+
224
+ 用户要求生成定制单时,创建:
225
+
226
+ ```text
227
+ <workspace>-init/
228
+ ├── init-blueprint.json
229
+ ├── rules/
230
+ │ ├── file-boundaries.md
231
+ │ └── workflow.md
232
+ └── seed/
233
+ └── ...
234
+ ```
235
+
236
+ 不要创建空的可选目录或文件。
237
+
238
+ ## Init Blueprint 最小示例
239
+
240
+ ```json
241
+ {
242
+ "schema": "starwork.init_blueprint.v0.1",
243
+ "name": "我的项目工作台",
244
+ "workspace_type": "single-matter",
245
+ "kit": "local-matter",
246
+ "language": "zh",
247
+ "pack": "general",
248
+ "paths": {
249
+ "formal_source": "输出/确认成果/",
250
+ "business_work_area": "事项/"
251
+ },
252
+ "folders": [
253
+ "会议纪要/",
254
+ "客户沟通/",
255
+ "版本记录/"
256
+ ],
257
+ "agent_rules": [
258
+ {
259
+ "slot": "workspace.file_boundaries",
260
+ "from": "rules/file-boundaries.md"
261
+ },
262
+ {
263
+ "slot": "workspace.workflow",
264
+ "from": "rules/workflow.md"
265
+ }
266
+ ]
267
+ }
268
+ ```
269
+
270
+ ## 执行命令
271
+
272
+ 当前 CLI 尚未实现 `init --blueprint` 时,要诚实说明这是目标命令形态。
273
+
274
+ 未来执行方式:
275
+
276
+ ```bash
277
+ starwork init --target <workspace-path> --blueprint <init-blueprint.json> --dry-run
278
+ starwork init --target <workspace-path> --blueprint <init-blueprint.json> --yes
279
+ starwork doctor --target <workspace-path>
280
+ ```
281
+
282
+ ## 约束
283
+
284
+ - 不用 init 创建卫星项目;已有 Hub 下创建项目应转向 `starworkSpawn`。
285
+ - 不建议用户修改 `product/core/kits/`。
286
+ - 不让 blueprint 决定真实 target 路径,目标路径必须来自命令参数或用户明确指定。
287
+ - 不把一次性偏好做成 Pack。
288
+ - 不覆盖用户已有文件。
289
+ - 一次只问一个问题;用户说不清时,用默认值推进并复述判断。
@@ -0,0 +1,7 @@
1
+ interface:
2
+ display_name: "StarWork Init"
3
+ short_description: "设计 StarWork 初始化方案"
4
+ default_prompt: "Use $starworkInit to design a friendly StarWork init plan for a new workspace."
5
+
6
+ policy:
7
+ allow_implicit_invocation: true