@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.
- package/README.md +18 -0
- package/adapters/README.md +5 -0
- package/cli/README.md +52 -0
- package/cli/adapt-spec.md +61 -0
- package/cli/bin/starwork.js +8 -0
- package/cli/doctor-spec.md +516 -0
- package/cli/init-spec.md +435 -0
- package/cli/pack-install-spec.md +63 -0
- package/cli/spawn-blueprint-spec.md +657 -0
- package/cli/spawn-spec.md +439 -0
- package/cli/src/cli.js +1955 -0
- package/cli/test/init.test.js +436 -0
- package/core/README.md +51 -0
- package/core/baseline/README.md +12 -0
- package/core/baseline/file-boundaries.md +25 -0
- package/core/baseline/health-check.md +27 -0
- package/core/baseline/roles.md +26 -0
- package/core/baseline/spec.md +47 -0
- package/core/capabilities/README.md +15 -0
- package/core/capabilities/decisions/capability.md +26 -0
- package/core/capabilities/local-identity/capability.md +15 -0
- package/core/capabilities/local-identity/templates/identity/README.md +5 -0
- package/core/capabilities/local-lessons/capability.md +15 -0
- package/core/capabilities/local-lessons/templates/lessons/README.md +5 -0
- package/core/capabilities/main-repo-sync/capability.md +133 -0
- package/core/capabilities/main-repo-sync/templates/.core-sync.example.json +31 -0
- package/core/capabilities/main-repo-sync/templates/.internal/README.md +5 -0
- package/core/capabilities/matter-mode/capability.md +46 -0
- package/core/capabilities/matter-mode/templates/matters/_matter-template/README.md +17 -0
- package/core/capabilities/matter-mode/templates/matters/_matter-template/drafts/.gitkeep +1 -0
- package/core/capabilities/matter-mode/templates/matters/_matter-template/handoff.md +3 -0
- package/core/capabilities/matter-mode/templates/matters/_matter-template/notes.md +5 -0
- package/core/capabilities/matter-mode/templates/matters/_matter-template/progress.md +5 -0
- package/core/capabilities/matter-mode/templates/matters/registry.md +16 -0
- package/core/capabilities/skill-mount/capability.md +24 -0
- package/core/capabilities/starter-outputs/capability.md +25 -0
- package/core/capabilities/starter-outputs/templates/outputs/drafts/README.md +5 -0
- package/core/capabilities/starter-outputs/templates/outputs/final/README.md +5 -0
- package/core/capabilities/starter-outputs/templates/references/README.md +5 -0
- package/core/core-v0.1-protocol.md +201 -0
- package/core/kits/README.md +15 -0
- package/core/kits/hub/.incoming/README.md +5 -0
- package/core/kits/hub/AGENTS.md +26 -0
- package/core/kits/hub/README.md +25 -0
- 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
- 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
- package/core/kits/hub/identity/README.md +5 -0
- package/core/kits/hub/lessons/README.md +5 -0
- package/core/kits/hub/skills/README.md +5 -0
- package/core/kits/hub//347/237/245/350/257/206/README.md +5 -0
- package/core/kits/hub//351/241/271/347/233/256/README.md +5 -0
- package/core/kits/hub//351/241/271/347/233/256/registry.json +4 -0
- package/core/kits/hub//351/241/271/347/233/256//350/201/224/347/273/234/README.md +5 -0
- package/core/kits/kit-structure-reference.md +253 -0
- package/core/kits/local-matter/AGENTS.md +23 -0
- package/core/kits/local-matter/README.md +22 -0
- 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
- 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
- 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
- package/core/kits/local-matter/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +5 -0
- package/core/kits/local-matter/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +5 -0
- 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
- 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
- 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
- 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
- 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
- package/core/kits/local-matter//344/272/213/351/241/271//346/263/250/345/206/214/350/241/250.md +16 -0
- package/core/kits/local-matter//345/217/202/350/200/203/350/265/204/346/226/231/README.md +5 -0
- 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
- package/core/kits/local-matter//350/276/223/345/207/272//350/215/211/347/250/277/README.md +5 -0
- package/core/kits/local-starter/AGENTS.md +23 -0
- package/core/kits/local-starter/README.md +23 -0
- 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
- 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
- package/core/kits/local-starter/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +5 -0
- package/core/kits/local-starter/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +5 -0
- package/core/kits/local-starter//345/217/202/350/200/203/350/265/204/346/226/231/README.md +5 -0
- 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
- package/core/kits/local-starter//350/276/223/345/207/272//350/215/211/347/250/277/README.md +5 -0
- package/core/kits/satellite-matter/.agents/skills/README.md +5 -0
- package/core/kits/satellite-matter/.claude/skills/README.md +5 -0
- package/core/kits/satellite-matter/.core-sync.json +31 -0
- package/core/kits/satellite-matter/.internal/README.md +5 -0
- package/core/kits/satellite-matter/.obsidian/README.md +5 -0
- package/core/kits/satellite-matter/AGENTS.md +27 -0
- package/core/kits/satellite-matter/CLAUDE.md +5 -0
- package/core/kits/satellite-matter/README.md +40 -0
- 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
- 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
- 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
- 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
- package/core/kits/satellite-matter/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +8 -0
- package/core/kits/satellite-matter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/README.md +9 -0
- 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
- 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
- package/core/kits/satellite-matter/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +5 -0
- 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
- 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
- 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
- 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
- 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
- package/core/kits/satellite-matter//344/272/213/351/241/271//346/263/250/345/206/214/350/241/250.md +16 -0
- package/core/kits/satellite-matter//345/217/202/350/200/203/350/265/204/346/226/231/README.md +5 -0
- package/core/kits/satellite-matter//347/237/245/350/257/206/README.md +5 -0
- 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
- package/core/kits/satellite-matter//350/276/223/345/207/272//350/215/211/347/250/277/README.md +5 -0
- package/core/kits/satellite-starter/.agents/skills/README.md +5 -0
- package/core/kits/satellite-starter/.claude/skills/README.md +5 -0
- package/core/kits/satellite-starter/.core-sync.json +31 -0
- package/core/kits/satellite-starter/.internal/README.md +5 -0
- package/core/kits/satellite-starter/.obsidian/README.md +5 -0
- package/core/kits/satellite-starter/AGENTS.md +25 -0
- package/core/kits/satellite-starter/CLAUDE.md +5 -0
- package/core/kits/satellite-starter/README.md +42 -0
- 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
- 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
- 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
- package/core/kits/satellite-starter/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +8 -0
- package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/README.md +9 -0
- 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
- 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
- package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +5 -0
- package/core/kits/satellite-starter//345/217/202/350/200/203/350/265/204/346/226/231/README.md +5 -0
- package/core/kits/satellite-starter//347/237/245/350/257/206/README.md +5 -0
- 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
- package/core/kits/satellite-starter//350/276/223/345/207/272//350/215/211/347/250/277/README.md +5 -0
- package/core/presets/README.md +26 -0
- package/core/presets/hub.yaml +10 -0
- package/core/presets/local-matter.yaml +14 -0
- package/core/presets/local-starter.yaml +12 -0
- package/core/presets/satellite-matter.yaml +17 -0
- package/core/presets/satellite-starter.yaml +15 -0
- package/core/profiles/README.md +18 -0
- package/core/profiles/en/labels.json +26 -0
- package/core/profiles/en/paths.json +21 -0
- package/core/profiles/en/profile.md +22 -0
- package/core/profiles/en/reference-kits/local-starter/AGENTS.md +23 -0
- package/core/profiles/en/reference-kits/local-starter/README.md +23 -0
- package/core/profiles/en/reference-kits/local-starter/_system/context/project-status.md +25 -0
- package/core/profiles/en/reference-kits/local-starter/_system/identity/README.md +5 -0
- package/core/profiles/en/reference-kits/local-starter/_system/lessons/README.md +5 -0
- package/core/profiles/en/reference-kits/local-starter/_system/tasks/current-work.md +17 -0
- package/core/profiles/en/reference-kits/local-starter/outputs/drafts/README.md +5 -0
- package/core/profiles/en/reference-kits/local-starter/outputs/final/README.md +5 -0
- package/core/profiles/en/reference-kits/local-starter/references/README.md +5 -0
- package/core/profiles/en/reference-presets/local-starter.yaml +12 -0
- package/core/profiles/en/templates/AGENTS.md +23 -0
- package/core/profiles/en/templates/_system/context/project-status.md +25 -0
- package/core/profiles/en/templates/_system/tasks/current-work.md +17 -0
- package/core/profiles/zh/labels.json +26 -0
- package/core/profiles/zh/paths.json +21 -0
- package/core/profiles/zh/profile.md +22 -0
- package/core/profiles/zh/templates/AGENTS.md +23 -0
- 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
- 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
- package/docs/README.md +18 -0
- package/docs/alpha-test-guide.md +124 -0
- package/docs/cli-capabilities.html +1088 -0
- package/docs/hub-management.html +750 -0
- package/docs/index.html +228 -0
- package/docs/product-direction.md +64 -0
- package/docs/product-shape-business-model.html +1024 -0
- package/docs/roadmap.html +899 -0
- package/docs/roadmap.md +272 -0
- package/docs/v0.1-plan.md +109 -0
- package/examples/README.md +3 -0
- package/package.json +32 -0
- package/packs/README.md +24 -0
- package/packs/content-creator/README.md +38 -0
- package/packs/content-creator/languages/en.json +40 -0
- package/packs/content-creator/languages/zh.json +40 -0
- package/packs/content-creator/pack.json +41 -0
- package/packs/content-creator/rules/en/file-boundaries.md +10 -0
- package/packs/content-creator/rules/en/overview.md +9 -0
- package/packs/content-creator/rules/en/review.md +13 -0
- package/packs/content-creator/rules/en/workflow.md +8 -0
- package/packs/content-creator/rules/zh/file-boundaries.md +10 -0
- package/packs/content-creator/rules/zh/overview.md +9 -0
- package/packs/content-creator/rules/zh/review.md +13 -0
- package/packs/content-creator/rules/zh/workflow.md +8 -0
- package/packs/content-creator/seed/en/account-profile/README.md +3 -0
- package/packs/content-creator/seed/en/analytics-review/README.md +3 -0
- package/packs/content-creator/seed/en/drafts-and-scripts/README.md +3 -0
- package/packs/content-creator/seed/en/ideas/README.md +3 -0
- package/packs/content-creator/seed/en/materials/README.md +3 -0
- package/packs/content-creator/seed/en/published/README.md +3 -0
- package/packs/content-creator/seed/zh//345/217/221/345/270/203/350/256/260/345/275/225/README.md +5 -0
- package/packs/content-creator/seed/zh//346/225/260/346/215/256/345/244/215/347/233/230/README.md +3 -0
- package/packs/content-creator/seed/zh//347/264/240/346/235/220/345/272/223/README.md +5 -0
- 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
- package/packs/content-creator/seed/zh//350/264/246/345/217/267/345/256/232/344/275/215/README.md +3 -0
- package/packs/content-creator/seed/zh//351/200/211/351/242/230/346/261/240/README.md +3 -0
- package/packs/content-creator/templates/en/content-brief.md +21 -0
- package/packs/content-creator/templates/en/publish-record.md +23 -0
- package/packs/content-creator/templates/en/weekly-review.md +21 -0
- package/packs/content-creator/templates/zh/content-brief.md +30 -0
- package/packs/content-creator/templates/zh/publish-record.md +21 -0
- package/packs/content-creator/templates/zh/weekly-review.md +22 -0
- package/packs/general/README.md +5 -0
- package/packs/general/languages/en.json +19 -0
- package/packs/general/languages/zh.json +19 -0
- package/packs/general/pack.json +20 -0
- package/packs/general/rules/en/overview.md +7 -0
- package/packs/general/rules/en/workflow.md +6 -0
- package/packs/general/rules/zh/overview.md +7 -0
- package/packs/general/rules/zh/workflow.md +6 -0
- package/packs/hub-management/README.md +5 -0
- package/packs/hub-management/languages/en.json +27 -0
- package/packs/hub-management/languages/zh.json +27 -0
- package/packs/hub-management/pack.json +28 -0
- package/packs/hub-management/rules/en/overview.md +7 -0
- package/packs/hub-management/rules/en/workflow.md +6 -0
- package/packs/hub-management/rules/zh/overview.md +7 -0
- package/packs/hub-management/rules/zh/workflow.md +6 -0
- package/packs/hub-management/seed/en/.incoming/README.md +3 -0
- package/packs/hub-management/seed/en/projects/coordination/README.md +5 -0
- package/packs/hub-management/seed/en/projects/registry.json +4 -0
- package/packs/hub-management/seed/zh/.incoming/README.md +5 -0
- package/packs/hub-management/seed/zh//351/241/271/347/233/256/registry.json +4 -0
- package/packs/hub-management/seed/zh//351/241/271/347/233/256//350/201/224/347/273/234/README.md +5 -0
- package/packs/pack-structure-spec.md +315 -0
- package/schemas/README.md +3 -0
- package/skills/README.md +17 -0
- package/skills/starworkInit/SKILL.md +289 -0
- package/skills/starworkInit/agents/openai.yaml +7 -0
- package/skills/starworkInit-spec.md +585 -0
- package/skills/starworkSpawn/SKILL.md +136 -0
- package/skills/starworkSpawn/agents/openai.yaml +7 -0
package/cli/init-spec.md
ADDED
|
@@ -0,0 +1,435 @@
|
|
|
1
|
+
# `starwork init` SPEC
|
|
2
|
+
|
|
3
|
+
## 状态
|
|
4
|
+
|
|
5
|
+
- 版本:v0.1 draft
|
|
6
|
+
- 所属模块:StarWork CLI
|
|
7
|
+
- 命令:`starwork init`
|
|
8
|
+
- 目标:把 Core Kit 和场景 Pack 组装成一个可直接使用的 StarWork 工作台
|
|
9
|
+
|
|
10
|
+
## 一句话定义
|
|
11
|
+
|
|
12
|
+
`starwork init` 是 StarWork 的初始化入口。
|
|
13
|
+
|
|
14
|
+
它不要求用户理解 preset、profile、capability、Kit、Pack 等内部概念,而是通过友好提问,把用户想要的工作方式翻译成可落地的工作台结构。
|
|
15
|
+
|
|
16
|
+
## 设计原则
|
|
17
|
+
|
|
18
|
+
1. 用户选择工作方式,不选择内部技术名。
|
|
19
|
+
2. 初始化结果必须是可工作的最终工作台,不是半套协议文件。
|
|
20
|
+
3. Kit 负责通用 AI 工作区结构,Pack 负责场景定制结构。
|
|
21
|
+
4. 通用场景也是一个 Pack,不存在“无 Pack”的最终工作台。
|
|
22
|
+
5. 初始化可以创建和补充文件,但不能静默覆盖用户已有内容。
|
|
23
|
+
6. 多项目管理中枢是 `init` 的一种工作区类型;卫星项目创建不属于本命令。
|
|
24
|
+
|
|
25
|
+
## 术语边界
|
|
26
|
+
|
|
27
|
+
### Kit
|
|
28
|
+
|
|
29
|
+
Kit 是 AI 工作区的通用模板。
|
|
30
|
+
|
|
31
|
+
它决定:
|
|
32
|
+
|
|
33
|
+
- Agent 入口文件在哪里
|
|
34
|
+
- 项目状态在哪里
|
|
35
|
+
- 当前工作索引在哪里
|
|
36
|
+
- 是否启用事项机制
|
|
37
|
+
- 是否启用本地身份和教训
|
|
38
|
+
- 是否是多项目管理中枢
|
|
39
|
+
|
|
40
|
+
Kit 不决定具体业务场景。
|
|
41
|
+
|
|
42
|
+
### Pack
|
|
43
|
+
|
|
44
|
+
Pack 是场景定制模板。
|
|
45
|
+
|
|
46
|
+
它决定:
|
|
47
|
+
|
|
48
|
+
- 工作台用于什么场景
|
|
49
|
+
- 场景目录有哪些
|
|
50
|
+
- 场景模板有哪些
|
|
51
|
+
- 业务工作默认在哪里推进
|
|
52
|
+
- 正式成果默认在哪里沉淀
|
|
53
|
+
- Agent 在该场景下应遵守哪些额外规则
|
|
54
|
+
|
|
55
|
+
Pack 可以覆盖 Kit 预留出来的场景配置,但不能破坏 Core 的基础角色。
|
|
56
|
+
|
|
57
|
+
### 最终工作台
|
|
58
|
+
|
|
59
|
+
最终工作台由 Kit + Pack 组装而成。
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
Core 协议
|
|
63
|
+
↓
|
|
64
|
+
Kit:通用工作区模板
|
|
65
|
+
↓
|
|
66
|
+
Pack:场景定制模板
|
|
67
|
+
↓
|
|
68
|
+
用户真正使用的 StarWork 工作台
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## 用户流程
|
|
72
|
+
|
|
73
|
+
默认运行:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
starwork init
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
进入引导式流程。
|
|
80
|
+
|
|
81
|
+
### Step 0:识别当前目录
|
|
82
|
+
|
|
83
|
+
CLI 先检查当前目录状态:
|
|
84
|
+
|
|
85
|
+
- 是否为空目录
|
|
86
|
+
- 是否已有普通项目文件
|
|
87
|
+
- 是否已有 StarWork 标记文件
|
|
88
|
+
- 是否位于另一个 StarWork 工作区内部
|
|
89
|
+
- 是否存在高风险冲突文件,例如 `AGENTS.md`、`README.md`、`_系统/`
|
|
90
|
+
|
|
91
|
+
如果检测到已经初始化过 StarWork,应提示用户:
|
|
92
|
+
|
|
93
|
+
```text
|
|
94
|
+
当前目录看起来已经是 StarWork 工作台。
|
|
95
|
+
你可以运行 starwork doctor 检查状态,或使用后续升级命令更新结构。
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
v0.1 不在 `init` 中处理升级。
|
|
99
|
+
|
|
100
|
+
### Step 1:选择工作区类型
|
|
101
|
+
|
|
102
|
+
提问:
|
|
103
|
+
|
|
104
|
+
```text
|
|
105
|
+
你要建立哪种工作区?
|
|
106
|
+
|
|
107
|
+
1. 轻量单项目
|
|
108
|
+
适合放资料、写草稿、整理最终成果。
|
|
109
|
+
|
|
110
|
+
2. 长期单项目
|
|
111
|
+
适合需要事项追踪、跨会话接力、长期沉淀过程的项目。
|
|
112
|
+
|
|
113
|
+
3. 多项目管理中枢
|
|
114
|
+
适合你有多个长期项目,希望统一管理身份、教训、知识、skills 和项目联络。
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
内部映射:
|
|
118
|
+
|
|
119
|
+
| 用户选择 | Kit / Preset | 说明 |
|
|
120
|
+
|---|---|---|
|
|
121
|
+
| 轻量单项目 | `local-starter` | 不启用事项机制,使用轻量输入输出结构。 |
|
|
122
|
+
| 长期单项目 | `local-matter` | 启用 Matter Mode 和决策记录。 |
|
|
123
|
+
| 多项目管理中枢 | `hub` | 建立主库 / 中枢,不创建卫星项目。 |
|
|
124
|
+
|
|
125
|
+
注意:Core 中的 `satellite-matter` 更接近卫星项目 Kit,不应被 `init` 的“多项目管理中枢”入口直接使用。`init` 应使用独立的 Hub Kit / Hub Preset。
|
|
126
|
+
|
|
127
|
+
### Step 2:选择 Pack
|
|
128
|
+
|
|
129
|
+
如果用户选择单项目工作区,继续提问:
|
|
130
|
+
|
|
131
|
+
```text
|
|
132
|
+
你准备用这个工作台做什么?
|
|
133
|
+
|
|
134
|
+
1. 通用工作
|
|
135
|
+
默认 Pack,适合资料整理、草稿输出、项目推进。
|
|
136
|
+
|
|
137
|
+
2. 自媒体内容创作
|
|
138
|
+
安装内容创作者 Pack,包含账号定位、选题、素材、草稿、发布、复盘等结构。
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
内部映射:
|
|
142
|
+
|
|
143
|
+
| 用户选择 | Pack | 说明 |
|
|
144
|
+
|---|---|---|
|
|
145
|
+
| 通用工作 | `general` | 默认 Pack。不是“无 Pack”。 |
|
|
146
|
+
| 自媒体内容创作 | `content-creator` | 首个场景 Pack。 |
|
|
147
|
+
|
|
148
|
+
如果用户选择多项目管理中枢,不展示业务 Pack 列表。
|
|
149
|
+
|
|
150
|
+
多项目管理中枢应使用自己的管理 Pack:
|
|
151
|
+
|
|
152
|
+
| 工作区类型 | Pack | 说明 |
|
|
153
|
+
|---|---|---|
|
|
154
|
+
| 多项目管理中枢 | `hub-management` | 定义项目注册、共享身份、共享教训、知识库、skills 和跨项目联络。 |
|
|
155
|
+
|
|
156
|
+
### Step 3:确认基本信息
|
|
157
|
+
|
|
158
|
+
CLI 询问或自动推断:
|
|
159
|
+
|
|
160
|
+
- 工作台名称:默认使用当前目录名。
|
|
161
|
+
- 语言:v0.1 默认中文;高级参数可选择英文。
|
|
162
|
+
- 正式成果位置:默认由 Kit + Pack 合并后决定。
|
|
163
|
+
- 是否继续预览:默认是。
|
|
164
|
+
|
|
165
|
+
正式成果位置的优先级:
|
|
166
|
+
|
|
167
|
+
```text
|
|
168
|
+
用户显式参数 > Pack 默认值 > Kit 默认值
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
当前工作索引文件仍由 Kit / Core 决定,例如:
|
|
172
|
+
|
|
173
|
+
```text
|
|
174
|
+
_系统/任务/当前工作.md
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
但业务工作实际推进位置可以由 Pack 覆盖,例如自媒体 Pack 可以把单篇内容推进到内容事项或内容生产目录。
|
|
178
|
+
|
|
179
|
+
### Step 4:预览计划
|
|
180
|
+
|
|
181
|
+
在写入前展示计划:
|
|
182
|
+
|
|
183
|
+
```text
|
|
184
|
+
将创建 StarWork 工作台:
|
|
185
|
+
|
|
186
|
+
工作区类型:长期单项目
|
|
187
|
+
Kit:local-matter
|
|
188
|
+
Pack:content-creator
|
|
189
|
+
工作台名称:my-content-workspace
|
|
190
|
+
|
|
191
|
+
将创建:
|
|
192
|
+
- AGENTS.md
|
|
193
|
+
- _系统/上下文/项目状态.md
|
|
194
|
+
- _系统/任务/当前工作.md
|
|
195
|
+
- 事项/注册表.md
|
|
196
|
+
- 选题池/
|
|
197
|
+
- 素材库/
|
|
198
|
+
- 草稿与脚本/
|
|
199
|
+
- 发布记录/
|
|
200
|
+
- 数据复盘/
|
|
201
|
+
|
|
202
|
+
不会覆盖:
|
|
203
|
+
- README.md 已存在,将保留
|
|
204
|
+
|
|
205
|
+
将生成:
|
|
206
|
+
- README.starwork.new
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
用户确认后才执行。
|
|
210
|
+
|
|
211
|
+
### Step 5:执行初始化
|
|
212
|
+
|
|
213
|
+
执行顺序:
|
|
214
|
+
|
|
215
|
+
1. 解析 Kit。
|
|
216
|
+
2. 解析 Pack 的 `pack.json`。
|
|
217
|
+
3. 根据 Kit / profile 语言读取 `languages/<language>.json`。
|
|
218
|
+
4. 合并 Pack 的业务角色、语言路径、模板、规则和默认配置。
|
|
219
|
+
5. 生成写入计划。
|
|
220
|
+
6. 根据冲突策略写入文件。
|
|
221
|
+
7. 写入 CLI 内部状态。
|
|
222
|
+
8. 输出下一步建议。
|
|
223
|
+
|
|
224
|
+
完成提示示例:
|
|
225
|
+
|
|
226
|
+
```text
|
|
227
|
+
StarWork 工作台已创建。
|
|
228
|
+
|
|
229
|
+
下一步建议:
|
|
230
|
+
1. 运行 starwork doctor 检查工作区。
|
|
231
|
+
2. 打开 AGENTS.md,确认 Agent 入口规则。
|
|
232
|
+
3. 如果你使用 Codex / Claude Code / Cursor,可运行 starwork adapt 生成适配文件。
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## 写入规则
|
|
236
|
+
|
|
237
|
+
### 默认策略
|
|
238
|
+
|
|
239
|
+
| 情况 | 行为 |
|
|
240
|
+
|---|---|
|
|
241
|
+
| 文件不存在 | 创建 |
|
|
242
|
+
| 目录不存在 | 创建 |
|
|
243
|
+
| 文件存在且为空 | 询问后写入 |
|
|
244
|
+
| 文件存在且看起来是 StarWork 旧模板 | 询问后更新 |
|
|
245
|
+
| 文件存在且有用户内容 | 不覆盖,生成 `.starwork-new` 或 `.new` |
|
|
246
|
+
| 目录存在 | 合并新增内容 |
|
|
247
|
+
| 用户未确认 | 不写入 |
|
|
248
|
+
|
|
249
|
+
v0.1 默认不删除任何文件。
|
|
250
|
+
|
|
251
|
+
### 冲突输出
|
|
252
|
+
|
|
253
|
+
当文件冲突时,优先生成旁路文件:
|
|
254
|
+
|
|
255
|
+
```text
|
|
256
|
+
README.starwork-new.md
|
|
257
|
+
AGENTS.starwork-new.md
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
具体命名后续实现时统一,但必须满足:
|
|
261
|
+
|
|
262
|
+
- 不覆盖原文件
|
|
263
|
+
- 文件名可读
|
|
264
|
+
- 用户能看懂它是 StarWork 建议的新版本
|
|
265
|
+
|
|
266
|
+
## Pack 覆盖规则
|
|
267
|
+
|
|
268
|
+
Pack 可以覆盖:
|
|
269
|
+
|
|
270
|
+
- 正式成果默认路径
|
|
271
|
+
- 业务工作默认路径
|
|
272
|
+
- 场景目录
|
|
273
|
+
- 场景模板
|
|
274
|
+
- 场景规则
|
|
275
|
+
- 推荐下一步动作
|
|
276
|
+
|
|
277
|
+
Pack 不应覆盖:
|
|
278
|
+
|
|
279
|
+
- Core 入口角色
|
|
280
|
+
- Kit 的项目状态索引角色
|
|
281
|
+
- Kit 的当前工作索引角色
|
|
282
|
+
- 用户已有内容
|
|
283
|
+
- 已存在的事项真实记录
|
|
284
|
+
- 已确认的决策记录
|
|
285
|
+
|
|
286
|
+
也就是说:
|
|
287
|
+
|
|
288
|
+
```text
|
|
289
|
+
Pack 可以改变业务流向,但不能移除工作区仪表盘。
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
## CLI 内部状态
|
|
293
|
+
|
|
294
|
+
初始化后,CLI 应写入一个机器可读状态文件,用于后续 `doctor`、`adapt`、Pack 安装和升级。
|
|
295
|
+
|
|
296
|
+
建议位置:
|
|
297
|
+
|
|
298
|
+
```text
|
|
299
|
+
.starwork/workspace.json
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
示例:
|
|
303
|
+
|
|
304
|
+
```json
|
|
305
|
+
{
|
|
306
|
+
"schema": "starwork.workspace.v0.1",
|
|
307
|
+
"core": "0.1",
|
|
308
|
+
"workspace_type": "single-matter",
|
|
309
|
+
"kit": "local-matter",
|
|
310
|
+
"packs": [
|
|
311
|
+
"content-creator"
|
|
312
|
+
],
|
|
313
|
+
"language": "zh",
|
|
314
|
+
"formal_source": "由 pack 或用户选择决定",
|
|
315
|
+
"created_by": "starwork init",
|
|
316
|
+
"created_at": "2026-05-11"
|
|
317
|
+
}
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
该文件是 CLI 状态,不是项目事实源。用户不应通过手改它来表达项目进度。
|
|
321
|
+
|
|
322
|
+
## 参数模式
|
|
323
|
+
|
|
324
|
+
引导式是默认模式;参数模式用于熟练用户和自动化。
|
|
325
|
+
|
|
326
|
+
建议参数:
|
|
327
|
+
|
|
328
|
+
```bash
|
|
329
|
+
starwork init
|
|
330
|
+
starwork init --type single-light --pack general
|
|
331
|
+
starwork init --type single-matter --pack content-creator
|
|
332
|
+
starwork init --type hub
|
|
333
|
+
starwork init --name "我的内容工作台"
|
|
334
|
+
starwork init --formal-source outputs/final
|
|
335
|
+
starwork init --target ./my-workspace
|
|
336
|
+
starwork init --dry-run
|
|
337
|
+
starwork init --yes
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
参数说明:
|
|
341
|
+
|
|
342
|
+
| 参数 | 说明 |
|
|
343
|
+
|---|---|
|
|
344
|
+
| `--type` | 工作区类型:`single-light`、`single-matter`、`hub`。 |
|
|
345
|
+
| `--pack` | Pack ID;单项目默认 `general`,自媒体为 `content-creator`。 |
|
|
346
|
+
| `--name` | 工作台名称。 |
|
|
347
|
+
| `--formal-source` | 覆盖默认正式成果位置。 |
|
|
348
|
+
| `--target` | 指定初始化目标目录;默认是当前目录。 |
|
|
349
|
+
| `--dry-run` | 只预览,不写入。 |
|
|
350
|
+
| `--yes` | 接受默认值并执行;仍不得覆盖用户已有内容。 |
|
|
351
|
+
|
|
352
|
+
v0.1 暂不建议直接暴露 `--preset` 给普通用户。可以保留内部或高级参数,但帮助文案应优先展示 `--type` 和 `--pack`。
|
|
353
|
+
|
|
354
|
+
## 与其他命令的关系
|
|
355
|
+
|
|
356
|
+
### `starwork doctor`
|
|
357
|
+
|
|
358
|
+
`init` 结束后建议运行 `doctor`。
|
|
359
|
+
|
|
360
|
+
`doctor` 应读取 `.starwork/workspace.json`,并检查:
|
|
361
|
+
|
|
362
|
+
- Core 必需角色是否存在
|
|
363
|
+
- Kit 文件是否完整
|
|
364
|
+
- Pack 文件是否完整
|
|
365
|
+
- 是否存在冲突旁路文件
|
|
366
|
+
- 是否存在需要用户合并的内容
|
|
367
|
+
|
|
368
|
+
### `starwork adapt`
|
|
369
|
+
|
|
370
|
+
`init` 不默认运行 `adapt`。
|
|
371
|
+
|
|
372
|
+
原因:
|
|
373
|
+
|
|
374
|
+
- 不同 Agent 的适配文件不同。
|
|
375
|
+
- 用户可能只想先生成工作台。
|
|
376
|
+
- v0.1 应保持初始化路径简单。
|
|
377
|
+
|
|
378
|
+
`init` 完成后提示用户运行 `starwork adapt`。
|
|
379
|
+
|
|
380
|
+
### `starwork pack install`
|
|
381
|
+
|
|
382
|
+
`pack install` 仍然保留,但不是普通用户第一次使用的主路径。
|
|
383
|
+
|
|
384
|
+
使用场景:
|
|
385
|
+
|
|
386
|
+
- 已有 StarWork 工作台后补装 Pack。
|
|
387
|
+
- 高级用户明确知道要安装哪个 Pack。
|
|
388
|
+
- 自动化脚本单独安装 Pack。
|
|
389
|
+
|
|
390
|
+
## 暂不处理
|
|
391
|
+
|
|
392
|
+
v0.1 `init` 不处理:
|
|
393
|
+
|
|
394
|
+
- 卫星项目创建
|
|
395
|
+
- 账号系统
|
|
396
|
+
- 云端登录
|
|
397
|
+
- 付费授权
|
|
398
|
+
- Pack 市场
|
|
399
|
+
- 自动升级旧工作区
|
|
400
|
+
- 删除或重排用户已有内容
|
|
401
|
+
- 复杂多语言 Pack 混装
|
|
402
|
+
- 多个业务 Pack 同时安装后的冲突解决
|
|
403
|
+
|
|
404
|
+
## v0.1 实现状态
|
|
405
|
+
|
|
406
|
+
当前 M2 CLI v0.1 最小闭环已补齐:
|
|
407
|
+
|
|
408
|
+
1. `general` 默认 Pack 的声明。
|
|
409
|
+
2. `content-creator` Pack 的声明文件。
|
|
410
|
+
3. Hub Kit / Hub Preset,避免把多项目管理中枢误映射到卫星项目 Kit。
|
|
411
|
+
4. `hub-management` Pack。
|
|
412
|
+
5. `.starwork/workspace.json` 最小状态文件。
|
|
413
|
+
6. 写入计划、dry-run 预览和冲突旁路文件策略。
|
|
414
|
+
7. `doctor` 对 `.starwork/workspace.json`、Kit 和 Pack 的检查。
|
|
415
|
+
8. `adapt` 对 Codex、Claude Code、Cursor、Trae 的轻量适配。
|
|
416
|
+
9. `pack install` 对已有健康工作台的补装 Pack 能力。
|
|
417
|
+
|
|
418
|
+
后续仍需要补齐:
|
|
419
|
+
|
|
420
|
+
1. 正式 JSON Schema 文件。
|
|
421
|
+
2. 更细的模板 slot 机制。
|
|
422
|
+
3. Pack 升级、卸载和迁移机制。
|
|
423
|
+
|
|
424
|
+
## v0.1 验收标准
|
|
425
|
+
|
|
426
|
+
`starwork init` v0.1 可验收,至少满足:
|
|
427
|
+
|
|
428
|
+
- 普通用户无需理解 Kit / Pack / preset,也能完成初始化。
|
|
429
|
+
- 用户能在写入前看懂将创建什么。
|
|
430
|
+
- 初始化不会静默覆盖已有内容。
|
|
431
|
+
- 轻量单项目、长期单项目、多项目管理中枢三种入口边界清楚。
|
|
432
|
+
- 通用工作和自媒体内容创作都通过 Pack 表达。
|
|
433
|
+
- 多项目管理中枢不安装业务 Pack。
|
|
434
|
+
- 初始化结果可被 `starwork doctor` 检查。
|
|
435
|
+
- 后续可以通过 `starwork pack install` 补装 Pack。
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# `starwork pack install` SPEC
|
|
2
|
+
|
|
3
|
+
## 状态
|
|
4
|
+
|
|
5
|
+
- 版本:v0.1 draft
|
|
6
|
+
- 所属模块:StarWork CLI
|
|
7
|
+
- 命令:`starwork pack install`
|
|
8
|
+
- 实现状态:v0.1 最小实现已落地
|
|
9
|
+
- 目标:在已有 StarWork 工作台中安全补装场景 Pack
|
|
10
|
+
|
|
11
|
+
## 一句话定义
|
|
12
|
+
|
|
13
|
+
`starwork pack install` 是 StarWork 的场景扩展命令。
|
|
14
|
+
|
|
15
|
+
`init` 负责第一次生成 Kit + Pack 的最终工作台;`pack install` 负责在已有健康工作台上补装新的 Pack。
|
|
16
|
+
|
|
17
|
+
## 设计原则
|
|
18
|
+
|
|
19
|
+
1. 安装前必须通过 `doctor` 的阻塞检查。
|
|
20
|
+
2. Pack 必须支持当前工作区类型。
|
|
21
|
+
3. Pack 路径、seed、templates 按工作区语言落地。
|
|
22
|
+
4. Pack 规则追加到 `AGENTS.md`,但不重写用户已有规则。
|
|
23
|
+
5. 安装结果写入 `.starwork/workspace.json`。
|
|
24
|
+
6. 已安装 Pack 不重复安装。
|
|
25
|
+
|
|
26
|
+
## 命令形式
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
starwork pack install content-creator
|
|
30
|
+
starwork pack install content-creator --target ./my-workspace --yes
|
|
31
|
+
starwork pack install content-creator --dry-run
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## v0.1 行为
|
|
35
|
+
|
|
36
|
+
安装 Pack 时,CLI 会:
|
|
37
|
+
|
|
38
|
+
1. 定位 StarWork 工作台。
|
|
39
|
+
2. 读取 `.starwork/workspace.json`。
|
|
40
|
+
3. 运行阻塞级 `doctor` 检查。
|
|
41
|
+
4. 读取 Pack 的 `pack.json` 和 `languages/<language>.json`。
|
|
42
|
+
5. 校验 Core 版本和工作区类型。
|
|
43
|
+
6. 创建 Pack 目录。
|
|
44
|
+
7. 写入 Pack seed。
|
|
45
|
+
8. 复制 Pack templates 到 `.starwork/packs/<pack-id>/templates/`。
|
|
46
|
+
9. 将 Pack 规则追加到 `AGENTS.md`。
|
|
47
|
+
10. 更新 workspace state。
|
|
48
|
+
|
|
49
|
+
## v0.1 不做什么
|
|
50
|
+
|
|
51
|
+
- 不卸载 Pack。
|
|
52
|
+
- 不升级已安装 Pack。
|
|
53
|
+
- 不解决多个业务 Pack 的复杂冲突。
|
|
54
|
+
- 不删除或移动用户文件。
|
|
55
|
+
- 不执行 Pack 脚本。
|
|
56
|
+
|
|
57
|
+
## 验收标准
|
|
58
|
+
|
|
59
|
+
- 在 `single-light + general` 工作台上安装 `content-creator` 后,`doctor` 仍通过。
|
|
60
|
+
- workspace state 中记录新 Pack。
|
|
61
|
+
- Pack seed 和 templates 落地。
|
|
62
|
+
- `AGENTS.md` 中出现 Pack 规则标记。
|
|
63
|
+
- 不支持当前工作区类型的 Pack 会被拒绝。
|