speccore 8.3.193 → 8.3.194
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.en.md +212 -60
- package/README.md +183 -331
- package/dist/cli.js +16 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/analyze.d.ts +1 -0
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +160 -25
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/change.js +51 -13
- package/dist/commands/change.js.map +1 -1
- package/dist/commands/doc2spec.d.ts.map +1 -1
- package/dist/commands/doc2spec.js +201 -7
- package/dist/commands/doc2spec.js.map +1 -1
- package/dist/commands/execute.js +38 -1
- package/dist/commands/execute.js.map +1 -1
- package/dist/commands/iteration/split.d.ts.map +1 -1
- package/dist/commands/iteration/split.js +51 -12
- package/dist/commands/iteration/split.js.map +1 -1
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +84 -12
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/pr.d.ts.map +1 -1
- package/dist/commands/pr.js +63 -3
- package/dist/commands/pr.js.map +1 -1
- package/dist/commands/req-doc.d.ts +1 -0
- package/dist/commands/req-doc.d.ts.map +1 -1
- package/dist/commands/req-doc.js +145 -54
- package/dist/commands/req-doc.js.map +1 -1
- package/dist/commands/run.d.ts +2 -0
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +45 -8
- package/dist/commands/run.js.map +1 -1
- package/dist/core/ask-engine.d.ts.map +1 -1
- package/dist/core/ask-engine.js +30 -4
- package/dist/core/ask-engine.js.map +1 -1
- package/dist/core/ask-llm.d.ts +12 -0
- package/dist/core/ask-llm.d.ts.map +1 -1
- package/dist/core/ask-llm.js +101 -4
- package/dist/core/ask-llm.js.map +1 -1
- package/dist/core/content-delivery.d.ts +9 -1
- package/dist/core/content-delivery.d.ts.map +1 -1
- package/dist/core/content-delivery.js +11 -0
- package/dist/core/content-delivery.js.map +1 -1
- package/dist/core/context-budget.d.ts +62 -0
- package/dist/core/context-budget.d.ts.map +1 -0
- package/dist/core/context-budget.js +128 -0
- package/dist/core/context-budget.js.map +1 -0
- package/dist/core/intent-recognition.d.ts.map +1 -1
- package/dist/core/intent-recognition.js +24 -6
- package/dist/core/intent-recognition.js.map +1 -1
- package/dist/core/pipeline-engine.d.ts +2 -0
- package/dist/core/pipeline-engine.d.ts.map +1 -1
- package/dist/core/pipeline-engine.js +9 -1
- package/dist/core/pipeline-engine.js.map +1 -1
- package/dist/core/prompt-builder.d.ts.map +1 -1
- package/dist/core/prompt-builder.js +18 -68
- package/dist/core/prompt-builder.js.map +1 -1
- package/dist/core/spec-paths.js +1 -1
- package/dist/core/spec-paths.js.map +1 -1
- package/dist/core/unified-config.d.ts +16 -0
- package/dist/core/unified-config.d.ts.map +1 -1
- package/dist/core/unified-config.js +57 -0
- package/dist/core/unified-config.js.map +1 -1
- package/dist/core/unit-context-assembler.js +21 -14
- package/dist/core/unit-context-assembler.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,419 +2,271 @@
|
|
|
2
2
|
|
|
3
3
|
🖥️ 规范驱动开发 CLI · 需求到部署全流程 · 环境驱动部署 · 全命令 Skill 覆盖 · 多层 AI 架构
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
@spec-ask "分析会议预订系统的需求文档,拆分为独立开发任务,按依赖顺序执行"
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-

|
|
10
|
-
|
|
11
|
-
**🧠 万能 AI 入口** — 一个命令解决所有问题
|
|
12
|
-
|
|
13
|
-

|
|
5
|
+
SpecCore 把「需求文档」一路规范驱动到「可交付代码」:导入需求 → 切分功能单元 → 分析 → 拆分任务 → 开发 → 验证 → 部署。整个过程由规格(Spec)驱动,AI 只在需要判断和生成的地方介入,关键动作留给你确认。
|
|
14
6
|
|
|
15
7
|
---
|
|
16
8
|
|
|
17
|
-
## 架构概览
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
@spec-ask "..." ← AI 入口 → @spec-ask "全自动执行"
|
|
21
|
-
│ │
|
|
22
|
-
├─ 📖 命令解释 "dashboard 怎么用" ├─ 🏗️ 初始化
|
|
23
|
-
├─ 🗺️ 任务指引 "我想做登录" ├─ 📝 导入需求
|
|
24
|
-
├─ 🎯 意图匹配 "查看进度" ├─ 🧠 AI 分析
|
|
25
|
-
└─ ⚡ 复杂编排 "计划→定时→分批" ├─ 📦 拆分任务
|
|
26
|
-
├─ ⚡ 执行开发
|
|
27
|
-
┌─────────────────────────────┐ ├─ 🔀 提交 PR
|
|
28
|
-
│ speccore dashboard │ ├─ ✅ 归档收尾
|
|
29
|
-
│ ─ 全局仪表盘 (7 大维度) │ └─ 📊 生成回顾
|
|
30
|
-
│ ─ 9 主题 / 中英文 / 字号 │
|
|
31
|
-
│ ─ F 键全屏 / 四边扫描线 │
|
|
32
|
-
└─────────────────────────────┘
|
|
33
|
-
```
|
|
34
|
-
|
|
35
9
|
## 快速开始
|
|
36
10
|
|
|
37
11
|
```bash
|
|
38
12
|
npm install -g speccore
|
|
39
|
-
speccore init
|
|
40
|
-
speccore iteration create -n Q1 --topic meeting-system --owner luzhaosheng # 创建迭代(CLI)
|
|
41
|
-
speccore task new -n "用户登录" --topic user-login -i meeting-system # 创建任务(CLI)
|
|
42
|
-
# 只提供 --name 时也会自动提取 slug(v8.3.78+):"User管理" → Task-001-user,"用户登录" → Task-001-xxx(hash)
|
|
43
|
-
speccore context --set --iteration Iteration-001-meeting-system # 切换上下文(CLI)
|
|
44
|
-
speccore dashboard # 查看仪表盘(CLI)
|
|
13
|
+
speccore init # 初始化项目,生成配置引导
|
|
45
14
|
```
|
|
46
15
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-

|
|
50
|
-
|
|
51
|
-
> 💡 **AI 命令**(在 WorkBuddy/Trae/Qcoder 中通过 `@spec-ask` 或 `/spec-ask` 使用):分析需求、制定计划、执行开发。详见 [AGENTS.md](./AGENTS.md)。
|
|
52
|
-
|
|
53
|
-
## 核心流水线 🔒 AI 命令
|
|
54
|
-
|
|
55
|
-
```
|
|
56
|
-
init → doc2spec → analyze(overview) → analyze(功能单元) → split → plan → execute → pr → done → spec2doc
|
|
57
|
-
└─ .issues.md ← 问题发现 ── → AI 辅助修复
|
|
58
|
-
└─ .needs-retry ← 失败标记 ── → execute --resume
|
|
59
|
-
```
|
|
16
|
+
四步走完一个迭代:
|
|
60
17
|
|
|
61
|
-
|
|
18
|
+
| 步骤 | 命令 | 说明 |
|
|
19
|
+
|------|------|------|
|
|
20
|
+
| ① 导入需求 | `speccore doc2spec -f PRD.docx` | 源文档转 MD,按需切分功能单元 |
|
|
21
|
+
| ② 分析 | `speccore analyze` | AI 生成技术规格(Spec) |
|
|
22
|
+
| ③ 开发 | `speccore execute` | 按计划开发代码 |
|
|
23
|
+
| ④ 交付 | `speccore pr` | 总结变更 + 提交 |
|
|
62
24
|
|
|
63
|
-
|
|
25
|
+
> 💡 **不想记命令?** 用自然语言入口 `speccore ask "我想做一个支付功能"`,AI 自动编排流水线。或在 AI IDE 中通过 `@spec-ask` 直接对话。
|
|
64
26
|
|
|
65
|
-
|
|
66
|
-
|------|------|
|
|
67
|
-
| CLI 入口 | `init` `welcome` `help` |
|
|
68
|
-
| CLI 管理 | `iteration` `task` `context` ✅ |
|
|
69
|
-
| CLI 查看 | `dashboard` `validate` `about` `config` `archive` `verdict` |
|
|
70
|
-
| CLI 工具 | `workspace` `clarify` `pattern` `code-index` `graph` |
|
|
71
|
-
| 🔒 AI 入口 | `ask` |
|
|
72
|
-
| 🔒 AI 流水线 | `doc2spec` `analyze` `split` `plan` `execute` `pr` `done` `spec2doc` |
|
|
73
|
-
| 🔒 AI 智能 | `dev` |
|
|
74
|
-
| 🔒 AI 变更 | `change` `retro` |
|
|
75
|
-
| ✅ 质量验证 | `verify` `verify --ui` `verify --stage` `verify --api-contract` `verify --perf` `verify --project-dir` |
|
|
76
|
-
|
|
77
|
-
## 目录结构(全英文)
|
|
27
|
+
---
|
|
78
28
|
|
|
79
|
-
|
|
80
|
-
Iteration-001-meeting/
|
|
81
|
-
├── 000-overview/ ← 进度跟踪
|
|
82
|
-
├── 010-requirements/ ← 需求文档(按功能组织)
|
|
83
|
-
│ ├── README.md ← 目录规范说明
|
|
84
|
-
│ ├── INDEX.md ← 需求文档索引
|
|
85
|
-
│ ├── sources/ ← [只读] 原始 PRD/Word/PDF
|
|
86
|
-
│ ├── converted/ ← [自动生成] doc2spec 转换后的 MD
|
|
87
|
-
│ ├── features/ ← [手动维护] 按功能模块组织
|
|
88
|
-
│ │ └── {feature}/
|
|
89
|
-
│ │ ├── README.md
|
|
90
|
-
│ │ └── _matrix.md ← [v8.3.177+] 端覆盖矩阵(platforms/dependencies/apis)
|
|
91
|
-
│ ├── prototypes/ ← 原型(HTML/图片/链接)
|
|
92
|
-
│ └── assets/ ← 素材(extracted/)
|
|
93
|
-
├── 020-specs/ ← analyze 输出(三层架构 v8.3.17+)
|
|
94
|
-
│ ├── overview/ ← 迭代级全局文档(REQUIREMENT/ANALYSIS/FUNCTION_MAP/RISK/DEPS)
|
|
95
|
-
│ ├── {feature}/ ← 功能模块目录(如 用户认证/订单管理)
|
|
96
|
-
│ │ ├── overview/ ← 功能模块综合文档
|
|
97
|
-
│ │ └── {platform}/ ← 各端专属(TECH/TEST/UI_SPEC)
|
|
98
|
-
│ └── PLATFORMS.md ← 端列表元数据
|
|
99
|
-
├── 030-tasks/ ← split 开发任务
|
|
100
|
-
│ └── Task-001-*/
|
|
101
|
-
│ ├── .meta/ ← 任务元信息(type/status/owner/feature/created-at)
|
|
102
|
-
│ ├── _shared/ ← 共享契约(API_CONTRACT.yaml)
|
|
103
|
-
│ ├── 00-specs/ ← 执行前核心规格(REQ/TECH/TASK/SCHEMA/CHANGELOG)
|
|
104
|
-
│ ├── {platform}/ ← 各端实现(平铺,如 booking-service/ h5-mobile/ admin-web/)
|
|
105
|
-
│ └── .issues.md ← 问题追踪
|
|
106
|
-
└── STAFFING.md ← 人员排期
|
|
107
|
-
```
|
|
29
|
+
## 核心流水线
|
|
108
30
|
|
|
109
|
-
|
|
31
|
+
一条 `run` 命令覆盖全流程,用**预设流水线(preset)**按场景起停:
|
|
110
32
|
|
|
111
33
|
```bash
|
|
112
|
-
|
|
113
|
-
speccore
|
|
114
|
-
speccore
|
|
115
|
-
speccore
|
|
116
|
-
|
|
117
|
-
# Pipeline 内置测试节点(v8.3.60+)
|
|
118
|
-
speccore pipeline --env staging --all --test-enabled --test-type smoke
|
|
119
|
-
|
|
120
|
-
# 独立构建/部署
|
|
121
|
-
speccore build --env staging --platform h5 # 构建 H5 端
|
|
122
|
-
speccore deploy --env production --all # 部署到生产环境
|
|
34
|
+
speccore run --preset develop # 分析→验证(默认)
|
|
35
|
+
speccore run --preset spec # 导入需求→拆分任务(生成 Spec 看效果)
|
|
36
|
+
speccore run --preset deploy # 分析→部署验证
|
|
37
|
+
speccore run --preset deliver # 执行→提交代码
|
|
38
|
+
speccore run # 不带参数 = develop
|
|
123
39
|
```
|
|
124
40
|
|
|
125
|
-
|
|
41
|
+
### 8 个预设流水线
|
|
126
42
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
type: static
|
|
138
|
-
output_dir: dist
|
|
139
|
-
target: s3://mybucket-staging/h5/
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
**特性**:
|
|
143
|
-
- `--env` 读取环境配置中的 `branch`,自动 merge 当前分支
|
|
144
|
-
- 配置覆盖:环境文件 > PROJECT.yaml > 默认值
|
|
145
|
-
- 失败不阻断:某端失败继续处理其他端
|
|
146
|
-
- 支持任意数量自定义环境
|
|
43
|
+
| preset | 起止 | 场景 |
|
|
44
|
+
|---|---|---|
|
|
45
|
+
| `develop` | analyze → verify | 分析→验证(**默认**,代码+验证完成) |
|
|
46
|
+
| `full` | req-doc → spec2doc | 全流程(含收尾) |
|
|
47
|
+
| `import` | doc2spec → pr | 导入需求→合并请求 |
|
|
48
|
+
| `spec` | doc2spec → taskify | 导入需求→拆分任务 |
|
|
49
|
+
| `analyze` | analyze → validate | 只分析校验 |
|
|
50
|
+
| `deliver` | execute → pr | 执行→提交代码 |
|
|
51
|
+
| `deploy` | analyze → pipeline | 分析→部署验证 |
|
|
52
|
+
| `docs` | analyze → spec2doc | 分析→文档导出 |
|
|
147
53
|
|
|
148
|
-
|
|
54
|
+
### 精确控制起止点
|
|
149
55
|
|
|
150
56
|
```bash
|
|
151
|
-
|
|
152
|
-
speccore
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
# 配置驱动测试(v8.3.60+)
|
|
156
|
-
speccore verify --config ./tests/smoke.yaml --env-file test # 加载测试场景 + 合并环境配置
|
|
157
|
-
|
|
158
|
-
# API 契约测试(v8.3.49+)
|
|
159
|
-
speccore verify -t Task-001 --api-contract
|
|
57
|
+
speccore run --from split-units --to execute # 从切分功能单元到开发
|
|
58
|
+
speccore run --from taskify --to pr # 从拆分任务到提交
|
|
59
|
+
```
|
|
160
60
|
|
|
161
|
-
|
|
162
|
-
speccore verify -t Task-001 --perf
|
|
61
|
+
### 流水线阶段全景
|
|
163
62
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
63
|
+
```
|
|
64
|
+
需求入口(二选一) 结构化 质量提升(可选)
|
|
65
|
+
req-doc ──┐
|
|
66
|
+
├─→ split-units ──→ 澄清(auto/on/off)
|
|
67
|
+
doc2spec ─┘ │
|
|
68
|
+
▼
|
|
69
|
+
analyze → validate → taskify → plan → execute → verify
|
|
70
|
+
│
|
|
71
|
+
┌────────────┬──────────┬────────┴─────────┐
|
|
72
|
+
▼ ▼ ▼ ▼
|
|
73
|
+
pipeline pr(提交) done(归档) spec2doc(导出)
|
|
74
|
+
(部署) (独立收尾,按需调用)
|
|
75
|
+
```
|
|
169
76
|
|
|
170
|
-
|
|
171
|
-
speccore verify --project-dir ~/projects/other-app --stage deploy
|
|
77
|
+
**三个闸口**(全自动时停下来等你确认):Spec 定稿 → 代码 review → 部署前确认。
|
|
172
78
|
|
|
173
|
-
|
|
174
|
-
speccore verify --ui --visual-model=qwen-vl # 阿里云 DashScope(默认)
|
|
175
|
-
speccore verify --ui --visual-model=local # 本地模型
|
|
176
|
-
speccore verify --ui --visual-model='{"provider":"openai","model":"gpt-4o"}'
|
|
177
|
-
```
|
|
79
|
+
### 自定义 + 默认流水线
|
|
178
80
|
|
|
179
|
-
|
|
81
|
+
在 `.speccore.yml` 里定义自己的命名流水线,并设置默认:
|
|
180
82
|
|
|
181
|
-
**配置示例**(`.speccore.yml`):
|
|
182
83
|
```yaml
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
model: qwen-vl-max
|
|
84
|
+
settings:
|
|
85
|
+
pipelines:
|
|
86
|
+
default: develop
|
|
87
|
+
custom:
|
|
88
|
+
hotfix: execute,verify,pipeline,pr
|
|
89
|
+
quick: analyze,taskify,execute
|
|
190
90
|
```
|
|
191
91
|
|
|
192
|
-
|
|
92
|
+
### 可配置步骤(三态开关)
|
|
193
93
|
|
|
194
|
-
|
|
195
|
-
# 在 AI IDE 中通过 @spec-ask 使用:
|
|
196
|
-
@spec-ask "全量执行" # 全量执行
|
|
197
|
-
# 部分任务失败 → 写入 .issues.md + .needs-retry
|
|
198
|
-
@spec-ask "断点续传" # 扫描 .needs-retry 续跑
|
|
199
|
-
```
|
|
94
|
+
非必要步骤支持 `auto / on / off` 三态,配置默认行为,也可命令/自然语言单次覆盖:
|
|
200
95
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
#
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
96
|
+
```yaml
|
|
97
|
+
settings:
|
|
98
|
+
optional_steps:
|
|
99
|
+
clarify: auto # 需求澄清:auto=按专业度判定 / on=强制 / off=跳过
|
|
100
|
+
verify: auto # 验证
|
|
101
|
+
pipeline: auto # 部署
|
|
102
|
+
pr: auto # 提交
|
|
103
|
+
done: auto # 归档
|
|
104
|
+
spec2doc: auto # 导出文档
|
|
208
105
|
```
|
|
209
106
|
|
|
210
|
-
|
|
107
|
+
跳过澄清时,仍会生成**需求质量审查报告**(`010-requirements/QUALITY_REPORT.md`),列出每份文档的问题清单和具体修正命令。
|
|
211
108
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
**📖 命令解释** — `@spec-ask "dashboard 怎么用"`
|
|
109
|
+
---
|
|
215
110
|
|
|
216
|
-
|
|
111
|
+
## 常用命令
|
|
217
112
|
|
|
218
|
-
|
|
113
|
+
记不住 60 个命令?高频就这几个:
|
|
219
114
|
|
|
220
|
-
|
|
115
|
+
| 命令 | 作用 |
|
|
116
|
+
|------|------|
|
|
117
|
+
| `run` | 命名流水线入口(preset / 起止点) |
|
|
118
|
+
| `ask` | 自然语言入口(说人话,自动编排) |
|
|
119
|
+
| `doc2spec` | 导入 PRD → SpecCore MD |
|
|
120
|
+
| `req-doc` | 一句话需求 → PRD 文档 |
|
|
121
|
+
| `analyze` | AI 需求分析 |
|
|
122
|
+
| `taskify` | 拆分需求为开发任务 |
|
|
123
|
+
| `execute` | 按计划开发 |
|
|
124
|
+
| `pr` | 总结变更 + 提交代码 |
|
|
125
|
+
| `spec2doc` | 导出 Word/PDF/HTML |
|
|
126
|
+
| `status` | 查看进度 |
|
|
127
|
+
|
|
128
|
+
> 完整命令见 [命令参考](docs/command-reference.md),或 `speccore help` 查看分类。
|
|
221
129
|
|
|
222
|
-
|
|
130
|
+
---
|
|
223
131
|
|
|
224
|
-
|
|
132
|
+
## 核心能力
|
|
225
133
|
|
|
226
|
-
|
|
134
|
+
### 🧠 自然语言入口
|
|
227
135
|
|
|
228
|
-
|
|
136
|
+
`speccore ask "..."` 四模式:命令解释 / 任务指引 / 意图匹配 / 复杂编排。口语即可,无需记忆命令:
|
|
229
137
|
|
|
230
|
-
**🔍 深度分析单文档**(v8.3.79+ 支持路径前缀):
|
|
231
138
|
```bash
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
139
|
+
speccore ask "帮我部署" # → run --preset deploy
|
|
140
|
+
speccore ask "从分析到开发" # → run --from analyze --to execute
|
|
141
|
+
speccore ask "分析本迭代需求,跳过澄清" # → analyze --skip-clarify
|
|
235
142
|
```
|
|
236
143
|
|
|
237
|
-
### 🧠
|
|
238
|
-
`speccore knowledge` 生成交互式 HTML 知识图谱:
|
|
239
|
-
- vis-network 力导向图:9 种形状区分实体类型(需求◆ 规格🛢 功能模块■ 任务▲ 全局★ 业务模块⭐ 源码)
|
|
240
|
-
- 业务-代码关联图谱:从 TECH.md 提取业务模块→代码实体映射,支持开放关系类型
|
|
241
|
-
- 衰减检测:自动发现内容变更、下游过期、文件丢失、代码超前等风险
|
|
242
|
-
- RAG 上下文预览:查看 AI 检索时会注入的完整上下文
|
|
243
|
-
- 9 套主题 / 3 种字体 / 4 档字号 / 全屏模式 / 实体搜索 / 类型过滤
|
|
144
|
+
### 🧠 知识图谱 & 代码图谱
|
|
244
145
|
|
|
245
|
-
|
|
246
|
-
```bash
|
|
247
|
-
speccore code-index --graph --scope src # 构建代码知识图谱
|
|
248
|
-
speccore knowledge-explain "buildCodeGraph" # 解释节点及其连接
|
|
249
|
-
speccore knowledge-path "AuthModule" "UserDB" # 查找最短依赖路径
|
|
250
|
-
speccore knowledge-query "how does payment work" # 自然语言查询
|
|
251
|
-
```
|
|
252
|
-
- 基于 TypeScript 编译器 API 本地解析(代码不出本机)
|
|
253
|
-
- 自动生成 `graph.json` + `GRAPH_REPORT.md` + `graph.html`
|
|
254
|
-
- 社区检测自动划分子系统,识别 God nodes 和跨社区桥梁
|
|
255
|
-
- v6.91.0+ 支持 API Contract / SQL Schema 多模态纳入图谱
|
|
146
|
+
`speccore graph` 统一查询(知识 + 代码),`speccore knowledge` 可视化图谱:
|
|
256
147
|
|
|
257
|
-
**v7.0.0+ 统一图谱查询** — 融合知识图谱 + 代码图谱:
|
|
258
148
|
```bash
|
|
259
|
-
speccore graph query "订单相关代码"
|
|
260
|
-
speccore graph
|
|
261
|
-
speccore
|
|
262
|
-
speccore graph related Task-001 # 查询关联实体
|
|
263
|
-
speccore graph path Task-001 Task-002 # 查找最短路径
|
|
264
|
-
speccore graph stats # 统计信息(含语义标签覆盖率)
|
|
149
|
+
speccore graph query "订单相关代码" # 自然语言查询
|
|
150
|
+
speccore graph path Task-001 Task-002 # 最短依赖路径
|
|
151
|
+
speccore knowledge # 交互式 HTML 知识图谱
|
|
265
152
|
```
|
|
266
|
-
- 语义标签匹配:查询 "订单" 也能匹配到 `booking`、`purchase`、`交易` 相关代码
|
|
267
|
-
- LLM 语义排序:综合得分 = 本地匹配 × 0.4 + LLM 语义 × 0.6
|
|
268
|
-
- 查询结果融合:同时搜索知识图谱(需求/任务)和代码图谱(类/方法)
|
|
269
153
|
|
|
270
|
-
|
|
271
|
-
```bash
|
|
272
|
-
speccore graph render diagrams/architecture.mmd # 渲染单个图表
|
|
273
|
-
speccore graph render --all # 批量渲染所有 .mmd
|
|
274
|
-
speccore graph render --extract ARCHITECTURE.md # 从 Markdown 提取图表
|
|
275
|
-
```
|
|
276
|
-
- 全局分析自动在文档中嵌入 Mermaid 图表(模块关系图、时序图、流程图、状态图)
|
|
277
|
-
- 独立 `.mmd` 文件输出到 `.speccore/GLOBAL/diagrams/`
|
|
278
|
-
- 生成响应式 HTML 页面,支持打印和主题切换
|
|
154
|
+
### 📊 仪表盘
|
|
279
155
|
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
speccore
|
|
285
|
-
speccore analyze --scope global --with-code # 注入代码结构化数据(零 Token)
|
|
286
|
-
```
|
|
287
|
-
- 结构化数据提取:TypeScript AST 本地解析 API/Entity/Route/Component
|
|
288
|
-
- 自动引导:分 4 层渐进执行,每步显示进度和下一步命令
|
|
289
|
-
- 质量门禁:自动生成质量评分,检测占位符/空表格/缺失图表
|
|
290
|
-
- 交叉引用:自动生成文档间关联链接
|
|
291
|
-
- 变更感知:Git diff 检测代码变更,标记受影响文档
|
|
156
|
+
`speccore dashboard` 生成 Jira 标准 7 维度看板(需求状态 / 项目健康度 / 进度条)。
|
|
157
|
+
|
|
158
|
+
### 🚀 环境驱动部署
|
|
159
|
+
|
|
160
|
+
`speccore pipeline` 五层环境模型(local → dev → test → staging → production):
|
|
292
161
|
|
|
293
|
-
**v7.2.0+ 迭代分析细粒度增强** — 支持「分析订单模块在 TECH.md 中的实现」:
|
|
294
162
|
```bash
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
speccore status # 查看分析进度和过期文档
|
|
163
|
+
speccore pipeline --env staging --all # 一键 merge → build → deploy
|
|
164
|
+
speccore pipeline --env test --platforms h5,api
|
|
298
165
|
```
|
|
299
|
-
- 语义定位引擎:关键词同义词扩展,跨文档/跨代码自动定位
|
|
300
|
-
- 代码自动关联:分析时自动注入源码中的接口定义和组件信息
|
|
301
|
-
- 意图识别增强:自动提取 docName + featureName,精准定位分析目标
|
|
302
|
-
- 临时缓存:`.speccore/cache/iterations/{name}/` 存储分析中间产物
|
|
303
166
|
|
|
304
|
-
|
|
167
|
+
### 🧪 质量验证
|
|
305
168
|
|
|
306
|
-
|
|
169
|
+
`speccore verify` 分层测试:编译 + Lint + 单元测试 + UI 冒烟 + API 契约 + 性能基线。部署前可阻断,部署后只报告。
|
|
307
170
|
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
-
|
|
311
|
-
|
|
312
|
-
- 9 套主题、中英文切换、字体/字号调节、F 键全屏、四边脉冲扫描线
|
|
171
|
+
```bash
|
|
172
|
+
speccore verify --stage pr # PR 阶段:代码质量 + 冒烟 + 契约
|
|
173
|
+
speccore verify -t Task-001 --ui # 单任务 UI 冒烟
|
|
174
|
+
```
|
|
313
175
|
|
|
314
|
-
|
|
176
|
+
### 📖 配置引导
|
|
315
177
|
|
|
316
|
-
|
|
178
|
+
`speccore init` 后自动生成 6 步引导页,帮助新用户快速上手。
|
|
317
179
|
|
|
318
|
-
|
|
319
|
-
- 迭代时间线 + 里程碑 + Gantt 图 + Burndown 图
|
|
320
|
-
- 任务分布 + 完成率 + 团队分工 + 个人进度
|
|
180
|
+

|
|
321
181
|
|
|
322
|
-
|
|
182
|
+
---
|
|
323
183
|
|
|
324
|
-
|
|
325
|
-
在 AI IDE 中智能推进:`@spec-ask "全自动执行"`
|
|
184
|
+
## 完整命令(分类)
|
|
326
185
|
|
|
327
|
-
|
|
186
|
+
| 分类 | 命令 |
|
|
187
|
+
|------|------|
|
|
188
|
+
| 流水线 / 核心 | `run` `ask` `doc2spec` `req-doc` `analyze` `validate` `taskify` `plan` `execute` |
|
|
189
|
+
| 收尾 | `pipeline` `pr` `done` `spec2doc` |
|
|
190
|
+
| 状态 / 导航 | `status` `next` `dashboard` `progress` |
|
|
191
|
+
| 初始化 / 配置 | `init` `config` `doctor` `update` |
|
|
192
|
+
| 管理工具 | `units` `pattern` `rollback` `history` `baseline` `rename` `cleanup` |
|
|
193
|
+
| 变更 / 专项 | `change` `retro` `verdict` `review` `sync` |
|
|
194
|
+
| 知识检索 | `graph` `knowledge` `query` `entity` `related` `path` `search` `stats` |
|
|
328
195
|
|
|
329
|
-
|
|
330
|
-
| 阶段 | 命令 | AI 模式 |
|
|
331
|
-
|------|------|------|
|
|
332
|
-
| 导入需求 | `doc2spec -f PRD.docx` | 📖 命令解释 |
|
|
333
|
-
| AI 分析 | `analyze --audit` | 🗺️ 任务指引 |
|
|
334
|
-
| 拆分任务 | `split` | 🎯 意图匹配 |
|
|
335
|
-
| 执行计划 | `plan --all` | ⚡ 复杂编排 |
|
|
336
|
-
| 开发执行 | `execute --batch-size 3` | ⚡ 复杂编排 |
|
|
337
|
-
| 提交 PR | `pr --auto` | 🎯 意图匹配 |
|
|
338
|
-
| 归档收尾 | `done --all` | 🎯 意图匹配 |
|
|
196
|
+
> 💡 **全命令 Skill**:所有命令均支持 `/命令 + 自然语言` 快捷入口,如 `/deploy 部署到测试环境`、`/verify 跑冒烟测试`。
|
|
339
197
|
|
|
340
|
-
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## 目录结构
|
|
341
201
|
|
|
342
|
-
```
|
|
343
|
-
|
|
344
|
-
|
|
202
|
+
```
|
|
203
|
+
Iteration-001-meeting/
|
|
204
|
+
├── 000-overview/ ← 进度跟踪
|
|
205
|
+
├── 010-requirements/ ← 需求文档(按功能组织)
|
|
206
|
+
│ ├── sources/ ← [只读] 原始 PRD/Word/PDF
|
|
207
|
+
│ ├── converted/ ← [自动生成] doc2spec 转换后的 MD
|
|
208
|
+
│ ├── features/ ← [手动维护] 切分后的功能单元
|
|
209
|
+
│ └── QUALITY_REPORT.md ← [自动生成] 需求质量审查报告
|
|
210
|
+
├── 020-specs/ ← analyze 输出(三层架构)
|
|
211
|
+
│ ├── overview/ ← 迭代级全局文档
|
|
212
|
+
│ ├── {feature}/ ← 功能模块目录
|
|
213
|
+
│ └── PLATFORMS.md ← 端列表元数据
|
|
214
|
+
├── 030-tasks/ ← taskify 开发任务
|
|
215
|
+
│ └── Task-001-*/
|
|
216
|
+
│ ├── 00-specs/ ← 执行前核心规格
|
|
217
|
+
│ ├── {platform}/ ← 各端实现
|
|
218
|
+
│ └── .issues.md ← 问题追踪
|
|
219
|
+
└── STAFFING.md ← 人员排期
|
|
345
220
|
```
|
|
346
221
|
|
|
347
|
-
|
|
222
|
+
---
|
|
348
223
|
|
|
349
|
-
|
|
350
|
-
|------|------|------|
|
|
351
|
-
| `ask` | — | 🧠 🔒 万能 AI 入口(4 模式) |
|
|
352
|
-
| `welcome` | — | 🏷️ 项目名片 + 使用引导 |
|
|
353
|
-
| `dashboard` | `db` | 📊 期次/全局仪表盘 |
|
|
354
|
-
| `dev` | `d` | 🔄 🔒 智能级联流水线 |
|
|
355
|
-
| `init` | `in` | 🏗️ 项目初始化 |
|
|
356
|
-
| `doc2spec` | `d2s` | 📝 🔒 PRD→SpecCore MD |
|
|
357
|
-
| `spec2doc` | `s2d` | 📤 🔒 SpecCore MD→Word/PDF/HTML |
|
|
358
|
-
| `analyze` | `al` | 🧠 🔒 AI 需求分析 |
|
|
359
|
-
| `split` | — | 📦 🔒 需求拆分 |
|
|
360
|
-
| `plan` | `pl` | 📐 🔒 执行计划 |
|
|
361
|
-
| `execute` | `ex` | ⚡ 🔒 执行开发 |
|
|
362
|
-
| `pr` | `mr` | 🔀 🔒 Pull Request |
|
|
363
|
-
| `done` | `dn` | ✅ 🔒 归档收尾 |
|
|
364
|
-
| `change` | `ch` | 🔄 🔒 需求变更 |
|
|
365
|
-
| `sync` | `sy` | 🔄 🔒 双向同步 |
|
|
366
|
-
| `validate` | `vl` | ✅ 合规验证 |
|
|
367
|
-
| `graph` | `g` | 🕸️ 统一图谱查询(知识+代码)+ Mermaid 渲染 |
|
|
368
|
-
| `knowledge` | `kg` | 🌐 知识图谱可视化 + 衰减检测 + 代码图谱查询 |
|
|
369
|
-
| `track` | `trk` | 🔗 🔒 REQ→Task→Code 全链路 |
|
|
370
|
-
| `search` | `sh` | 🔍 跨 Spec 全文搜索 + 全局语义检索(--global) |
|
|
371
|
-
| `refresh` | `rf` | 🔄 统一刷新检索层(代码索引 + 文档 RAG + 知识图谱)+ 全局文档过期检测 |
|
|
372
|
-
| `retro` | `rt` | 📝 🔒 任务回顾复盘 + 评分 |
|
|
373
|
-
| `rename` | `rn` | ✏️ 🔒 重命名 |
|
|
374
|
-
| `history` | `hi` | 📜 历史记录(操作日志 / 需求变更) |
|
|
375
|
-
| `pipeline` | `pln` | 🚀 环境驱动流水线(merge → build → deploy) |
|
|
376
|
-
| `build` | `bd` | 🔨 按端构建 |
|
|
377
|
-
| `deploy` | `dp` | 🚀 按端部署 |
|
|
378
|
-
| `verify` | `vf` | 🧪 代码验证 + UI 测试 |
|
|
379
|
-
|
|
380
|
-
> 💡 **全命令 Skill**:所有命令均支持 `/命令 + 自然语言` 快捷入口,如 `/deploy 部署到测试环境`、`/verify 跑冒烟测试`。详见 [DESIGN.md](docs/DESIGN.md#58-全命令-skill-覆盖v8360)。
|
|
381
|
-
|
|
382
|
-
## TTY 智能适配
|
|
383
|
-
|
|
384
|
-
所有 AI 命令 (`ask`, `welcome`, `dev`, `dashboard`, `help`) 自动检测环境:
|
|
385
|
-
- **终端**:Unicode 框线美化输出
|
|
386
|
-
- **AI 调用**:自动生成 Ocean 主题 HTML 页面(四边脉冲扫描线)
|
|
387
|
-
|
|
388
|
-
## 🤖 多层 AI 架构(v8.3.167+)
|
|
224
|
+
## 多层 AI 架构
|
|
389
225
|
|
|
390
226
|
```
|
|
391
227
|
@spec-ask "..." (AI IDE 入口)
|
|
392
228
|
├─ 🧠 自有 LLM → OpenAI / Ollama(SPECCORE_LLM_KEY 环境变量)
|
|
393
|
-
├─ 🤖 宿主 AI → WorkBuddy / TRAE /
|
|
394
|
-
├─ 📐 规则引擎 →
|
|
229
|
+
├─ 🤖 宿主 AI → WorkBuddy / TRAE / Qcoder(自动检测)
|
|
230
|
+
├─ 📐 规则引擎 → 命令 KB + 预定义工作流(永远可用)
|
|
395
231
|
└─ 🎭 多 Subagent → 按阶段/端/模块分配专属角色(步骤隔离)
|
|
396
232
|
```
|
|
397
233
|
|
|
398
|
-
|
|
234
|
+
**零配置降级**:没配 Key 自动降级,功能不受影响。
|
|
399
235
|
|
|
400
|
-
|
|
236
|
+
---
|
|
401
237
|
|
|
402
238
|
## 📖 文档
|
|
403
239
|
|
|
404
|
-
|
|
|
405
|
-
|
|
406
|
-
| [快速开始](docs/quick-start.md) |
|
|
407
|
-
| [命令参考](docs/command-reference.md) |
|
|
408
|
-
| [总览](docs/overview.md) |
|
|
409
|
-
| [
|
|
410
|
-
| [
|
|
411
|
-
| [
|
|
412
|
-
| [
|
|
413
|
-
| [
|
|
414
|
-
| [
|
|
415
|
-
| [
|
|
416
|
-
| [
|
|
240
|
+
| 文档 | 说明 |
|
|
241
|
+
|------|------|
|
|
242
|
+
| [快速开始](docs/quick-start.md) | 5 分钟上手 |
|
|
243
|
+
| [命令参考](docs/command-reference.md) | 完整命令 + 子命令 + 示例 |
|
|
244
|
+
| [总览](docs/overview.md) | 核心概念 + 工作流 |
|
|
245
|
+
| [配置参考](docs/config-reference.md) | 全部配置项(含 pipelines / optional_steps) |
|
|
246
|
+
| [场景实战](docs/scenarios.md) | 几十个真实开发场景 |
|
|
247
|
+
| [SDD 方法论](docs/sdd-methodology.md) | 规范驱动开发理念 |
|
|
248
|
+
| [工作空间组织](docs/workspace-organization.md) | 目录结构与文件规范 |
|
|
249
|
+
| [文件编辑指南](docs/usage-guide.md) | 哪些文件能改、哪些用命令 |
|
|
250
|
+
| [速查表](docs/quick-reference.md) | 常用命令一页速查 |
|
|
251
|
+
| [三层加载机制](docs/spec-layers.md) | GLOBAL/ITERATION/TASK 加载原理 |
|
|
252
|
+
| [测试指南](docs/testing-guide.md) | 分层测试与质量验证 |
|
|
253
|
+
| [CI-CD 集成](docs/ci-cd-spec-integration.md) | CI/CD 流水线 + Spec 注释 |
|
|
254
|
+
| [工具适配](docs/tool-adapters.md) | Qcoder/TRAE 等 AI 工具集成 |
|
|
255
|
+
| [架构设计](docs/ARCHITECTURE.md) | 系统架构 |
|
|
256
|
+
| [CHANGELOG](CHANGELOG.md) | 版本历史 |
|
|
257
|
+
|
|
258
|
+
**设计文档**(面向开发者/架构师):
|
|
259
|
+
|
|
260
|
+
| 文档 | 说明 |
|
|
261
|
+
|------|------|
|
|
262
|
+
| [架构设计全集](docs/DESIGN.md) | 详细架构设计 |
|
|
263
|
+
| [知识库设计](docs/knowledge-base-design.md) | 知识图谱与 RAG 设计 |
|
|
264
|
+
| [Task 目录结构设计](docs/task-directory-design.md) | 任务目录规范 |
|
|
265
|
+
| [需求变更设计](docs/change-and-new-requirement-design.md) | 变更与新增需求交互 |
|
|
266
|
+
| [Pipeline 扩展示例](docs/pipeline-extension-example.md) | 流水线引擎扩展 |
|
|
267
|
+
|
|
268
|
+
---
|
|
417
269
|
|
|
418
270
|
## 许可
|
|
419
271
|
|
|
420
|
-
|
|
272
|
+
详见 LICENSE 文件。
|
package/dist/cli.js
CHANGED
|
@@ -234,6 +234,7 @@ commander_1.program
|
|
|
234
234
|
.option('--from <phase>', '从指定阶段开始(req-doc/doc2spec/analyze/validate/split/plan/execute/verify/pipeline/pr/done/spec2doc)')
|
|
235
235
|
.option('--to <phase>', '到指定阶段结束(同上)')
|
|
236
236
|
.option('--demo', '演示模式(放宽闸口 A/B,保留部署前确认)')
|
|
237
|
+
.option('--gate <mode>', '闸口模式:manual=闸口A/B/C都人工确认(默认)| auto=三闸口都跳过(含C部署,自动执行)')
|
|
237
238
|
.option('--env <env>', '部署环境(透传给 pipeline,默认 staging)')
|
|
238
239
|
.action((demand, options) => {
|
|
239
240
|
(0, run_1.runCommand)({ ...options, demand: demand && demand.length ? demand.join(' ') : undefined });
|
|
@@ -868,10 +869,22 @@ commander_1.program
|
|
|
868
869
|
.option('--iterative', '迭代式补全模式 — 先输出大纲,确认后再逐节深入(配合 --deep 使用)')
|
|
869
870
|
.option('--filter <keywords>', '按需分析 — 只分析与关键词匹配的模块(如 "auth|login|session")')
|
|
870
871
|
.option('--extract-units', '自动提取功能单元清单(从需求文档)')
|
|
871
|
-
.option('--unit <id>', '
|
|
872
|
+
.option('--unit <id>', '分析功能单元,支持逗号分隔多个(如 M-01,M-03,配合 --prompt)')
|
|
873
|
+
.option('--auto-units', '自动遍历所有待分析的功能单元(逐个输出独立 Prompt)')
|
|
872
874
|
.option('--consolidate', '汇总所有单元分析为统一报告(配合 --prompt/--apply)')
|
|
873
875
|
.option('--resume-units', '断点续跑未完成的单元分析')
|
|
874
876
|
.action(analyze_1.analyzeCommand);
|
|
877
|
+
commander_1.program
|
|
878
|
+
.command('spec-from-source')
|
|
879
|
+
.alias('reverse')
|
|
880
|
+
.description('从源码反推全局资产(需求文档 + 技术文档)— analyze --from-code 的便捷入口')
|
|
881
|
+
.option('--src, --source <dirs>', '源码目录(逗号分隔,如 --src <端1/src>,<端2/src>)')
|
|
882
|
+
.option('--depth <depth>', '分析深度: quick | normal(默认) | deep')
|
|
883
|
+
.option('--platform <platform>', '指定端(如 backend)')
|
|
884
|
+
.option('--out-dir <path>', '反推需求产出目录(默认 .speccore/GLOBAL/requirements)')
|
|
885
|
+
.action((options) => {
|
|
886
|
+
(0, analyze_1.analyzeCommand)({ ...options, fromCode: true, scope: 'global' });
|
|
887
|
+
});
|
|
875
888
|
commander_1.program
|
|
876
889
|
.command('req-doc')
|
|
877
890
|
.alias('rd')
|
|
@@ -884,7 +897,8 @@ commander_1.program
|
|
|
884
897
|
.option('--check <file>', '检测指定文件的专业度,不整理')
|
|
885
898
|
.option('--force', '强制整理(即使文档已足够专业)')
|
|
886
899
|
.option('--extract-units', '从原始需求提取功能单元清单')
|
|
887
|
-
.option('--unit <id>', '
|
|
900
|
+
.option('--unit <id>', '澄清单个功能单元,支持逗号分隔多个(如 M-01,M-03,配合 --prompt/--apply)')
|
|
901
|
+
.option('--auto-units', '自动遍历所有待澄清的功能单元')
|
|
888
902
|
.option('--consolidate', '汇总所有单元澄清为统一 PRD(配合 --apply)')
|
|
889
903
|
.option('--resume-units', '断点续跑未完成的单元澄清')
|
|
890
904
|
.option('--local', '临时工作区模式(不绑定迭代,输出到 .speccore/local/workspace/)')
|