@jennie-shawn/starwork 0.1.0-alpha.2 → 0.1.0-alpha.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +111 -99
- package/adapters/README.md +34 -0
- package/adapters/claude-code/profile.json +55 -0
- package/adapters/claude-code/rules.md +13 -0
- package/adapters/claude-code/safety.md +6 -0
- package/adapters/codex/profile.json +55 -0
- package/adapters/codex/rules.md +12 -0
- package/adapters/codex/safety.md +5 -0
- package/adapters/contract.md +64 -0
- package/adapters/cursor/profile.json +60 -0
- package/adapters/cursor/rules.md +7 -0
- package/adapters/cursor/safety.md +6 -0
- package/adapters/trae/profile.json +61 -0
- package/adapters/trae/rules.md +7 -0
- package/adapters/trae/safety.md +7 -0
- package/cli/README.md +50 -9
- package/cli/audit-spec.md +403 -0
- package/cli/doctor-spec.md +109 -17
- package/cli/init-spec.md +81 -53
- package/cli/repair-spec.md +361 -0
- package/cli/spawn-blueprint-spec.md +18 -18
- package/cli/spawn-spec.md +103 -108
- package/cli/src/cli.js +9403 -1059
- package/cli/test/init.test.js +2566 -51
- package/cli/upgrade-spec.md +488 -0
- package/core/README.md +14 -3
- package/core/agent-lanes-session-naming-spec.md +364 -0
- package/core/agent-lanes-spec.md +507 -0
- package/core/baseline/file-boundaries.md +11 -3
- package/core/baseline/health-check.md +2 -2
- package/core/baseline/roles.md +0 -1
- package/core/baseline/spec.md +3 -2
- package/core/capabilities/README.md +5 -2
- package/core/capabilities/agent-lanes/capability.md +40 -0
- package/core/capabilities/decisions/capability.md +2 -2
- package/core/capabilities/knowledge/capability.md +72 -0
- package/core/capabilities/knowledge/skills/starworkKnowledgeProject/SKILL.md +57 -0
- package/core/capabilities/knowledge/skills/starworkKnowledgeProject/agents/openai.yaml +6 -0
- package/core/capabilities/knowledge/templates/en/README.md +20 -0
- package/core/capabilities/knowledge/templates/en/index.md +19 -0
- package/core/capabilities/knowledge/templates/en/log.md +16 -0
- package/core/capabilities/knowledge/templates/en/schema.md +60 -0
- package/core/capabilities/knowledge/templates/zh/README.md +20 -0
- package/core/capabilities/knowledge/templates/zh/index.md +19 -0
- package/core/capabilities/knowledge/templates/zh/log.md +16 -0
- package/core/capabilities/knowledge/templates/zh/schema.md +60 -0
- package/core/capabilities/main-repo-sync/capability.md +57 -34
- package/core/capabilities/skill-mount/capability.md +19 -5
- package/core/capabilities/starter-outputs/capability.md +9 -11
- package/core/capabilities/starter-outputs/templates/outputs/final/README.md +1 -1
- package/core/core-v0.1-protocol.md +23 -21
- package/core/kits/README.md +9 -1
- package/core/kits/hub/.incoming/README.md +4 -2
- package/core/kits/hub/.incoming/reports/.gitkeep +1 -0
- package/core/kits/hub/.incoming/skills/.gitkeep +1 -0
- package/core/kits/hub/.internal/twin-bot-merge-policy.md +5 -0
- package/core/kits/hub/.internal/twin-bot-writeback-protocol.md +5 -0
- package/core/kits/hub/.starwork/handoff/archived/.gitkeep +1 -0
- package/core/kits/hub/.starwork/handoff/inbox/.gitkeep +1 -0
- package/core/kits/hub/.starwork/handoff/outbox/.gitkeep +1 -0
- package/core/kits/hub/.starwork/handoff/sent/.gitkeep +1 -0
- package/core/kits/hub/.starwork/handoff/state.json +5 -0
- package/core/kits/hub/AGENTS.md +18 -12
- package/core/kits/hub/README.md +17 -9
- package/core/kits/hub/identity/README.md +2 -2
- package/core/kits/hub/knowledge/README.md +5 -0
- package/core/kits/hub/lessons/README.md +2 -2
- package/core/kits/hub/projects/README.md +5 -0
- package/core/kits/hub/projects/coordination/README.md +5 -0
- package/core/kits/hub/projects/coordination/messages/acknowledged/.gitkeep +1 -0
- package/core/kits/hub/projects/coordination/messages/closed/.gitkeep +1 -0
- package/core/kits/hub/projects/coordination/messages/delivered/.gitkeep +1 -0
- package/core/kits/hub/projects/coordination/messages/queued/.gitkeep +1 -0
- package/core/kits/hub/projects/coordination/reports/.gitkeep +1 -0
- package/core/kits/hub/skills/README.md +4 -2
- package/core/kits/hub/skills/registry.json +6 -0
- package/core/kits/hub/workspace/README.md +5 -0
- package/core/kits/kit-structure-reference.md +104 -191
- package/core/kits/project/.agents/skills/README.md +5 -0
- package/core/kits/project/.claude/skills/README.md +5 -0
- package/core/kits/project/.obsidian/README.md +5 -0
- package/core/kits/project/.starwork/handoff/archived/.gitkeep +1 -0
- package/core/kits/project/.starwork/handoff/inbox/.gitkeep +1 -0
- package/core/kits/project/.starwork/handoff/outbox/.gitkeep +1 -0
- package/core/kits/project/.starwork/handoff/sent/.gitkeep +1 -0
- package/core/kits/project/.starwork/handoff/state.json +5 -0
- package/core/kits/project/AGENTS.md +38 -0
- package/core/kits/project/README.md +44 -0
- package/core/kits/project/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/275/223/345/211/215/351/241/271/347/233/256.md +25 -0
- package/core/kits/project/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md +17 -0
- package/core/kits/project/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +17 -0
- package/core/kits/project/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +24 -0
- package/core/kits/two-kit-architecture-spec.md +695 -0
- package/core/legacy/README.md +16 -0
- package/core/legacy/kits/satellite-starter/.starwork/handoff/archived/.gitkeep +1 -0
- package/core/legacy/kits/satellite-starter/.starwork/handoff/inbox/.gitkeep +1 -0
- package/core/legacy/kits/satellite-starter/.starwork/handoff/outbox/.gitkeep +1 -0
- package/core/legacy/kits/satellite-starter/.starwork/handoff/sent/.gitkeep +1 -0
- package/core/legacy/kits/satellite-starter/.starwork/handoff/state.json +5 -0
- package/core/{kits → legacy/kits}/satellite-starter/AGENTS.md +7 -1
- package/core/{kits → legacy/kits}/satellite-starter/README.md +4 -4
- package/core/{kits → legacy/kits}/satellite-starter/_/347/263/273/347/273/237//344/270/273/345/272/223/345/220/214/346/255/245/README.md +3 -3
- package/core/legacy/kits/satellite-starter//350/276/223/345/207/272//347/241/256/350/256/244/346/210/220/346/236/234/README.md +5 -0
- package/core/{presets → legacy/presets}/satellite-starter.yaml +1 -1
- package/core/presets/README.md +17 -7
- package/core/presets/hub.yaml +23 -4
- package/core/presets/project.yaml +11 -0
- package/core/profiles/en/labels.json +2 -4
- package/core/profiles/en/paths.json +3 -4
- package/core/profiles/en/profile.md +7 -4
- package/core/profiles/en/templates/AGENTS.md +13 -9
- package/core/profiles/en/{reference-kits/local-starter/_system/context/project-status.md → templates/_system/context/current-project.md} +1 -1
- package/core/profiles/zh/labels.json +2 -4
- package/core/profiles/zh/paths.json +3 -5
- package/core/profiles/zh/profile.md +7 -4
- package/core/profiles/zh/templates/AGENTS.md +13 -9
- package/core/{kits/local-matter/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//351/241/271/347/233/256/347/212/266/346/200/201.md → profiles/zh/templates/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/275/223/345/211/215/351/241/271/347/233/256.md} +1 -1
- package/core/project-rules-optimization-spec.md +510 -0
- package/core/skill-management-spec.md +591 -0
- package/core/starwork-runtime-layer-spec.md +344 -0
- package/docs/README.md +18 -4
- package/docs/agent-install-guide.md +132 -0
- package/docs/ai-consultant-brief.md +648 -0
- package/docs/alpha-test-guide.md +274 -17
- package/docs/cli-capabilities.html +206 -115
- package/docs/cli-skill-registry.html +801 -0
- package/docs/doctor-capabilities.html +631 -0
- package/docs/hub-management.html +60 -59
- package/docs/index.html +7 -5
- package/docs/issue-feedback-tracking-guide.md +447 -0
- package/docs/m2.10-core-kit-pack-boundary-cleanup-spec.md +567 -0
- package/docs/m2.6-alpha-core-flows-optimization-spec.md +441 -0
- package/docs/m2.6-project-init-feedback/README.md +27 -0
- package/docs/m2.6-project-init-feedback/m2.6-project-init-feedback-01-identity-spec.md +194 -0
- package/docs/m2.6-project-init-feedback/m2.6-project-init-feedback-02-hub-sync-boundary-spec.md +198 -0
- package/docs/m2.6-project-init-feedback/m2.6-project-init-feedback-03-current-project-purity-spec.md +238 -0
- package/docs/m2.6-project-init-feedback/m2.6-project-init-feedback-04-system-placeholder-templates-spec.md +213 -0
- package/docs/m2.6-project-init-feedback/m2.6-project-init-feedback-05-agents-guardrails-spec.md +265 -0
- package/docs/m2.7-init-github-issues-optimization-spec.md +350 -0
- package/docs/m2.8-workspace-naming-optimization-spec.md +633 -0
- package/docs/multiagent/01-codex-session-capabilities-and-starwork-implications.md +280 -0
- package/docs/multiagent/02-cursor-session-management-research-instructions.md +204 -0
- package/docs/multiagent/03-trae-session-management-research-instructions.md +205 -0
- package/docs/multiagent/04-claude-code-session-management-research-instructions.md +209 -0
- package/docs/multiagent/05-trae-solo-session-management-research-instructions.md +222 -0
- package/docs/multiagent/claude-code-session-management-research-result.md +201 -0
- package/docs/multiagent/cursor-session-management-research-result.md +101 -0
- package/docs/multiagent/session-control-support-matrix.md +20 -0
- package/docs/multiagent/trae-session-management-research-result.md +353 -0
- package/docs/multiagent/trae-solo-session-management-research-result.md +467 -0
- package/docs/product-direction.md +17 -9
- package/docs/product-shape-business-model.html +1 -1
- package/docs/roadmap.html +34 -20
- package/docs/roadmap.md +185 -20
- package/docs/v0.1-plan.md +32 -12
- package/kit-skills/README.md +11 -0
- package/kit-skills/neat-freak/SKILL.md +32 -0
- package/kit-skills/neat-freak/agents/openai.yaml +2 -0
- package/kit-skills/starworkAudit/SKILL.md +127 -0
- package/kit-skills/starworkAudit/references/issue-taxonomy.md +10 -0
- package/kit-skills/starworkAudit/references/repair-blueprint-guide.md +54 -0
- package/kit-skills/starworkAudit/references/response-guide.md +34 -0
- package/{skills → kit-skills}/starworkSpawn/SKILL.md +36 -14
- package/package.json +4 -3
- package/packs/content-creator/languages/en.json +4 -4
- package/packs/content-creator/languages/zh.json +4 -4
- package/packs/content-creator/pack.json +5 -5
- package/packs/general/languages/en.json +19 -2
- package/packs/general/languages/zh.json +19 -2
- package/packs/general/pack.json +8 -3
- package/packs/hub-management/languages/en.json +2 -2
- package/packs/hub-management/languages/zh.json +11 -10
- package/packs/hub-management/pack.json +2 -2
- package/packs/hub-management/rules/en/overview.md +2 -0
- package/packs/hub-management/rules/en/workflow.md +2 -1
- package/packs/hub-management/rules/zh/overview.md +4 -2
- package/packs/hub-management/rules/zh/workflow.md +3 -2
- package/packs/hub-management/seed/en/projects/coordination/README.md +2 -2
- package/packs/hub-management/seed/zh/projects/coordination/README.md +5 -0
- package/packs/pack-structure-spec.md +4 -4
- package/skills/README.md +28 -3
- package/skills/starwork/SKILL.md +81 -0
- package/skills/starwork/references/install.md +64 -0
- package/skills/starwork/references/routing.md +44 -0
- package/skills/starworkAudit-spec.md +354 -0
- package/skills/starworkDoctor/SKILL.md +435 -0
- package/skills/starworkDoctor/agents/openai.yaml +7 -0
- package/skills/starworkDoctor/references/agent-rules-template.md +64 -0
- package/skills/starworkDoctor/references/hub-upgrade.md +73 -0
- package/skills/starworkDoctor/references/response-guide.md +57 -0
- package/skills/starworkDoctor/references/rules-extraction-guide.md +92 -0
- package/skills/starworkDoctor-spec.md +764 -0
- package/skills/starworkInit/SKILL.md +285 -50
- package/skills/starworkInit-spec.md +106 -75
- package/skills/starworkKnowledge/SKILL.md +195 -0
- package/skills/starworkKnowledge/agents/openai.yaml +3 -0
- package/skills/starworkMultiagent/SKILL.md +302 -0
- package/skills/starworkMultiagent/agents/openai.yaml +7 -0
- package/skills/starworkMultiagent-skill-plan.md +234 -0
- package/skills/starworkMultiagent-spec.md +181 -0
- package/core/capabilities/matter-mode/capability.md +0 -46
- package/core/capabilities/matter-mode/templates/matters/_matter-template/README.md +0 -17
- package/core/capabilities/matter-mode/templates/matters/_matter-template/handoff.md +0 -3
- package/core/capabilities/matter-mode/templates/matters/_matter-template/notes.md +0 -5
- package/core/capabilities/matter-mode/templates/matters/_matter-template/progress.md +0 -5
- package/core/capabilities/matter-mode/templates/matters/registry.md +0 -16
- package/core/kits/hub/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//351/241/271/347/233/256/347/212/266/346/200/201.md +0 -24
- package/core/kits/hub//347/237/245/350/257/206/README.md +0 -5
- package/core/kits/hub//351/241/271/347/233/256/README.md +0 -5
- package/core/kits/hub//351/241/271/347/233/256//350/201/224/347/273/234/README.md +0 -5
- package/core/kits/local-matter/AGENTS.md +0 -23
- package/core/kits/local-matter/README.md +0 -22
- package/core/kits/local-matter/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/206/263/347/255/226.md +0 -7
- package/core/kits/local-matter/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md +0 -17
- package/core/kits/local-matter/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +0 -5
- package/core/kits/local-matter/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +0 -5
- package/core/kits/local-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277/README.md +0 -17
- package/core/kits/local-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//344/272/244/346/216/245.md +0 -3
- package/core/kits/local-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//347/254/224/350/256/260.md +0 -5
- package/core/kits/local-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//350/277/233/345/272/246.md +0 -5
- package/core/kits/local-matter//344/272/213/351/241/271//346/263/250/345/206/214/350/241/250.md +0 -16
- package/core/kits/local-matter//350/276/223/345/207/272//347/241/256/350/256/244/346/210/220/346/236/234/README.md +0 -5
- package/core/kits/local-starter/AGENTS.md +0 -23
- package/core/kits/local-starter/README.md +0 -23
- package/core/kits/local-starter/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//351/241/271/347/233/256/347/212/266/346/200/201.md +0 -25
- package/core/kits/local-starter/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md +0 -17
- package/core/kits/local-starter/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +0 -5
- package/core/kits/local-starter/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +0 -5
- package/core/kits/local-starter//345/217/202/350/200/203/350/265/204/346/226/231/README.md +0 -5
- package/core/kits/local-starter//350/276/223/345/207/272//347/241/256/350/256/244/346/210/220/346/236/234/README.md +0 -5
- package/core/kits/local-starter//350/276/223/345/207/272//350/215/211/347/250/277/README.md +0 -5
- package/core/kits/satellite-matter/AGENTS.md +0 -27
- package/core/kits/satellite-matter/README.md +0 -40
- package/core/kits/satellite-matter/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/206/263/347/255/226.md +0 -7
- package/core/kits/satellite-matter/_/347/263/273/347/273/237//344/270/273/345/272/223/345/220/214/346/255/245/README.md +0 -42
- package/core/kits/satellite-matter/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md +0 -17
- package/core/kits/satellite-matter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/README.md +0 -9
- package/core/kits/satellite-matter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/inbox/README.md +0 -5
- package/core/kits/satellite-matter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/outbox/README.md +0 -5
- package/core/kits/satellite-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277/README.md +0 -17
- package/core/kits/satellite-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//344/272/244/346/216/245.md +0 -3
- package/core/kits/satellite-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//347/254/224/350/256/260.md +0 -5
- package/core/kits/satellite-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//350/277/233/345/272/246.md +0 -5
- package/core/kits/satellite-matter//344/272/213/351/241/271//346/263/250/345/206/214/350/241/250.md +0 -16
- package/core/kits/satellite-matter//345/217/202/350/200/203/350/265/204/346/226/231/README.md +0 -5
- package/core/kits/satellite-matter//350/276/223/345/207/272//347/241/256/350/256/244/346/210/220/346/236/234/README.md +0 -5
- package/core/kits/satellite-matter//350/276/223/345/207/272//350/215/211/347/250/277/README.md +0 -5
- package/core/kits/satellite-starter/.agents/skills/README.md +0 -5
- package/core/kits/satellite-starter/.claude/skills/README.md +0 -5
- package/core/kits/satellite-starter/.core-sync.json +0 -31
- package/core/kits/satellite-starter/.internal/README.md +0 -5
- package/core/kits/satellite-starter/.obsidian/README.md +0 -5
- package/core/kits/satellite-starter/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/275/223/345/211/215/351/241/271/347/233/256.md +0 -29
- package/core/kits/satellite-starter/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md +0 -17
- package/core/kits/satellite-starter/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +0 -8
- package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/README.md +0 -9
- package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/inbox/README.md +0 -5
- package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/outbox/README.md +0 -5
- package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +0 -5
- package/core/kits/satellite-starter//345/217/202/350/200/203/350/265/204/346/226/231/README.md +0 -5
- package/core/kits/satellite-starter//347/237/245/350/257/206/README.md +0 -5
- package/core/kits/satellite-starter//350/276/223/345/207/272//347/241/256/350/256/244/346/210/220/346/236/234/README.md +0 -5
- package/core/kits/satellite-starter//350/276/223/345/207/272//350/215/211/347/250/277/README.md +0 -5
- package/core/presets/local-matter.yaml +0 -14
- package/core/presets/local-starter.yaml +0 -12
- package/core/presets/satellite-matter.yaml +0 -17
- package/core/profiles/en/reference-kits/local-starter/AGENTS.md +0 -23
- package/core/profiles/en/reference-kits/local-starter/README.md +0 -23
- package/core/profiles/en/reference-kits/local-starter/_system/identity/README.md +0 -5
- package/core/profiles/en/reference-kits/local-starter/_system/lessons/README.md +0 -5
- package/core/profiles/en/reference-kits/local-starter/_system/tasks/current-work.md +0 -17
- package/core/profiles/en/reference-kits/local-starter/outputs/drafts/README.md +0 -5
- package/core/profiles/en/reference-kits/local-starter/outputs/final/README.md +0 -5
- package/core/profiles/en/reference-kits/local-starter/references/README.md +0 -5
- package/core/profiles/en/reference-presets/local-starter.yaml +0 -12
- package/core/profiles/en/templates/_system/context/project-status.md +0 -25
- package/core/profiles/zh/templates/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//351/241/271/347/233/256/347/212/266/346/200/201.md +0 -25
- package/packs/hub-management/seed/zh//351/241/271/347/233/256//350/201/224/347/273/234/README.md +0 -5
- /package/core/{capabilities/matter-mode/templates/matters/_matter-template/drafts → kits/hub/.incoming/identity}/.gitkeep +0 -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" → hub/.incoming/knowledge/.gitkeep} +0 -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" → hub/.incoming/lessons/.gitkeep} +0 -0
- /package/core/kits/hub/{/351/241/271/347/233/256/registry.json" → projects/registry.json} +0 -0
- /package/core/kits/{satellite-matter → project}/CLAUDE.md +0 -0
- /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/.agents/skills/README.md +0 -0
- /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/.claude/skills/README.md +0 -0
- /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/.core-sync.json +0 -0
- /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/.internal/README.md +0 -0
- /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/.obsidian/README.md +0 -0
- /package/core/{kits → legacy/kits}/satellite-starter/CLAUDE.md +0 -0
- /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/275/223/345/211/215/351/241/271/347/233/256.md" +0 -0
- /package/core/{kits/hub → legacy/kits/satellite-starter}/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md" +0 -0
- /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md" +0 -0
- /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md" +0 -0
- /package/core/{kits/local-matter → legacy/kits/satellite-starter}//345/217/202/350/200/203/350/265/204/346/226/231/README.md" +0 -0
- /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}//347/237/245/350/257/206/README.md" +0 -0
- /package/core/{kits/local-matter → legacy/kits/satellite-starter}//350/276/223/345/207/272//350/215/211/347/250/277/README.md" +0 -0
- /package/{skills → kit-skills}/starworkSpawn/agents/openai.yaml +0 -0
- /package/packs/hub-management/seed/zh/{/351/241/271/347/233/256/registry.json" → projects/registry.json} +0 -0
package/cli/spawn-spec.md
CHANGED
|
@@ -6,71 +6,72 @@
|
|
|
6
6
|
- 所属模块:StarWork CLI
|
|
7
7
|
- 命令:`starwork spawn`
|
|
8
8
|
- 实现状态:v0.1 第一版已实现
|
|
9
|
-
- 相关对象:`hub`、`
|
|
10
|
-
-
|
|
9
|
+
- 相关对象:`hub`、`project`、`project_center`、`main-repo-sync`、`skill-mount`
|
|
10
|
+
- 目标:从项目中心创建并注册一个项目工作台
|
|
11
11
|
|
|
12
12
|
## 一句话定义
|
|
13
13
|
|
|
14
|
-
`starwork spawn`
|
|
14
|
+
`starwork spawn` 是从项目中心创建一个被中心管理的新项目工作台的命令。
|
|
15
15
|
|
|
16
|
-
它不是 `init --type hub
|
|
16
|
+
它不是 `init --type hub`,也不是普通单项目初始化。它做的是:在已经存在的项目中心里,创建一个新的执行型项目工作区,并把它登记回项目中心。
|
|
17
17
|
|
|
18
18
|
```text
|
|
19
|
-
|
|
19
|
+
项目中心
|
|
20
20
|
↓
|
|
21
21
|
spawn
|
|
22
22
|
↓
|
|
23
|
-
|
|
23
|
+
项目工作台
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
## 为什么不能放进 `init`
|
|
27
27
|
|
|
28
28
|
`init` 的职责是创建当前目录的工作台:
|
|
29
29
|
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
30
|
+
- 单事务项目
|
|
31
|
+
- 项目工作台
|
|
32
|
+
- 项目中心
|
|
33
33
|
|
|
34
34
|
但 `spawn` 涉及两个工作区:
|
|
35
35
|
|
|
36
|
-
1.
|
|
37
|
-
2.
|
|
36
|
+
1. 项目中心:负责项目注册、共享身份、共享教训、knowledge、skills 和联络机制。
|
|
37
|
+
2. 项目工作台:负责具体项目执行、项目状态、当前工作、过程材料、产物和事实源。
|
|
38
38
|
|
|
39
39
|
因此它必须是独立命令,否则 `init` 会变成“创建自己 + 修改另一个工作区”的混合动作,用户也很难理解。
|
|
40
40
|
|
|
41
41
|
## 用户故事
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
用户已经有一个项目中心:
|
|
44
44
|
|
|
45
45
|
```bash
|
|
46
46
|
starwork init --type hub --target ~/my-hub --yes
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
现在想从这个项目中心创建一个新项目工作台:
|
|
50
50
|
|
|
51
51
|
```bash
|
|
52
52
|
starwork spawn \
|
|
53
53
|
--hub ~/my-hub \
|
|
54
54
|
--name "内容产品官网" \
|
|
55
55
|
--target ~/projects/content-site \
|
|
56
|
-
--mode
|
|
56
|
+
--mode project \
|
|
57
57
|
--yes
|
|
58
58
|
```
|
|
59
59
|
|
|
60
60
|
命令完成后:
|
|
61
61
|
|
|
62
|
-
- `~/projects/content-site` 成为一个 StarWork
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
- 后续 Agent
|
|
62
|
+
- `~/projects/content-site` 成为一个 StarWork 项目工作台。
|
|
63
|
+
- 项目中心的项目注册表中新增该项目记录。
|
|
64
|
+
- 项目工作台的 `.core-sync.json` 记录来源项目中心、同步资源和创建时间。
|
|
65
|
+
- 项目工作台包含来自项目中心的身份、教训、内部协议、知识和 skills 入口。
|
|
66
|
+
- 后续 Agent 可以在项目工作台内独立工作,项目进度不写回项目中心 registry。
|
|
67
67
|
|
|
68
68
|
## 命令形式
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
71
|
starwork spawn --hub <hub-path> --name <project-name> --target <path>
|
|
72
|
-
starwork spawn --hub ~/my-hub --name "新项目" --target ~/projects/new-project --mode starter
|
|
73
|
-
starwork spawn --hub ~/my-hub --name "
|
|
72
|
+
starwork spawn --hub ~/my-hub --name "新项目" --target ~/projects/new-project --mode starter --language zh
|
|
73
|
+
starwork spawn --hub ~/my-hub --name "English Project" --target ~/projects/en-project --mode starter --language en
|
|
74
|
+
starwork spawn --hub ~/my-hub --name "多阶段项目" --target ~/projects/multi-stage-project --mode project --language zh
|
|
74
75
|
starwork spawn --hub ~/my-hub --target ~/projects/custom-project --blueprint ./blueprint.json --dry-run
|
|
75
76
|
starwork spawn --hub ~/my-hub --target ~/projects/custom-project --blueprint ./blueprint.json --yes
|
|
76
77
|
starwork spawn --hub ~/my-hub --name "新项目" --target ~/projects/new-project --dry-run
|
|
@@ -81,11 +82,12 @@ starwork spawn --hub ~/my-hub --name "新项目" --target ~/projects/new-project
|
|
|
81
82
|
|
|
82
83
|
| 参数 | 说明 |
|
|
83
84
|
|---|---|
|
|
84
|
-
| `--hub <path>` |
|
|
85
|
+
| `--hub <path>` | 项目中心路径。参数名保留 `--hub` 以兼容旧脚本。 |
|
|
85
86
|
| `--blueprint <path>` | 可选工作台定制单。启用后可由 blueprint 提供项目名、模式、项目 ID、路径、目录、规则和 seed。 |
|
|
86
|
-
| `--name <name>` |
|
|
87
|
-
| `--target <path>` |
|
|
88
|
-
| `--mode <
|
|
87
|
+
| `--name <name>` | 项目工作台名称。 |
|
|
88
|
+
| `--target <path>` | 项目工作台创建位置。 |
|
|
89
|
+
| `--mode <project>` | 项目工作台模式。默认 `project`;`starter` 是兼容旧参数。 |
|
|
90
|
+
| `--language <zh|en>` | 项目工作台语言。默认继承项目中心;也可由 blueprint 指定。 |
|
|
89
91
|
| `--id <project-id>` | 可选项目 ID;未提供时由名称生成。 |
|
|
90
92
|
| `--status <active|paused>` | 初始状态。默认 `active`。 |
|
|
91
93
|
| `--dry-run` | 只预览,不写入。 |
|
|
@@ -96,26 +98,24 @@ starwork spawn --hub ~/my-hub --name "新项目" --target ~/projects/new-project
|
|
|
96
98
|
|
|
97
99
|
| `--mode` | Kit | 定位 |
|
|
98
100
|
|---|---|---|
|
|
99
|
-
| `starter` | `
|
|
100
|
-
| `
|
|
101
|
+
| `starter` | `project` | 兼容旧参数,等同于 `project`。 |
|
|
102
|
+
| `project` | `project` | 项目工作台标准结构。 |
|
|
101
103
|
|
|
102
|
-
v0.1 默认 `
|
|
103
|
-
|
|
104
|
-
原因:卫星项目通常是长期项目,通常需要事项追踪、跨会话接力和过程沉淀。
|
|
104
|
+
v0.1 默认 `project`。`satellite-starter` 不再是正式 Kit;中心管理关系由 `project` Kit 加 `project_center` 连接信息表达。
|
|
105
105
|
|
|
106
106
|
## 执行流程
|
|
107
107
|
|
|
108
|
-
### Step 1
|
|
108
|
+
### Step 1:定位并检查项目中心
|
|
109
109
|
|
|
110
110
|
CLI 读取 `--hub`:
|
|
111
111
|
|
|
112
112
|
- 必须存在 `.starwork/workspace.json`。
|
|
113
113
|
- `workspace_type` 必须是 `hub`。
|
|
114
|
-
- `kit` 必须是 `hub
|
|
115
|
-
-
|
|
116
|
-
-
|
|
114
|
+
- `kit` 必须是 `hub`。
|
|
115
|
+
- 项目中心中必须存在语言映射后的项目注册表:中文默认 `项目/registry.json`,英文默认 `projects/registry.json`。
|
|
116
|
+
- 项目中心中必须存在语言映射后的共享资源入口:中文默认 `身份/`、`教训/`、`知识/`、`技能/`,英文默认 `identity/`、`lessons/`、`knowledge/`、`skills/`,以及隐藏机制目录 `.incoming/`。
|
|
117
117
|
|
|
118
|
-
|
|
118
|
+
如果项目中心未通过检查,中止创建。
|
|
119
119
|
|
|
120
120
|
### Step 2:检查目标目录
|
|
121
121
|
|
|
@@ -130,16 +130,11 @@ v0.1 推荐保守策略:
|
|
|
130
130
|
|
|
131
131
|
> `spawn` 只允许写入不存在或空目录。
|
|
132
132
|
|
|
133
|
-
### Step 3
|
|
134
|
-
|
|
135
|
-
根据 `--mode` 选择:
|
|
133
|
+
### Step 3:选择项目工作台 Kit
|
|
136
134
|
|
|
137
|
-
|
|
138
|
-
- `matter` -> `satellite-matter`
|
|
135
|
+
CLI 始终使用 `project` Kit。`starter` 仅作为兼容别名映射到 `project`。
|
|
139
136
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
### Step 4:写入 Satellite 元数据
|
|
137
|
+
### Step 4:写入项目工作台元数据
|
|
143
138
|
|
|
144
139
|
生成 `.starwork/workspace.json`:
|
|
145
140
|
|
|
@@ -147,14 +142,18 @@ CLI 复制对应 Kit 到目标目录。
|
|
|
147
142
|
{
|
|
148
143
|
"schema": "starwork.workspace.v0.1",
|
|
149
144
|
"core": "0.1",
|
|
150
|
-
"workspace_type": "
|
|
151
|
-
"kit": "
|
|
145
|
+
"workspace_type": "project",
|
|
146
|
+
"kit": "project",
|
|
152
147
|
"packs": [],
|
|
153
148
|
"language": "zh",
|
|
154
149
|
"paths": {
|
|
155
150
|
"formal_source": "输出/确认成果/",
|
|
156
151
|
"business_work_area": "事项/"
|
|
157
152
|
},
|
|
153
|
+
"project_center": {
|
|
154
|
+
"path": "/Users/example/my-hub",
|
|
155
|
+
"project_id": "content-site"
|
|
156
|
+
},
|
|
158
157
|
"hub": {
|
|
159
158
|
"path": "/Users/example/my-hub",
|
|
160
159
|
"project_id": "content-site"
|
|
@@ -163,16 +162,11 @@ CLI 复制对应 Kit 到目标目录。
|
|
|
163
162
|
}
|
|
164
163
|
```
|
|
165
164
|
|
|
166
|
-
`
|
|
167
|
-
|
|
168
|
-
- `satellite-starter`
|
|
169
|
-
- `satellite-matter`
|
|
170
|
-
|
|
171
|
-
这两类是独立工作区类型,不复用 `single-light` / `single-matter`。
|
|
165
|
+
`project_center` 是新字段;`hub` 作为兼容镜像继续写入和读取。
|
|
172
166
|
|
|
173
167
|
### Step 5:写入 `.core-sync.json`
|
|
174
168
|
|
|
175
|
-
`.core-sync.json`
|
|
169
|
+
`.core-sync.json` 记录项目中心与项目工作台的同步关系。
|
|
176
170
|
|
|
177
171
|
建议结构:
|
|
178
172
|
|
|
@@ -183,7 +177,7 @@ CLI 复制对应 Kit 到目标目录。
|
|
|
183
177
|
"project_id": "content-site",
|
|
184
178
|
"project_name": "内容产品官网",
|
|
185
179
|
"core": "0.1",
|
|
186
|
-
"mode": "
|
|
180
|
+
"mode": "project",
|
|
187
181
|
"created_at": "2026-05-18T00:00:00.000Z",
|
|
188
182
|
"last_sync_at": "2026-05-18T00:00:00.000Z",
|
|
189
183
|
"resources": {
|
|
@@ -198,7 +192,7 @@ CLI 复制对应 Kit 到目标目录。
|
|
|
198
192
|
"mode": "snapshot"
|
|
199
193
|
},
|
|
200
194
|
"knowledge": {
|
|
201
|
-
"source": "
|
|
195
|
+
"source": "knowledge/",
|
|
202
196
|
"target": "知识/",
|
|
203
197
|
"mode": "readonly-link"
|
|
204
198
|
},
|
|
@@ -215,24 +209,24 @@ CLI 复制对应 Kit 到目标目录。
|
|
|
215
209
|
|
|
216
210
|
资源语义沿用 `main-repo-sync` capability。
|
|
217
211
|
|
|
218
|
-
| 资源 |
|
|
212
|
+
| 资源 | 项目工作台落地 | v0.1 行为 |
|
|
219
213
|
|---|---|---|
|
|
220
|
-
| `identity/` | `_系统/身份/` |
|
|
221
|
-
| `lessons/` | `_系统/教训/` |
|
|
222
|
-
| `.internal/` | `.internal/` |
|
|
223
|
-
| `.obsidian/` | `.obsidian/` |
|
|
224
|
-
|
|
|
214
|
+
| `identity/` | `_系统/身份/` | 从项目中心复制快照。 |
|
|
215
|
+
| `lessons/` | `_系统/教训/` | 从项目中心复制快照。 |
|
|
216
|
+
| `.internal/` | `.internal/` | 从项目中心复制稳定协议。 |
|
|
217
|
+
| `.obsidian/` | `.obsidian/` | 从项目中心复制默认配置。 |
|
|
218
|
+
| `knowledge/` | `知识/` 或 `knowledge/` | 优先软链接;失败则复制 README 并提示。 |
|
|
225
219
|
| `skills/` | `.agents/skills/`、`.claude/skills/` | 创建软链接。 |
|
|
226
220
|
|
|
227
221
|
默认边界:
|
|
228
222
|
|
|
229
|
-
-
|
|
230
|
-
-
|
|
223
|
+
- 复制快照的内容可以作为项目参考,但不能自动回写项目中心。
|
|
224
|
+
- 软链接资源仍由项目中心拥有,项目工作台不能直接修改。
|
|
231
225
|
- 可复用更新应走 `.incoming/` 或跨项目联络机制。
|
|
232
226
|
|
|
233
227
|
### Step 7:写入项目状态入口
|
|
234
228
|
|
|
235
|
-
|
|
229
|
+
中心管理的项目工作台使用:
|
|
236
230
|
|
|
237
231
|
```text
|
|
238
232
|
_系统/上下文/当前项目.md
|
|
@@ -242,21 +236,22 @@ _系统/上下文/当前项目.md
|
|
|
242
236
|
|
|
243
237
|
- 项目名称
|
|
244
238
|
- 项目定位
|
|
245
|
-
-
|
|
239
|
+
- 项目中心路径
|
|
246
240
|
- 项目 ID
|
|
247
241
|
- 当前阶段
|
|
248
242
|
- 正式事实源位置
|
|
249
243
|
- 当前工作入口
|
|
250
244
|
- 主库同步说明
|
|
251
245
|
|
|
252
|
-
|
|
246
|
+
不能把项目中心的项目注册表当成项目进度正文。
|
|
253
247
|
|
|
254
|
-
### Step 8
|
|
248
|
+
### Step 8:注册到项目中心
|
|
255
249
|
|
|
256
|
-
|
|
250
|
+
更新项目中心语言映射后的项目注册表:
|
|
257
251
|
|
|
258
252
|
```text
|
|
259
|
-
项目/registry.json
|
|
253
|
+
zh: 项目/registry.json
|
|
254
|
+
en: projects/registry.json
|
|
260
255
|
```
|
|
261
256
|
|
|
262
257
|
建议新增记录:
|
|
@@ -268,8 +263,8 @@ _系统/上下文/当前项目.md
|
|
|
268
263
|
"path": "/Users/example/projects/content-site",
|
|
269
264
|
"status": "active",
|
|
270
265
|
"core": "0.1",
|
|
271
|
-
"kit": "
|
|
272
|
-
"mode": "
|
|
266
|
+
"kit": "project",
|
|
267
|
+
"mode": "project",
|
|
273
268
|
"created_at": "2026-05-18T00:00:00.000Z",
|
|
274
269
|
"last_sync_at": "2026-05-18T00:00:00.000Z",
|
|
275
270
|
"sync": {
|
|
@@ -285,10 +280,10 @@ Registry 只记录发现、路径、状态和同步元数据,不记录项目
|
|
|
285
280
|
|
|
286
281
|
### Step 9:生成跨项目联络入口
|
|
287
282
|
|
|
288
|
-
|
|
283
|
+
项目工作台包含:
|
|
289
284
|
|
|
290
285
|
```text
|
|
291
|
-
|
|
286
|
+
.starwork/handoff/
|
|
292
287
|
inbox/
|
|
293
288
|
outbox/
|
|
294
289
|
```
|
|
@@ -297,8 +292,8 @@ v0.1 可以只创建目录和 README。
|
|
|
297
292
|
|
|
298
293
|
后续可以扩展为:
|
|
299
294
|
|
|
300
|
-
- 创建一封 “项目已创建” handoff
|
|
301
|
-
-
|
|
295
|
+
- 创建一封 “项目已创建” handoff 给项目中心
|
|
296
|
+
- 写入项目中心 `projects/coordination/`
|
|
302
297
|
- 支持 queued / delivered / acknowledged / closed 生命周期
|
|
303
298
|
|
|
304
299
|
### Step 10:执行 `doctor`
|
|
@@ -306,58 +301,58 @@ v0.1 可以只创建目录和 README。
|
|
|
306
301
|
创建完成后,CLI 应自动或建议运行:
|
|
307
302
|
|
|
308
303
|
```bash
|
|
309
|
-
starwork doctor --target <
|
|
304
|
+
starwork doctor --target <project-path>
|
|
310
305
|
```
|
|
311
306
|
|
|
312
307
|
当前实现会在创建完成后提示用户运行 `doctor` 检查新项目工作台。
|
|
313
308
|
|
|
314
309
|
## 写入安全
|
|
315
310
|
|
|
316
|
-
`spawn`
|
|
311
|
+
`spawn` 会同时写项目中心和项目工作台,因此安全策略要比 `init` 更严格:
|
|
317
312
|
|
|
318
313
|
| 场景 | v0.1 行为 |
|
|
319
314
|
|---|---|
|
|
320
|
-
|
|
|
315
|
+
| 项目中心不健康 | 中止。 |
|
|
321
316
|
| 目标目录不存在 | 创建。 |
|
|
322
317
|
| 目标目录为空 | 写入。 |
|
|
323
318
|
| 目标目录有用户内容 | 默认中止。 |
|
|
324
|
-
|
|
|
325
|
-
|
|
|
319
|
+
| 项目中心登记表已有同 ID | 中止,提示更换 ID 或确认复用。 |
|
|
320
|
+
| 项目中心登记表已有同 path | 中止,提示已注册。 |
|
|
326
321
|
| 共享资源软链接失败 | v0.1 中止并报告错误;后续再补可解释的降级策略。 |
|
|
327
322
|
| 任一关键写入失败 | 中止,并提示已写入内容。后续可设计 rollback。 |
|
|
328
323
|
|
|
329
324
|
v0.1 不做自动 rollback,但要尽量按顺序降低风险:
|
|
330
325
|
|
|
331
|
-
1.
|
|
326
|
+
1. 先验证项目中心和目标目录。
|
|
332
327
|
2. 先生成完整写入计划。
|
|
333
|
-
3.
|
|
334
|
-
4.
|
|
328
|
+
3. 用户确认后写项目工作台。
|
|
329
|
+
4. 项目工作台写入成功后再更新项目中心 registry。
|
|
335
330
|
|
|
336
331
|
## 与现有命令的关系
|
|
337
332
|
|
|
338
333
|
### 与 `init`
|
|
339
334
|
|
|
340
|
-
- `init --type hub`
|
|
341
|
-
- `spawn`
|
|
335
|
+
- `init --type hub` 创建项目中心。
|
|
336
|
+
- `spawn` 从项目中心创建项目工作台。
|
|
342
337
|
|
|
343
338
|
两者不能混成一个命令。
|
|
344
339
|
|
|
345
340
|
### 与 `doctor`
|
|
346
341
|
|
|
347
|
-
-
|
|
348
|
-
-
|
|
349
|
-
- `doctor`
|
|
342
|
+
- 创建前检查项目中心。
|
|
343
|
+
- 创建后检查项目工作台。
|
|
344
|
+
- `doctor` 需要识别中心管理的项目工作台。
|
|
350
345
|
|
|
351
346
|
### 与 `adapt`
|
|
352
347
|
|
|
353
|
-
|
|
348
|
+
项目工作台 Kit 当前已经包含 `CLAUDE.md`,但 `adapt` 仍可用于重新生成 / 补充其他 Agent 入口。
|
|
354
349
|
|
|
355
350
|
建议流程:
|
|
356
351
|
|
|
357
352
|
```bash
|
|
358
353
|
starwork spawn ...
|
|
359
|
-
starwork doctor --target <
|
|
360
|
-
starwork adapt all --target <
|
|
354
|
+
starwork doctor --target <project>
|
|
355
|
+
starwork adapt all --target <project> --yes
|
|
361
356
|
```
|
|
362
357
|
|
|
363
358
|
### 与 `pack install`
|
|
@@ -383,20 +378,20 @@ starwork pack install content-creator --target <satellite> --yes
|
|
|
383
378
|
- 把 `agent_rules` 指向的 Markdown 注入 `AGENTS.md`。
|
|
384
379
|
- 复制 `seed` 文件。
|
|
385
380
|
- 在 `.starwork/workspace.json` 中记录 `customization`。
|
|
386
|
-
-
|
|
381
|
+
- 在项目中心 registry 中标记 `customized: true`。
|
|
387
382
|
|
|
388
383
|
当前不支持 `renames`、`removals` 和自动安装 Pack。
|
|
389
384
|
|
|
390
385
|
## v0.1 不做什么
|
|
391
386
|
|
|
392
|
-
-
|
|
393
|
-
-
|
|
387
|
+
- 不创建项目中心;项目中心必须已经存在。
|
|
388
|
+
- 不自动发现所有项目中心。
|
|
394
389
|
- 不处理远程仓库、GitHub、云同步。
|
|
395
390
|
- 不做复杂权限系统。
|
|
396
391
|
- 不做跨机器同步。
|
|
397
392
|
- 不做自动 rollback。
|
|
398
|
-
-
|
|
399
|
-
-
|
|
393
|
+
- 不把项目进度写入项目中心 registry。
|
|
394
|
+
- 不让项目工作台直接改项目中心的共享事实源。
|
|
400
395
|
- 不处理 Pack 卸载、升级或迁移。
|
|
401
396
|
- 不在 `spawn --blueprint` 中处理 `renames`、`removals` 或脚本执行。
|
|
402
397
|
|
|
@@ -406,34 +401,34 @@ starwork pack install content-creator --target <satellite> --yes
|
|
|
406
401
|
|
|
407
402
|
1. 支持 `starwork spawn` 命令。
|
|
408
403
|
2. 支持 `--hub`、`--name`、`--target`、`--mode`、`--id`、`--blueprint`、`--dry-run`、`--yes`。
|
|
409
|
-
3.
|
|
404
|
+
3. 检查项目中心是否为健康 `hub` 工作台。
|
|
410
405
|
4. 只允许写入不存在或空目标目录。
|
|
411
|
-
5.
|
|
412
|
-
6.
|
|
406
|
+
5. 复制 `project` Kit;`starter` 只作为兼容别名映射为 `project`。
|
|
407
|
+
6. 写入项目工作台 `.starwork/workspace.json`,包含 `project_center` 与兼容 `hub` 字段。
|
|
413
408
|
7. 写入 `.core-sync.json`。
|
|
414
409
|
8. 复制 identity / lessons / .internal / .obsidian 快照。
|
|
415
410
|
9. 创建 knowledge 和 skills 链接;失败时中止并报告错误。
|
|
416
|
-
10.
|
|
417
|
-
11. 补充 `doctor`
|
|
418
|
-
12.
|
|
411
|
+
10. 更新项目中心的项目注册表。
|
|
412
|
+
11. 补充 `doctor` 对中心管理项目工作台的识别。
|
|
413
|
+
12. 增加测试:创建项目工作台、兼容 starter 参数、registry 重复 ID 拒绝、非项目中心拒绝。
|
|
419
414
|
|
|
420
415
|
## 验收标准
|
|
421
416
|
|
|
422
417
|
`starwork spawn` 可验收,至少满足:
|
|
423
418
|
|
|
424
|
-
-
|
|
425
|
-
-
|
|
426
|
-
-
|
|
427
|
-
-
|
|
428
|
-
- `.core-sync.json`
|
|
419
|
+
- 能从项目中心创建 `project` 项目工作台。
|
|
420
|
+
- 兼容 `--mode starter`,但实际按 `project` 处理。
|
|
421
|
+
- 创建后项目工作台通过 `starwork doctor`。
|
|
422
|
+
- 项目中心项目注册表出现项目记录。
|
|
423
|
+
- `.core-sync.json` 记录项目中心路径、项目 ID、同步资源。
|
|
429
424
|
- 已存在同 ID 时拒绝创建。
|
|
430
425
|
- 目标目录已有用户内容时默认拒绝写入。
|
|
431
|
-
-
|
|
426
|
+
- 不支持从普通项目工作台创建中心管理项目。
|
|
432
427
|
|
|
433
428
|
## 后续问题
|
|
434
429
|
|
|
435
430
|
1. 是否兼容 `knowledge/` 英文路径链接。
|
|
436
431
|
2. skills 软链接是否默认挂载全部 skills,还是只挂载指定列表。
|
|
437
432
|
3. 创建项目时是否允许直接安装业务 Pack。
|
|
438
|
-
4.
|
|
433
|
+
4. 是否需要在项目中心 `projects/coordination/` 自动生成项目创建 handoff。
|
|
439
434
|
5. 软链接失败时是否提供复制降级策略。
|