@jennie-shawn/starwork 0.1.0-alpha.2 → 0.1.0-alpha.5
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 +53 -49
- package/cli/README.md +1 -1
- package/cli/doctor-spec.md +70 -4
- package/cli/src/cli.js +371 -6
- package/cli/test/init.test.js +60 -0
- package/docs/README.md +2 -0
- package/docs/agent-install-guide.md +113 -0
- package/docs/alpha-test-guide.md +2 -0
- package/docs/doctor-capabilities.html +626 -0
- package/docs/index.html +1 -0
- package/docs/product-direction.md +6 -4
- package/docs/roadmap.html +25 -11
- package/docs/roadmap.md +33 -8
- package/docs/v0.1-plan.md +11 -4
- package/package.json +2 -2
- package/skills/README.md +1 -0
- package/skills/starworkDoctor/SKILL.md +172 -0
- package/skills/starworkDoctor/agents/openai.yaml +7 -0
- package/skills/starworkDoctor-spec.md +291 -0
package/README.md
CHANGED
|
@@ -1,83 +1,87 @@
|
|
|
1
1
|
# StarWork
|
|
2
2
|
|
|
3
|
-
StarWork
|
|
3
|
+
StarWork 是一套面向 AI Agent 的工作台协议和工具集,用来帮助用户把长期工作、跨会话协作、多项目管理和 Agent 工作流组织清楚。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
它包含四个核心部分:
|
|
6
6
|
|
|
7
|
-
- **Core
|
|
8
|
-
- **CLI
|
|
9
|
-
- **Packs
|
|
10
|
-
- **Skills
|
|
7
|
+
- **Core**:定义工作台应该长什么样,包括目录结构、角色边界、状态文件和健康检查规则。
|
|
8
|
+
- **CLI**:提供 `init`、`doctor`、`spawn`、`adapt`、`pack install` 等命令,用来创建、检查和扩展工作台。
|
|
9
|
+
- **Packs**:场景模板包。当前 A 测阶段默认使用通用 Pack。
|
|
10
|
+
- **Skills**:给 Codex 等 Agent 使用的工作流说明,让 Agent 能更可靠地帮用户设计和生成 StarWork 工作台。
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
当前版本处于 A 测阶段,适合测试安装流程、基础命令、工作台结构和 Agent skill 使用体验。
|
|
13
13
|
|
|
14
|
-
##
|
|
14
|
+
## 安装 CLI
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
全局安装:
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
19
|
npm install -g @jennie-shawn/starwork
|
|
20
20
|
starwork --help
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
不全局安装,直接运行:
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
26
|
npx @jennie-shawn/starwork --help
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
##
|
|
29
|
+
## 安装 Skills
|
|
30
30
|
|
|
31
|
-
StarWork skills
|
|
31
|
+
StarWork skills 通过 GitHub 仓库和 `skills` CLI 分发。
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
给 Codex 安装全部 StarWork skills:
|
|
34
34
|
|
|
35
35
|
```bash
|
|
36
36
|
npx skills add jennie-shawn/starwork --skill '*' -g -a codex -y
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
单独安装某个 skill:
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
42
|
npx skills add jennie-shawn/starwork --skill starworkInit -g -a codex -y
|
|
43
43
|
npx skills add jennie-shawn/starwork --skill starworkSpawn -g -a codex -y
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
当前 skills:
|
|
47
47
|
|
|
48
|
-
- `starworkInit
|
|
49
|
-
- `starworkSpawn
|
|
48
|
+
- `starworkInit`:帮助 Agent 判断工作台类型、语言、是否需要事项,并生成友好的 `starwork init` 初始化方案。
|
|
49
|
+
- `starworkSpawn`:帮助 Agent 为已有 Hub 设计 `starwork spawn --blueprint` 工作台定制单。
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
如果你希望让 Agent 帮你完成安装,可以把 [Agent 安装指南](docs/agent-install-guide.md) 里的提示词发给你的 Agent。
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
## 快速开始
|
|
54
|
+
|
|
55
|
+
创建一个长期单项目工作台:
|
|
54
56
|
|
|
55
57
|
```bash
|
|
56
58
|
starwork init \
|
|
57
59
|
--type single-matter \
|
|
58
60
|
--pack general \
|
|
61
|
+
--language zh \
|
|
59
62
|
--name "StarWork A Test" \
|
|
60
63
|
--target ~/Desktop/starwork-a-test \
|
|
61
64
|
--yes
|
|
62
65
|
```
|
|
63
66
|
|
|
64
|
-
|
|
67
|
+
检查工作台:
|
|
65
68
|
|
|
66
69
|
```bash
|
|
67
70
|
starwork doctor --target ~/Desktop/starwork-a-test
|
|
68
71
|
```
|
|
69
72
|
|
|
70
|
-
|
|
73
|
+
创建一个多项目中枢:
|
|
71
74
|
|
|
72
75
|
```bash
|
|
73
76
|
starwork init \
|
|
74
77
|
--type hub \
|
|
78
|
+
--language zh \
|
|
75
79
|
--name "StarWork Hub A Test" \
|
|
76
80
|
--target ~/Desktop/starwork-hub-a-test \
|
|
77
81
|
--yes
|
|
78
82
|
```
|
|
79
83
|
|
|
80
|
-
|
|
84
|
+
从 Hub 生成一个项目:
|
|
81
85
|
|
|
82
86
|
```bash
|
|
83
87
|
starwork spawn \
|
|
@@ -88,13 +92,13 @@ starwork spawn \
|
|
|
88
92
|
--yes
|
|
89
93
|
```
|
|
90
94
|
|
|
91
|
-
|
|
95
|
+
检查生成的项目:
|
|
92
96
|
|
|
93
97
|
```bash
|
|
94
98
|
starwork doctor --target ~/Desktop/starwork-alpha-project
|
|
95
99
|
```
|
|
96
100
|
|
|
97
|
-
## CLI
|
|
101
|
+
## CLI 能力
|
|
98
102
|
|
|
99
103
|
```text
|
|
100
104
|
starwork init
|
|
@@ -104,49 +108,49 @@ starwork adapt
|
|
|
104
108
|
starwork pack install
|
|
105
109
|
```
|
|
106
110
|
|
|
107
|
-
|
|
111
|
+
当前能力:
|
|
108
112
|
|
|
109
|
-
- `init
|
|
110
|
-
- `doctor
|
|
111
|
-
- `spawn
|
|
112
|
-
- `adapt
|
|
113
|
-
- `pack install
|
|
113
|
+
- `init`:创建轻量单项目、长期事项型单项目或多项目 Hub。
|
|
114
|
+
- `doctor`:检查工作台健康状态、必需文件、Pack 落地结果和 blueprint 定制结果。
|
|
115
|
+
- `spawn`:从已有 Hub 创建并登记卫星项目。
|
|
116
|
+
- `adapt`:生成 Claude Code、Cursor 等 Agent 的适配文件。
|
|
117
|
+
- `pack install`:向兼容工作台安装支持的 Pack。
|
|
114
118
|
|
|
115
|
-
##
|
|
119
|
+
## 仓库结构
|
|
116
120
|
|
|
117
121
|
```text
|
|
118
122
|
.
|
|
119
|
-
├── core/ # StarWork Core
|
|
120
|
-
├── cli/ # CLI
|
|
121
|
-
├── packs/ #
|
|
123
|
+
├── core/ # StarWork Core 协议、Kit、Profile、Preset
|
|
124
|
+
├── cli/ # CLI 实现和命令规格
|
|
125
|
+
├── packs/ # 场景 Pack
|
|
122
126
|
├── skills/ # Agent skills
|
|
123
|
-
├── schemas/ #
|
|
124
|
-
├── adapters/ # Agent
|
|
125
|
-
├── examples/ #
|
|
126
|
-
└── docs/ #
|
|
127
|
+
├── schemas/ # 结构化 schema
|
|
128
|
+
├── adapters/ # Agent 适配规则
|
|
129
|
+
├── examples/ # 示例
|
|
130
|
+
└── docs/ # 产品文档和 A 测指南
|
|
127
131
|
```
|
|
128
132
|
|
|
129
|
-
## A
|
|
133
|
+
## A 测反馈重点
|
|
130
134
|
|
|
131
|
-
|
|
135
|
+
请优先反馈:
|
|
132
136
|
|
|
133
|
-
-
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
-
|
|
137
|
+
- CLI 是否能顺利安装和运行。
|
|
138
|
+
- `init` 创建的工作台结构是否容易理解。
|
|
139
|
+
- `doctor` 的检查结果是否能指导修复问题。
|
|
140
|
+
- Hub + Satellite 工作流是否自然。
|
|
141
|
+
- `starworkInit` 和 `starworkSpawn` 是否能被 Agent 正确识别和调用。
|
|
138
142
|
|
|
139
|
-
|
|
143
|
+
更完整的测试脚本见 [A 测安装指南](docs/alpha-test-guide.md)。
|
|
140
144
|
|
|
141
|
-
##
|
|
145
|
+
## 开发
|
|
142
146
|
|
|
143
|
-
|
|
147
|
+
运行测试:
|
|
144
148
|
|
|
145
149
|
```bash
|
|
146
150
|
npm test
|
|
147
151
|
```
|
|
148
152
|
|
|
149
|
-
|
|
153
|
+
预览 npm 包内容:
|
|
150
154
|
|
|
151
155
|
```bash
|
|
152
156
|
npm pack --dry-run
|
package/cli/README.md
CHANGED
|
@@ -25,7 +25,7 @@ v0.1 只覆盖最小可用安装和适配能力:
|
|
|
25
25
|
|
|
26
26
|
- `starwork init` 第一版:可以初始化轻量单项目、长期单项目和多项目管理中枢,并通过 Pack 语言配置组装通用工作、内容创作者和中枢管理场景。
|
|
27
27
|
- `starwork spawn` 第一版:可以从健康 Hub 生成 `satellite-starter` / `satellite-matter` 项目工作台,支持 `--blueprint` 定制目录、路径、规则和 seed,并回写 Hub 项目注册表。
|
|
28
|
-
- `starwork doctor` 第一版:可以检查 workspace state、Core 必需角色、Kit 文件、正式事实源、业务工作区和 Pack 落地结果,并支持 `--json`
|
|
28
|
+
- `starwork doctor` 第一版:可以检查 workspace state、Core 必需角色、Kit 文件、正式事实源、业务工作区和 Pack 落地结果,并支持 `--json` 输出;alpha.4 开始可识别历史模板并给出升级建议;alpha.5 开始输出目录 `inventory` 与语义 `signals`,供 `starworkDoctor` skill 判断。
|
|
29
29
|
- `starwork adapt` 第一版:可以为 Codex、Claude Code、Cursor、Trae 生成或登记轻量适配入口。
|
|
30
30
|
- `starwork pack install` 第一版:可以在健康工作台上补装 Pack,并更新路径、规则、模板和 workspace state。
|
|
31
31
|
|
package/cli/doctor-spec.md
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
- 所属模块:StarWork CLI
|
|
7
7
|
- 命令:`starwork doctor`
|
|
8
8
|
- 前置状态:Core v0.1 已封版,`starwork init` 第一版已落地
|
|
9
|
-
- 实现状态:v0.1
|
|
10
|
-
- 目标:检查一个 StarWork
|
|
9
|
+
- 实现状态:v0.1 最小实现已落地;历史模板升级诊断、目录 inventory 和 signals 已进入 alpha
|
|
10
|
+
- 目标:检查一个 StarWork 工作台是否健康,并把结构事实、风险和候选信号暴露出来;对历史模板用户只输出可供 AI 判断的诊断信号,不直接生成行动建议
|
|
11
11
|
|
|
12
12
|
## 一句话定义
|
|
13
13
|
|
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
|
|
16
16
|
它不负责创建工作台,不负责升级工作台,也不默认修复文件。它只做一件事:把 Core、Kit、Pack 和 Agent 适配文件之间的不一致检查出来,用人能看懂的方式报告。
|
|
17
17
|
|
|
18
|
+
从 alpha.4 起,`doctor` 还承担一个轻量探测入口职责:当目录不是标准 StarWork 工作台,但看起来像用户正在使用的历史模板时,它不会只说“不是工作台”,而是输出历史模板识别结果、目录 inventory 和 semantic signals,交给 `starworkDoctor` 做后续判断。
|
|
19
|
+
|
|
18
20
|
## 为什么先做 doctor
|
|
19
21
|
|
|
20
22
|
Core v0.1 已封版后,项目进入 M2:CLI v0.1 最小闭环。
|
|
@@ -90,6 +92,8 @@ starwork doctor --verbose
|
|
|
90
92
|
| `--json` | 输出机器可读 JSON。 |
|
|
91
93
|
| `--strict` | 将部分 warning 视为失败,适合测试和发布前检查。 |
|
|
92
94
|
| `--verbose` | 显示通过项、检查来源和路径解析细节。 |
|
|
95
|
+
| `--inventory-depth <number\|all>` | 控制目录结构探测深度,默认用于保护过大的工作区。 |
|
|
96
|
+
| `--inventory-limit <number>` | 控制最多输出多少个目录和文件条目。 |
|
|
93
97
|
| `--help` | 显示帮助。 |
|
|
94
98
|
|
|
95
99
|
v0.1 暂不提供 `--fix`。修复动作后续可以单独设计为 `starwork doctor --fix` 或 `starwork repair`,但第一版不要混入。
|
|
@@ -142,7 +146,7 @@ v0.1 暂不提供 `--fix`。修复动作后续可以单独设计为 `starwork do
|
|
|
142
146
|
结果:
|
|
143
147
|
|
|
144
148
|
- 找到:使用该目录作为工作区根目录。
|
|
145
|
-
- 未找到但当前目录有 StarWork
|
|
149
|
+
- 未找到但当前目录有 StarWork 或历史模板痕迹:报告缺少 workspace state,同时输出历史模板候选信号。
|
|
146
150
|
- 未找到且无 StarWork 痕迹:报告不是 StarWork 工作台。
|
|
147
151
|
|
|
148
152
|
v0.1 判断标准:
|
|
@@ -150,9 +154,41 @@ v0.1 判断标准:
|
|
|
150
154
|
| 情况 | 结果 |
|
|
151
155
|
|---|---|
|
|
152
156
|
| 找到 `.starwork/workspace.json` | 继续检查。 |
|
|
153
|
-
| 未找到 state,但有 `AGENTS.md` 和 `_系统/` / `_system/` | `fail`:缺少 workspace state
|
|
157
|
+
| 未找到 state,但有 `AGENTS.md` 和 `_系统/` / `_system/` | `fail`:缺少 workspace state,并输出候选信号。 |
|
|
158
|
+
| 未找到 state,但有 `references/outputs` 或 `参考资料/输出` | `fail`:识别为历史模板升级候选。 |
|
|
154
159
|
| 完全没有 StarWork 痕迹 | `fail`:不是 StarWork 工作台。 |
|
|
155
160
|
|
|
161
|
+
### Step 1.5:历史模板升级诊断
|
|
162
|
+
|
|
163
|
+
历史模板诊断只读文件结构,不移动、不复制、不写入任何文件。
|
|
164
|
+
|
|
165
|
+
识别信号:
|
|
166
|
+
|
|
167
|
+
| 信号 | 示例 |
|
|
168
|
+
|---|---|
|
|
169
|
+
| Agent 入口规则 | `AGENTS.md`、`CLAUDE.md`、`.cursorrules` |
|
|
170
|
+
| 系统目录 | `_系统/`、`_system/` |
|
|
171
|
+
| 事项目录 | `事项/`、`matters/` |
|
|
172
|
+
| 参考资料目录 | `参考资料/`、`资料/`、`素材/`、`references/`、`reference/` |
|
|
173
|
+
| 输出目录 | `输出/`、`成果/`、`outputs/`、`output/` |
|
|
174
|
+
| 身份和教训 | `identity/`、`lessons/`、`_系统/身份/`、`_system/identity/` |
|
|
175
|
+
|
|
176
|
+
推断规则:
|
|
177
|
+
|
|
178
|
+
| 推断项 | 规则 |
|
|
179
|
+
|---|---|
|
|
180
|
+
| `language` | 中文路径多则 `zh`,英文路径多则 `en`,不确定时默认为 `zh`。 |
|
|
181
|
+
| `workspace_type` | 存在 `事项/` 或 `matters/` 时推断为 `single-matter`,否则推断为 `single-light`。 |
|
|
182
|
+
输出内容:
|
|
183
|
+
|
|
184
|
+
- `upgrade.candidate: true`
|
|
185
|
+
- `upgrade.source: legacy-template`
|
|
186
|
+
- `upgrade.inferred.language`
|
|
187
|
+
- `upgrade.inferred.workspace_type`
|
|
188
|
+
- 检测到的参考资料目录和输出目录
|
|
189
|
+
|
|
190
|
+
注意:`doctor --json` 不输出 `next_steps`,也不输出 Pack 建议,避免影响 `starworkDoctor` 基于上下文做独立判断。在没有正式 `starwork upgrade` 命令前,`doctor` 只提供事实和信号,不执行迁移。
|
|
191
|
+
|
|
156
192
|
### Step 2:读取 workspace state
|
|
157
193
|
|
|
158
194
|
读取 `.starwork/workspace.json`。
|
|
@@ -388,6 +424,7 @@ Result:
|
|
|
388
424
|
"language": "zh",
|
|
389
425
|
"packs": ["content-creator"]
|
|
390
426
|
},
|
|
427
|
+
"upgrade": null,
|
|
391
428
|
"summary": {
|
|
392
429
|
"pass": 18,
|
|
393
430
|
"info": 1,
|
|
@@ -405,6 +442,29 @@ Result:
|
|
|
405
442
|
}
|
|
406
443
|
```
|
|
407
444
|
|
|
445
|
+
历史模板升级候选的 JSON 示例:
|
|
446
|
+
|
|
447
|
+
```json
|
|
448
|
+
{
|
|
449
|
+
"schema": "starwork.doctor.result.v0.1",
|
|
450
|
+
"ok": false,
|
|
451
|
+
"strict_ok": false,
|
|
452
|
+
"workspace_root": null,
|
|
453
|
+
"workspace": null,
|
|
454
|
+
"upgrade": {
|
|
455
|
+
"candidate": true,
|
|
456
|
+
"source": "legacy-template",
|
|
457
|
+
"confidence": "high",
|
|
458
|
+
"inferred": {
|
|
459
|
+
"language": "zh",
|
|
460
|
+
"workspace_type": "single-matter",
|
|
461
|
+
"references": ["参考资料"],
|
|
462
|
+
"outputs": ["输出"]
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
```
|
|
467
|
+
|
|
408
468
|
## 检查 ID 命名
|
|
409
469
|
|
|
410
470
|
检查 ID 应稳定,方便测试、文档和后续自动化使用。
|
|
@@ -419,6 +479,7 @@ capability.*
|
|
|
419
479
|
pack.*
|
|
420
480
|
content.*
|
|
421
481
|
adapter.*
|
|
482
|
+
legacy.*
|
|
422
483
|
```
|
|
423
484
|
|
|
424
485
|
示例:
|
|
@@ -435,6 +496,9 @@ adapter.*
|
|
|
435
496
|
- `pack.paths.exist`
|
|
436
497
|
- `pack.templates.installed`
|
|
437
498
|
- `content.current_work.too_long`
|
|
499
|
+
- `legacy.template.detected`
|
|
500
|
+
- `legacy.references.detected`
|
|
501
|
+
- `legacy.outputs.detected`
|
|
438
502
|
|
|
439
503
|
## 与其他命令的关系
|
|
440
504
|
|
|
@@ -503,6 +567,8 @@ adapter.*
|
|
|
503
567
|
- 删除正式事实源目录后返回 fail。
|
|
504
568
|
- 删除 Pack seed 文件后返回 fail。
|
|
505
569
|
- 非 StarWork 目录返回 fail,并提示先运行 `starwork init`。
|
|
570
|
+
- 对存在 `references/outputs` 的英文历史模板返回 fail,但输出 `upgrade` 候选信号,不输出 `next_steps` 或 Pack 建议。
|
|
571
|
+
- 对存在 `参考资料/输出/事项` 的中文历史模板返回 fail,但推断为 `single-matter` + `zh`。
|
|
506
572
|
- `--json` 输出稳定结构。
|
|
507
573
|
- 没有 fail 时退出码为 `0`,有 fail 时退出码为 `1`。
|
|
508
574
|
|