@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
|
@@ -0,0 +1,585 @@
|
|
|
1
|
+
# `starworkInit` Skill SPEC
|
|
2
|
+
|
|
3
|
+
## 状态
|
|
4
|
+
|
|
5
|
+
- 版本:v0.1 draft
|
|
6
|
+
- 所属模块:StarWork Skills
|
|
7
|
+
- Skill 名称:`starworkInit`
|
|
8
|
+
- 相关命令:`starwork init`
|
|
9
|
+
- 实现状态:未实现
|
|
10
|
+
- 目标:帮助 Agent 把用户“我想建一个工作台”的模糊需求,整理成可预览、可执行、可解释的 StarWork 初始化方案
|
|
11
|
+
|
|
12
|
+
## 一句话定义
|
|
13
|
+
|
|
14
|
+
`starworkInit` 是 StarWork 初始化设计 skill。
|
|
15
|
+
|
|
16
|
+
它不是 `starwork init` 命令本身,而是命令执行前的 AI 设计助手:
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
用户说想建工作台
|
|
20
|
+
↓
|
|
21
|
+
starworkInit skill 追问和判断
|
|
22
|
+
↓
|
|
23
|
+
初始化方案 / init blueprint
|
|
24
|
+
↓
|
|
25
|
+
starwork init 或未来 starwork init --blueprint
|
|
26
|
+
↓
|
|
27
|
+
可用 StarWork 工作台
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## 为什么它是 skill,不是 CLI 规格
|
|
31
|
+
|
|
32
|
+
`init` 处在用户最早期的入口。此时用户往往还没想清楚:
|
|
33
|
+
|
|
34
|
+
- 是要单项目,还是多项目中枢
|
|
35
|
+
- 是轻量工作台,还是长期事项型工作台
|
|
36
|
+
- 是否需要 Pack
|
|
37
|
+
- 正式成果应该放哪里
|
|
38
|
+
- 当前推进过程应该放哪里
|
|
39
|
+
- 是否有自己的命名习惯
|
|
40
|
+
- 是否未来会升级成 Hub + Satellite
|
|
41
|
+
|
|
42
|
+
这些不是 CLI 参数能一次问清的,而是 Agent 应该通过对话帮用户梳理。
|
|
43
|
+
|
|
44
|
+
所以本 SPEC 的主角是:
|
|
45
|
+
|
|
46
|
+
> Agent 如何判断、如何追问、如何输出初始化方案。
|
|
47
|
+
|
|
48
|
+
CLI 的 `init --blueprint` 只是未来承接这个方案的执行入口。
|
|
49
|
+
|
|
50
|
+
## 与 `starworkSpawn` 的关系
|
|
51
|
+
|
|
52
|
+
| Skill | 用户状态 | 目标 | 依赖 Hub |
|
|
53
|
+
|---|---|---|---:|
|
|
54
|
+
| `starworkInit` | 还没有工作台 | 从 0 设计并创建工作台 | 否 |
|
|
55
|
+
| `starworkSpawn` | 已有 Hub | 从 Hub 派生一个项目工作台 | 是 |
|
|
56
|
+
|
|
57
|
+
`starworkInit` 解决的是:
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
我要建立什么样的工作系统?
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
`starworkSpawn` 解决的是:
|
|
64
|
+
|
|
65
|
+
```text
|
|
66
|
+
这个 Hub 下的新项目要长什么样?
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
二者可以共享“blueprint”思想,但不应共用同一个 schema。
|
|
70
|
+
|
|
71
|
+
## Skill 输入
|
|
72
|
+
|
|
73
|
+
用户可能会这样触发:
|
|
74
|
+
|
|
75
|
+
- “帮我建一个 StarWork 工作台”
|
|
76
|
+
- “我要初始化一个内容创作工作台”
|
|
77
|
+
- “我想建一个多项目管理系统”
|
|
78
|
+
- “我想用 StarWork 管一个长期项目”
|
|
79
|
+
- “这个工作台的目录我想定制一下”
|
|
80
|
+
- “init 有没有类似 spawn blueprint 的定制能力”
|
|
81
|
+
|
|
82
|
+
skill 应在这些场景下启动。
|
|
83
|
+
|
|
84
|
+
## Skill 输出
|
|
85
|
+
|
|
86
|
+
根据用户需求成熟度,`starworkInit` 可以输出三种结果。
|
|
87
|
+
|
|
88
|
+
### 1. 初始化建议
|
|
89
|
+
|
|
90
|
+
当用户还在讨论阶段,输出一份人能读懂的建议:
|
|
91
|
+
|
|
92
|
+
```text
|
|
93
|
+
建议使用:single-matter
|
|
94
|
+
基础 Kit:local-matter
|
|
95
|
+
Pack:content-creator
|
|
96
|
+
正式成果:发布记录/
|
|
97
|
+
当前工作:事项/
|
|
98
|
+
额外目录:账号定位/、选题池/、素材库/
|
|
99
|
+
原因:这是长期内容工作台,需要事项追踪和内容生产闭环。
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### 2. 初始化定制单
|
|
103
|
+
|
|
104
|
+
当用户要求落地方案时,生成:
|
|
105
|
+
|
|
106
|
+
```text
|
|
107
|
+
<workspace>-init/
|
|
108
|
+
├── init-blueprint.json
|
|
109
|
+
├── rules/
|
|
110
|
+
│ ├── file-boundaries.md
|
|
111
|
+
│ ├── workflow.md
|
|
112
|
+
│ └── startup.md
|
|
113
|
+
└── seed/
|
|
114
|
+
└── ...
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### 3. 执行指令
|
|
118
|
+
|
|
119
|
+
当用户准备测试时,给出命令:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
starwork init --target <workspace-path> --blueprint <init-blueprint.json> --dry-run
|
|
123
|
+
starwork init --target <workspace-path> --blueprint <init-blueprint.json> --yes
|
|
124
|
+
starwork doctor --target <workspace-path>
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
注意:当前 CLI 尚未实现 `init --blueprint`,因此在实现前应说明这是目标命令形态;当前可执行路径仍是普通 `starwork init` 加后续手工调整或未来 CLI 实现。
|
|
128
|
+
|
|
129
|
+
## 交互流程
|
|
130
|
+
|
|
131
|
+
`starworkInit` 不应该像填表工具一样一上来问一长串问题。
|
|
132
|
+
|
|
133
|
+
它应该像一个会带路的顾问:先判断岔路,再决定哪些问题需要问、哪些问题根本不用问。
|
|
134
|
+
|
|
135
|
+
### 总流程
|
|
136
|
+
|
|
137
|
+
```text
|
|
138
|
+
Step 1 判断工作台类型
|
|
139
|
+
├─ hub:跳过 Step 2 / Step 3,直接进入 Hub 初始化建议
|
|
140
|
+
└─ single:继续判断是否需要事项
|
|
141
|
+
|
|
142
|
+
Step 2 判断是否需要事项
|
|
143
|
+
├─ 需要:single-matter
|
|
144
|
+
└─ 不需要:single-light
|
|
145
|
+
|
|
146
|
+
Step 3 判断 Pack
|
|
147
|
+
├─ 使用现成 Pack:general / content-creator
|
|
148
|
+
└─ 暂不支持深度定制其他 Pack
|
|
149
|
+
|
|
150
|
+
Step 4 判断是否需要定制工作台
|
|
151
|
+
├─ 不需要:输出标准初始化建议
|
|
152
|
+
└─ 需要:进入 Step 5-7 的友好采访
|
|
153
|
+
|
|
154
|
+
Step 5 采访正式成果放哪里
|
|
155
|
+
Step 6 采访日常工作在哪里发生
|
|
156
|
+
Step 7 采访额外固定区域和 Agent 规则
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Step 1:判断工作台类型
|
|
160
|
+
|
|
161
|
+
先问:
|
|
162
|
+
|
|
163
|
+
```text
|
|
164
|
+
你是想管理一个具体项目,还是建立一个能管理多个项目的中枢?
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
判断:
|
|
168
|
+
|
|
169
|
+
| 用户意图 | 推荐工作区 |
|
|
170
|
+
|---|---|
|
|
171
|
+
| 一个具体项目、资料整理、轻量输出 | `single-light` |
|
|
172
|
+
| 一个长期项目、跨会话推进、需要事项 | `single-matter` |
|
|
173
|
+
| 管理多个项目、统一身份/教训/知识/skills | `hub` |
|
|
174
|
+
|
|
175
|
+
如果用户说“以后可能会有很多项目”,但当前只是一个项目,优先建议:
|
|
176
|
+
|
|
177
|
+
```text
|
|
178
|
+
先用 single-matter;等多项目需求明确后再建 Hub。
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
除非用户明确要建立多项目中枢。
|
|
182
|
+
|
|
183
|
+
#### Hub 分支
|
|
184
|
+
|
|
185
|
+
如果判断为 `hub`,就不要继续追问“是否需要事项”和“选择哪个 Pack”。
|
|
186
|
+
|
|
187
|
+
Hub 的核心不是一个项目怎么推进,而是统一维护:
|
|
188
|
+
|
|
189
|
+
- 身份和长期偏好
|
|
190
|
+
- 跨项目经验教训
|
|
191
|
+
- 共享知识
|
|
192
|
+
- skills
|
|
193
|
+
- 多个项目的注册、分发和回收
|
|
194
|
+
|
|
195
|
+
因此 Hub 分支应直接输出:
|
|
196
|
+
|
|
197
|
+
```text
|
|
198
|
+
建议类型:hub
|
|
199
|
+
基础 Kit:hub
|
|
200
|
+
Pack:无须选择;Hub 使用中枢管理结构
|
|
201
|
+
事项:不作为 Hub 初始化必选项
|
|
202
|
+
下一步:确认 Hub 名称、项目注册区域、是否需要预置 skills/ 和 .incoming/
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Step 2:判断是否需要事项
|
|
206
|
+
|
|
207
|
+
仅当 Step 1 判断为 `single-light` 或 `single-matter` 候选时,才进入这一步。
|
|
208
|
+
|
|
209
|
+
问:
|
|
210
|
+
|
|
211
|
+
```text
|
|
212
|
+
这个工作会不会持续数周以上,或者需要多次接力?
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
判断:
|
|
216
|
+
|
|
217
|
+
- 需要长期推进、复盘、交接:`single-matter`
|
|
218
|
+
- 只是放资料、写草稿、收成果:`single-light`
|
|
219
|
+
- 管理多个项目:返回 Step 1,改为 `hub`
|
|
220
|
+
|
|
221
|
+
### Step 3:判断 Pack
|
|
222
|
+
|
|
223
|
+
仅当 Step 1 不是 `hub` 时,才进入这一步。
|
|
224
|
+
|
|
225
|
+
问:
|
|
226
|
+
|
|
227
|
+
```text
|
|
228
|
+
这个工作台主要用于什么场景?
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
判断:
|
|
232
|
+
|
|
233
|
+
| 场景 | 推荐 Pack |
|
|
234
|
+
|---|---|
|
|
235
|
+
| 泛用资料、草稿、项目推进 | `general` |
|
|
236
|
+
| 内容创作、自媒体、发布复盘 | `content-creator` |
|
|
237
|
+
| 多项目中枢管理 | `hub-management` |
|
|
238
|
+
|
|
239
|
+
规则:
|
|
240
|
+
|
|
241
|
+
- 通用工作也是 Pack:`general`
|
|
242
|
+
- Hub 不在 init 交互里让用户选择 Pack;Hub 使用中枢管理结构
|
|
243
|
+
- 不要把一次性目录偏好误判成新 Pack
|
|
244
|
+
- 重复出现的行业/岗位结构才考虑沉淀为 Pack
|
|
245
|
+
- v0.1 只支持对 `general` Pack 做定制修改
|
|
246
|
+
- 如果用户选择 `content-creator`,可以安装现成 Pack,但暂不进入自定义 Pack 结构采访
|
|
247
|
+
|
|
248
|
+
### Step 4:判断是否需要定制工作台
|
|
249
|
+
|
|
250
|
+
这是 Step 4-7 之前必须插入的判断节点。
|
|
251
|
+
|
|
252
|
+
问法要轻,不要让用户感觉自己在设计数据库:
|
|
253
|
+
|
|
254
|
+
```text
|
|
255
|
+
你想先用标准结构,还是希望我帮你按自己的工作习惯稍微改一下目录和规则?
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
判断:
|
|
259
|
+
|
|
260
|
+
| 用户选择 | 后续动作 |
|
|
261
|
+
|---|---|
|
|
262
|
+
| 标准结构就行 | 输出标准 Kit + Pack 初始化建议 |
|
|
263
|
+
| 想改一下 | 进入 Step 5-7 |
|
|
264
|
+
| 不确定 | 给 2-3 个具体例子帮用户判断 |
|
|
265
|
+
|
|
266
|
+
可以这样解释:
|
|
267
|
+
|
|
268
|
+
```text
|
|
269
|
+
标准结构像直接入住酒店;定制结构像把书桌、收纳盒和常用文件夹按你的习惯摆好。
|
|
270
|
+
如果你还没形成稳定习惯,先用标准结构更省心。
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
v0.1 的定制边界:
|
|
274
|
+
|
|
275
|
+
- 只支持基于 `general` Pack 做目录和规则定制
|
|
276
|
+
- 不支持定制 `content-creator` Pack 的内部结构
|
|
277
|
+
- 不支持定制 Hub 的中枢结构
|
|
278
|
+
- 不把单次定制升级成新 Pack
|
|
279
|
+
|
|
280
|
+
### Step 5:采访正式成果位置
|
|
281
|
+
|
|
282
|
+
问:
|
|
283
|
+
|
|
284
|
+
```text
|
|
285
|
+
哪些东西算“最终确认、以后要回看的成果”?
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
更友好的问法:
|
|
289
|
+
|
|
290
|
+
```text
|
|
291
|
+
等这个工作台用一段时间后,你最希望未来的自己回来翻到什么?
|
|
292
|
+
是最终交付物、发布记录、客户确认版,还是项目清单?
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
常见映射:
|
|
296
|
+
|
|
297
|
+
| 用户说法 | formal_source |
|
|
298
|
+
|---|---|
|
|
299
|
+
| 最终成果、交付物、确认版本 | `输出/确认成果/` 或 `交付物/确认版本/` |
|
|
300
|
+
| 已发布内容、发布记录 | `发布记录/` |
|
|
301
|
+
| 项目清单、项目注册 | `项目/` |
|
|
302
|
+
|
|
303
|
+
如果用户答不上来,可以先给默认建议:
|
|
304
|
+
|
|
305
|
+
```text
|
|
306
|
+
如果没有特别偏好,我会把正式成果放在“输出/确认成果/”,这样它和草稿、过程材料不会混在一起。
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
### Step 6:采访日常工作区
|
|
310
|
+
|
|
311
|
+
问:
|
|
312
|
+
|
|
313
|
+
```text
|
|
314
|
+
日常推进过程主要在哪里发生?
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
更友好的问法:
|
|
318
|
+
|
|
319
|
+
```text
|
|
320
|
+
你平时会在哪里“干活”?
|
|
321
|
+
比如写草稿、放参考资料、记录推进过程、整理待办和阶段判断。
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
常见映射:
|
|
325
|
+
|
|
326
|
+
| 工作方式 | business_work_area |
|
|
327
|
+
|---|---|
|
|
328
|
+
| 事项推进 | `事项/` |
|
|
329
|
+
| 轻量资料整理 | `参考资料/` |
|
|
330
|
+
| 内容草稿推进 | `草稿与脚本/` 或 `事项/` |
|
|
331
|
+
| Hub 管理 | `项目/` |
|
|
332
|
+
|
|
333
|
+
如果用户说“就是普通项目”,默认:
|
|
334
|
+
|
|
335
|
+
```text
|
|
336
|
+
single-light:参考资料/
|
|
337
|
+
single-matter:事项/
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
### Step 7:采访额外目录和 Agent 规则
|
|
341
|
+
|
|
342
|
+
只添加未来确实会使用的目录。
|
|
343
|
+
|
|
344
|
+
推荐问法:
|
|
345
|
+
|
|
346
|
+
```text
|
|
347
|
+
除了标准结构外,有没有你明确会反复使用的固定区域?
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
更友好的问法:
|
|
351
|
+
|
|
352
|
+
```text
|
|
353
|
+
有没有一些东西你每次都想单独放,不想和别的文件混在一起?
|
|
354
|
+
比如会议纪要、客户沟通、版本记录、素材库、复盘。
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
可以建议:
|
|
358
|
+
|
|
359
|
+
- `会议纪要/`
|
|
360
|
+
- `版本记录/`
|
|
361
|
+
- `客户沟通/`
|
|
362
|
+
- `资料库/`
|
|
363
|
+
- `项目复盘/`
|
|
364
|
+
|
|
365
|
+
避免:
|
|
366
|
+
|
|
367
|
+
- 含义重叠的目录
|
|
368
|
+
- 只为好看创建的目录
|
|
369
|
+
- 与 Pack 已有目录重复的目录
|
|
370
|
+
|
|
371
|
+
至少考虑两类规则:
|
|
372
|
+
|
|
373
|
+
```text
|
|
374
|
+
rules/file-boundaries.md
|
|
375
|
+
rules/workflow.md
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
可选:
|
|
379
|
+
|
|
380
|
+
```text
|
|
381
|
+
rules/startup.md
|
|
382
|
+
rules/handoff.md
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
规则应具体说明:
|
|
386
|
+
|
|
387
|
+
- 哪类信息放哪里
|
|
388
|
+
- 什么时候写正式成果
|
|
389
|
+
- 什么时候写事项
|
|
390
|
+
- 哪些目录只读
|
|
391
|
+
- 哪些内容需要用户确认
|
|
392
|
+
|
|
393
|
+
不要写泛泛的“提高效率”“保持清晰”。
|
|
394
|
+
|
|
395
|
+
### 采访原则
|
|
396
|
+
|
|
397
|
+
Step 5-7 的采访要避免抽象词,尽量用“你平时怎么做”的语言。
|
|
398
|
+
|
|
399
|
+
推荐方式:
|
|
400
|
+
|
|
401
|
+
- 一次只问一个问题
|
|
402
|
+
- 先给用户选项,再允许用户自由描述
|
|
403
|
+
- 用户说不清时,用默认值推进
|
|
404
|
+
- 每问完一轮,都用一句话复述当前判断
|
|
405
|
+
|
|
406
|
+
例如:
|
|
407
|
+
|
|
408
|
+
```text
|
|
409
|
+
我先按“正式成果放在 输出/确认成果/,日常推进放在 事项/”理解。
|
|
410
|
+
这样草稿和确认版不会混在一起。你看这个分法顺不顺手?
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
## Init Blueprint 建议结构
|
|
414
|
+
|
|
415
|
+
当需要产出机器可读方案时,使用:
|
|
416
|
+
|
|
417
|
+
```json
|
|
418
|
+
{
|
|
419
|
+
"schema": "starwork.init_blueprint.v0.1",
|
|
420
|
+
"name": "我的项目工作台",
|
|
421
|
+
"workspace_type": "single-matter",
|
|
422
|
+
"kit": "local-matter",
|
|
423
|
+
"language": "zh",
|
|
424
|
+
"pack": "general",
|
|
425
|
+
"paths": {
|
|
426
|
+
"formal_source": "输出/确认成果/",
|
|
427
|
+
"business_work_area": "事项/"
|
|
428
|
+
},
|
|
429
|
+
"folders": [
|
|
430
|
+
"会议纪要/",
|
|
431
|
+
"客户沟通/",
|
|
432
|
+
"版本记录/"
|
|
433
|
+
],
|
|
434
|
+
"agent_rules": [
|
|
435
|
+
{
|
|
436
|
+
"slot": "workspace.file_boundaries",
|
|
437
|
+
"from": "rules/file-boundaries.md"
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"slot": "workspace.workflow",
|
|
441
|
+
"from": "rules/workflow.md"
|
|
442
|
+
}
|
|
443
|
+
],
|
|
444
|
+
"seed": [
|
|
445
|
+
{
|
|
446
|
+
"from": "seed/会议纪要/README.md",
|
|
447
|
+
"to": "会议纪要/README.md",
|
|
448
|
+
"on_conflict": "error"
|
|
449
|
+
}
|
|
450
|
+
]
|
|
451
|
+
}
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
## Blueprint 字段建议
|
|
455
|
+
|
|
456
|
+
| 字段 | 说明 |
|
|
457
|
+
|---|---|
|
|
458
|
+
| `schema` | 固定为 `starwork.init_blueprint.v0.1`。 |
|
|
459
|
+
| `name` | 工作台名称。 |
|
|
460
|
+
| `description` | 工作台说明,可写入项目状态。 |
|
|
461
|
+
| `workspace_type` | `single-light`、`single-matter` 或 `hub`。 |
|
|
462
|
+
| `kit` | `local-starter`、`local-matter` 或 `hub`。 |
|
|
463
|
+
| `language` | v0.1 先使用 `zh`。 |
|
|
464
|
+
| `pack` | 标准初始化可选择 `general` 或已有场景 Pack;v0.1 定制 blueprint 只支持 `general`。 |
|
|
465
|
+
| `paths.formal_source` | 正式成果位置。 |
|
|
466
|
+
| `paths.business_work_area` | 当前工作区。 |
|
|
467
|
+
| `folders` | 额外目录。 |
|
|
468
|
+
| `agent_rules` | 要注入的规则文件。 |
|
|
469
|
+
| `seed` | 初始化占位文件。 |
|
|
470
|
+
|
|
471
|
+
## 必须遵守的判断边界
|
|
472
|
+
|
|
473
|
+
### 不用 init 创建卫星项目
|
|
474
|
+
|
|
475
|
+
如果用户要在已有 Hub 下创建项目,应转向 `starworkSpawn`:
|
|
476
|
+
|
|
477
|
+
```text
|
|
478
|
+
已有 Hub + 新项目 = starworkSpawn
|
|
479
|
+
从 0 建工作台 = starworkInit
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
### 不把一次性偏好做成 Pack
|
|
483
|
+
|
|
484
|
+
如果用户只是想把 `发布记录/` 改成 `成品库/`,这是 Init Blueprint。
|
|
485
|
+
|
|
486
|
+
如果用户想创建一套未来反复给内容创作者使用的完整结构,才考虑 Pack。
|
|
487
|
+
|
|
488
|
+
### 不污染 Kit
|
|
489
|
+
|
|
490
|
+
skill 不能建议用户修改:
|
|
491
|
+
|
|
492
|
+
```text
|
|
493
|
+
product/core/kits/
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
Kit 是基础骨架,不服务于单次定制。
|
|
497
|
+
|
|
498
|
+
### 不让 blueprint 决定真实 target
|
|
499
|
+
|
|
500
|
+
真实写入位置必须来自命令参数或用户明确指定。
|
|
501
|
+
|
|
502
|
+
Blueprint 可以描述“工作台是什么”,不应该擅自决定“写到机器哪里”。
|
|
503
|
+
|
|
504
|
+
## 输出模板
|
|
505
|
+
|
|
506
|
+
当用户要求“先说方案”时:
|
|
507
|
+
|
|
508
|
+
```markdown
|
|
509
|
+
## 初始化建议
|
|
510
|
+
|
|
511
|
+
- 工作区类型:
|
|
512
|
+
- Kit:
|
|
513
|
+
- Pack:
|
|
514
|
+
- 正式成果:
|
|
515
|
+
- 当前工作区:
|
|
516
|
+
- 额外目录:
|
|
517
|
+
- 需要注入的规则:
|
|
518
|
+
|
|
519
|
+
## 为什么这样选
|
|
520
|
+
|
|
521
|
+
...
|
|
522
|
+
|
|
523
|
+
## 后续执行
|
|
524
|
+
|
|
525
|
+
当前可用:
|
|
526
|
+
...
|
|
527
|
+
|
|
528
|
+
未来 blueprint 执行:
|
|
529
|
+
...
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
当用户要求“生成定制单”时:
|
|
533
|
+
|
|
534
|
+
```text
|
|
535
|
+
<workspace>-init/
|
|
536
|
+
├── init-blueprint.json
|
|
537
|
+
├── rules/file-boundaries.md
|
|
538
|
+
├── rules/workflow.md
|
|
539
|
+
└── seed/...
|
|
540
|
+
```
|
|
541
|
+
|
|
542
|
+
## 与 CLI 的关系
|
|
543
|
+
|
|
544
|
+
`starworkInit` 的第一目标不是运行 CLI,而是生成正确方案。
|
|
545
|
+
|
|
546
|
+
CLI 后续应支持:
|
|
547
|
+
|
|
548
|
+
```bash
|
|
549
|
+
starwork init --target <path> --blueprint <init-blueprint.json> --dry-run
|
|
550
|
+
starwork init --target <path> --blueprint <init-blueprint.json> --yes
|
|
551
|
+
```
|
|
552
|
+
|
|
553
|
+
但在 CLI 实现前,skill 应该诚实说明:
|
|
554
|
+
|
|
555
|
+
```text
|
|
556
|
+
当前 CLI 还没有 init --blueprint 执行能力;这份定制单先作为实现依据。
|
|
557
|
+
```
|
|
558
|
+
|
|
559
|
+
## 待确认问题
|
|
560
|
+
|
|
561
|
+
1. `starworkInit` 是否需要先落成 skill,再实现 CLI `init --blueprint`?
|
|
562
|
+
2. 是否允许一个 Init Blueprint 安装多个 Pack?
|
|
563
|
+
3. Hub 初始化是否需要专门的 Hub Init Blueprint 子模式?
|
|
564
|
+
4. 是否要把 `init_blueprint` 和 `spawn_blueprint` 抽出共享字段规范?
|
|
565
|
+
5. `starworkInit` 生成的 blueprint 是否应能被后续升级为 Pack preset?
|
|
566
|
+
|
|
567
|
+
## 结论
|
|
568
|
+
|
|
569
|
+
`starworkInit` 的核心不是“多一个命令参数”,而是:
|
|
570
|
+
|
|
571
|
+
```text
|
|
572
|
+
帮用户把还没想清楚的工作台需求,整理成一张可执行施工单。
|
|
573
|
+
```
|
|
574
|
+
|
|
575
|
+
它让 StarWork 初始化从:
|
|
576
|
+
|
|
577
|
+
```text
|
|
578
|
+
选一个模板
|
|
579
|
+
```
|
|
580
|
+
|
|
581
|
+
升级为:
|
|
582
|
+
|
|
583
|
+
```text
|
|
584
|
+
Agent 帮用户设计工作台,CLI 负责稳定落地。
|
|
585
|
+
```
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: starworkSpawn
|
|
3
|
+
description: Use this skill when a user wants to design or generate a customized StarWork satellite workspace for `starwork spawn --blueprint`, including choosing starter vs matter mode, drafting blueprint.json, writing project rules, planning seed files, and explaining how to execute and validate the spawn.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# starworkSpawn
|
|
7
|
+
|
|
8
|
+
使用这个 skill,把用户的项目想法转成 StarWork Spawn Blueprint(工作台定制单)。
|
|
9
|
+
|
|
10
|
+
Spawn Blueprint 是一个小型配置包:
|
|
11
|
+
|
|
12
|
+
- `blueprint.json`:机器可读的结构和路径配置
|
|
13
|
+
- `rules/*.md`:项目专属 Agent 规则
|
|
14
|
+
- `seed/**`:可选的初始化占位文件
|
|
15
|
+
|
|
16
|
+
Blueprint 由 `starwork spawn --blueprint` 执行。除非用户明确要求落地文件,否则这个 skill 只负责设计,不直接修改用户的 Hub 或目标工作区。
|
|
17
|
+
|
|
18
|
+
## 参考
|
|
19
|
+
|
|
20
|
+
需要字段细节、校验规则或命令行为时,读取:
|
|
21
|
+
|
|
22
|
+
```text
|
|
23
|
+
../../cli/spawn-blueprint-spec.md
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
不要在 skill 内重复维护完整 schema,避免和 SPEC 漂移。
|
|
27
|
+
|
|
28
|
+
## 工作流程
|
|
29
|
+
|
|
30
|
+
1. 识别用户要创建的工作台。
|
|
31
|
+
- 项目是什么?
|
|
32
|
+
- 是短期轻量项目,还是长期推进项目?
|
|
33
|
+
- 是否需要事项、决策、交接记录或跨会话追踪?
|
|
34
|
+
|
|
35
|
+
2. 选择基础模式。
|
|
36
|
+
- 长期项目、多步骤工作、跨会话协作、需要事项追踪时,使用 `matter`。
|
|
37
|
+
- 轻量项目、主要只需要资料和成果输出时,才使用 `starter`。
|
|
38
|
+
|
|
39
|
+
3. 判断应该用 Blueprint 还是 Pack。
|
|
40
|
+
- 一次性项目定制,用 Blueprint。
|
|
41
|
+
- 多个项目或多个用户会反复复用的结构,再建议沉淀为 Pack。
|
|
42
|
+
- 不要把每个目录偏好都做成 Pack。
|
|
43
|
+
|
|
44
|
+
4. 设计工作台路径。
|
|
45
|
+
- 定义 `formal_source`:确认成果或最终交付物放在哪里。
|
|
46
|
+
- 定义 `business_work_area`:当前工作在哪里推进。
|
|
47
|
+
- 只新增未来确实会用到的目录。
|
|
48
|
+
- 避免装饰性、含义模糊的目录。
|
|
49
|
+
|
|
50
|
+
5. 编写项目规则。
|
|
51
|
+
- `rules/file-boundaries.md`:不同信息分别应该放哪里。
|
|
52
|
+
- `rules/workflow.md`:Agent 如何在工作台里推进工作。
|
|
53
|
+
- `rules/handoff.md`:只有涉及跨项目或跨会话交接时才创建。
|
|
54
|
+
|
|
55
|
+
6. 产出或更新文件。
|
|
56
|
+
- 用户只是讨论时,用文字描述方案。
|
|
57
|
+
- 用户要求实现时,创建 blueprint 文件夹和文件。
|
|
58
|
+
- 用 `blueprint.json` 管结构,用 Markdown 管 Agent 规则;不要把长规则塞进 JSON。
|
|
59
|
+
|
|
60
|
+
7. 说明执行方式。
|
|
61
|
+
- 先用 `starwork spawn --blueprint ... --dry-run` 预览。
|
|
62
|
+
- 确认后再执行,或使用 `--yes`。
|
|
63
|
+
- 最后用 `starwork doctor` 检查。
|
|
64
|
+
|
|
65
|
+
## 输出结构
|
|
66
|
+
|
|
67
|
+
实现 blueprint 包时使用:
|
|
68
|
+
|
|
69
|
+
```text
|
|
70
|
+
<project>-blueprint/
|
|
71
|
+
├── blueprint.json
|
|
72
|
+
├── rules/
|
|
73
|
+
│ ├── file-boundaries.md
|
|
74
|
+
│ ├── workflow.md
|
|
75
|
+
│ └── handoff.md
|
|
76
|
+
└── seed/
|
|
77
|
+
└── ...
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
`handoff.md` 和 `seed/` 是可选的,不要创建空的可选文件。
|
|
81
|
+
|
|
82
|
+
## 约束
|
|
83
|
+
|
|
84
|
+
- `blueprint.json` 不写 Hub 路径和 target 路径,它们属于 CLI 参数。
|
|
85
|
+
- 不覆盖用户文件。
|
|
86
|
+
- 不修改 Kit 源目录。
|
|
87
|
+
- 不直接写 Hub,除非通过 `starwork spawn` 的 registry 登记行为。
|
|
88
|
+
- 不删除 `AGENTS.md`、`.starwork/`、`.core-sync.json`、`_系统/`、`知识/` 或 skill 链接。
|
|
89
|
+
- 除非用户有明确理由,否则优先新增清晰目录,而不是重命名系统目录。
|
|
90
|
+
- Markdown 规则要具体、可执行,避免泛泛的效率建议。
|
|
91
|
+
|
|
92
|
+
## 最小示例
|
|
93
|
+
|
|
94
|
+
```json
|
|
95
|
+
{
|
|
96
|
+
"schema": "starwork.spawn_blueprint.v0.1",
|
|
97
|
+
"name": "内容产品官网",
|
|
98
|
+
"project_id": "content-site",
|
|
99
|
+
"base": {
|
|
100
|
+
"mode": "matter",
|
|
101
|
+
"kit": "satellite-matter",
|
|
102
|
+
"language": "zh"
|
|
103
|
+
},
|
|
104
|
+
"paths": {
|
|
105
|
+
"formal_source": "交付物/确认版本/",
|
|
106
|
+
"business_work_area": "事项/"
|
|
107
|
+
},
|
|
108
|
+
"folders": [
|
|
109
|
+
"资料库/",
|
|
110
|
+
"草稿/",
|
|
111
|
+
"会议纪要/",
|
|
112
|
+
"版本记录/",
|
|
113
|
+
"交付物/确认版本/"
|
|
114
|
+
],
|
|
115
|
+
"agent_rules": [
|
|
116
|
+
{
|
|
117
|
+
"slot": "project.file_boundaries",
|
|
118
|
+
"from": "rules/file-boundaries.md"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"slot": "project.workflow",
|
|
122
|
+
"from": "rules/workflow.md"
|
|
123
|
+
}
|
|
124
|
+
]
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## 执行命令
|
|
129
|
+
|
|
130
|
+
根据用户机器上的实际路径替换:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
starwork spawn --hub <hub-path> --target <target-path> --blueprint <blueprint.json> --dry-run
|
|
134
|
+
starwork spawn --hub <hub-path> --target <target-path> --blueprint <blueprint.json> --yes
|
|
135
|
+
starwork doctor --target <target-path>
|
|
136
|
+
```
|