speccore 5.19.3 → 5.22.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.en.md +63 -210
- package/README.md +108 -252
- package/dist/cli.js +224 -300
- package/dist/cli.js.map +1 -1
- package/dist/commands/analyze.d.ts +5 -0
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +235 -543
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/ask.d.ts +8 -0
- package/dist/commands/ask.d.ts.map +1 -0
- package/dist/commands/ask.js +293 -0
- package/dist/commands/ask.js.map +1 -0
- package/dist/commands/bugfix.d.ts +4 -0
- package/dist/commands/bugfix.d.ts.map +1 -1
- package/dist/commands/bugfix.js +122 -2
- package/dist/commands/bugfix.js.map +1 -1
- package/dist/commands/change.d.ts +2 -0
- package/dist/commands/change.d.ts.map +1 -1
- package/dist/commands/change.js +37 -2
- package/dist/commands/change.js.map +1 -1
- package/dist/commands/completion.js +1 -1
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/dev.d.ts +2 -0
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +175 -1
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/doc2spec.d.ts +10 -0
- package/dist/commands/doc2spec.d.ts.map +1 -0
- package/dist/commands/{word2spec.js → doc2spec.js} +55 -19
- package/dist/commands/doc2spec.js.map +1 -0
- package/dist/commands/done.d.ts.map +1 -1
- package/dist/commands/done.js +47 -0
- package/dist/commands/done.js.map +1 -1
- package/dist/commands/execute.d.ts +1 -0
- package/dist/commands/execute.d.ts.map +1 -1
- package/dist/commands/execute.js +118 -11
- package/dist/commands/execute.js.map +1 -1
- package/dist/commands/help-quick.js +2 -2
- package/dist/commands/help-quick.js.map +1 -1
- package/dist/commands/help.d.ts +3 -2
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +372 -51
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/import.d.ts +1 -0
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +289 -15
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/init.d.ts +0 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +177 -283
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/iteration/create.d.ts +1 -0
- package/dist/commands/iteration/create.d.ts.map +1 -1
- package/dist/commands/iteration/create.js +1 -0
- package/dist/commands/iteration/create.js.map +1 -1
- package/dist/commands/iteration/split.d.ts +1 -0
- package/dist/commands/iteration/split.d.ts.map +1 -1
- package/dist/commands/iteration/split.js +240 -7
- package/dist/commands/iteration/split.js.map +1 -1
- package/dist/commands/plan.d.ts +1 -0
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +25 -1
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/pr.d.ts +1 -0
- package/dist/commands/pr.d.ts.map +1 -1
- package/dist/commands/pr.js +94 -22
- package/dist/commands/pr.js.map +1 -1
- package/dist/commands/schedule.d.ts +27 -0
- package/dist/commands/schedule.d.ts.map +1 -0
- package/dist/commands/schedule.js +203 -0
- package/dist/commands/schedule.js.map +1 -0
- package/dist/commands/status-panel.d.ts +8 -1
- package/dist/commands/status-panel.d.ts.map +1 -1
- package/dist/commands/status-panel.js +1095 -5
- package/dist/commands/status-panel.js.map +1 -1
- package/dist/commands/task/new.d.ts +4 -0
- package/dist/commands/task/new.d.ts.map +1 -1
- package/dist/commands/task/new.js +87 -0
- package/dist/commands/task/new.js.map +1 -1
- package/dist/core/analyze-engine.d.ts +32 -0
- package/dist/core/analyze-engine.d.ts.map +1 -0
- package/dist/core/analyze-engine.js +935 -0
- package/dist/core/analyze-engine.js.map +1 -0
- package/dist/core/capabilities.d.ts +12 -0
- package/dist/core/capabilities.d.ts.map +1 -0
- package/dist/core/capabilities.js +58 -0
- package/dist/core/capabilities.js.map +1 -0
- package/dist/core/code-scanner.d.ts.map +1 -1
- package/dist/core/code-scanner.js +4 -1
- package/dist/core/code-scanner.js.map +1 -1
- package/dist/core/intent-recognition.d.ts +1 -1
- package/dist/core/intent-recognition.d.ts.map +1 -1
- package/dist/core/intent-recognition.js +5 -5
- package/dist/core/intent-recognition.js.map +1 -1
- package/dist/core/next-steps.js +1 -1
- package/dist/core/next-steps.js.map +1 -1
- package/dist/core/schedule-engine.d.ts +25 -0
- package/dist/core/schedule-engine.d.ts.map +1 -0
- package/dist/core/schedule-engine.js +179 -0
- package/dist/core/schedule-engine.js.map +1 -0
- package/dist/core/schedule-store.d.ts +104 -0
- package/dist/core/schedule-store.d.ts.map +1 -0
- package/dist/core/schedule-store.js +188 -0
- package/dist/core/schedule-store.js.map +1 -0
- package/dist/core/schemas/iteration.schema.d.ts +4 -4
- package/dist/core/schemas/task.schema.d.ts +2 -2
- package/package.json +7 -13
- package/dist/commands/demo.d.ts +0 -10
- package/dist/commands/demo.d.ts.map +0 -1
- package/dist/commands/demo.js +0 -151
- package/dist/commands/demo.js.map +0 -1
- package/dist/commands/goal.d.ts +0 -15
- package/dist/commands/goal.d.ts.map +0 -1
- package/dist/commands/goal.js +0 -232
- package/dist/commands/goal.js.map +0 -1
- package/dist/commands/new-task.d.ts +0 -15
- package/dist/commands/new-task.d.ts.map +0 -1
- package/dist/commands/new-task.js +0 -208
- package/dist/commands/new-task.js.map +0 -1
- package/dist/commands/platform-add.d.ts +0 -12
- package/dist/commands/platform-add.d.ts.map +0 -1
- package/dist/commands/platform-add.js +0 -111
- package/dist/commands/platform-add.js.map +0 -1
- package/dist/commands/retro.d.ts +0 -10
- package/dist/commands/retro.d.ts.map +0 -1
- package/dist/commands/retro.js +0 -131
- package/dist/commands/retro.js.map +0 -1
- package/dist/commands/spec.d.ts +0 -8
- package/dist/commands/spec.d.ts.map +0 -1
- package/dist/commands/spec.js +0 -159
- package/dist/commands/spec.js.map +0 -1
- package/dist/commands/template-add.d.ts +0 -12
- package/dist/commands/template-add.d.ts.map +0 -1
- package/dist/commands/template-add.js +0 -65
- package/dist/commands/template-add.js.map +0 -1
- package/dist/commands/word2spec.d.ts +0 -8
- package/dist/commands/word2spec.d.ts.map +0 -1
- package/dist/commands/word2spec.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,301 +1,157 @@
|
|
|
1
|
-
# SpecCore
|
|
1
|
+
# SpecCore — Code by Spec, Not by Vibe
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
[](https://www.npmjs.com/package/speccore)
|
|
6
|
-
[](https://opensource.org/licenses/MIT)
|
|
7
|
-
[](https://nodejs.org/)
|
|
8
|
-
|
|
9
|
-
SpecCore 是一套可落地的、面向 AI 原生团队的规范驱动研发工程框架。它将确定性操作(文件创建、目录管理、格式校验、状态统计)从 AI 中剥离,由代码直接执行,提升效率并降低 Token 消耗。
|
|
3
|
+
SpecCore 是一套面向 AI 原生团队的规范驱动研发工具链。将需求分析、任务拆分、计划编排、代码生成、归档交接串联为可追溯的自动化流程。
|
|
10
4
|
|
|
11
5
|
---
|
|
12
6
|
|
|
13
|
-
|
|
7
|
+
---
|
|
14
8
|
|
|
15
|
-
|
|
9
|
+
## 两种模式
|
|
16
10
|
|
|
17
|
-
| |
|
|
11
|
+
| | 简洁模式(默认) | 全量模式 |
|
|
18
12
|
| :--- | :--- | :--- |
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
| **何时用** | 项目初始化、文件校验、批量操作 | 日常开发:需求管理、开发执行、审查归档 |
|
|
24
|
-
|
|
25
|
-
> 💡 **简单记忆**:`speccore` 开头 → 终端执行;`/spec` 开头 → AI 工具中执行。
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## 📦 安装
|
|
13
|
+
| 命令数 | 17 个核心命令 | 51 全部命令 |
|
|
14
|
+
| 适用 | 日常开发够用 | 精细控制 |
|
|
15
|
+
| 开启 | `speccore init` | `speccore init --full` |
|
|
16
|
+
| 帮助 | `speccore --help` | 同上 |
|
|
30
17
|
|
|
31
|
-
|
|
32
|
-
npm install -g speccore # 全局安装(推荐)
|
|
33
|
-
npx speccore --version # 或使用 npx
|
|
18
|
+
**简洁模式 17 个命令:**
|
|
34
19
|
```
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
## 🚀 快速开始(5 分钟)
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
# 1. 初始化项目
|
|
42
|
-
cd my-project && speccore init
|
|
43
|
-
|
|
44
|
-
# 2. 导入项目到全量层
|
|
45
|
-
speccore import --project=user-service --path=./backend --type=backend
|
|
46
|
-
|
|
47
|
-
# 3. 创建期次
|
|
48
|
-
speccore iteration create --name 2026-07-用户系统
|
|
49
|
-
|
|
50
|
-
# 4. 创建多平台 Task
|
|
51
|
-
speccore new-task --name 用户登录 --platforms=web,h5
|
|
52
|
-
|
|
53
|
-
# 5. 自然语言入口
|
|
54
|
-
speccore spec "进度怎么样了"
|
|
20
|
+
ask init iteration task doc2spec
|
|
21
|
+
analyze split plan execute pr done
|
|
22
|
+
change validate rename dev status-panel ops
|
|
55
23
|
```
|
|
56
24
|
|
|
57
|
-
> 📚 更多场景和详细步骤见 [快速开始指南](docs/快速开始.md)
|
|
58
|
-
|
|
59
25
|
---
|
|
60
26
|
|
|
61
|
-
##
|
|
27
|
+
## 安装
|
|
62
28
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
- **🧠 意图识别引擎**:38 种意图类型,200+ 关键词,自然语言自动匹配命令
|
|
66
|
-
- **🌐 多项目全量层**:GLOBAL/ 统一管理跨项目需求索引、架构和技术栈
|
|
67
|
-
- **📊 实时进度追踪**:自动识别活跃期次,统计任务完成率,按平台/人员/类型统计
|
|
68
|
-
- **✅ 自动合规检查**:扫描所有 Spec 文件,检查必填项和格式
|
|
69
|
-
- **🏥 项目健康度**:4 维度 12 指标评估项目健康状态
|
|
70
|
-
- **🔄 确定性执行**:文件操作、格式校验、状态统计全部本地代码执行,零 Token 消耗
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## 设计理念
|
|
75
|
-
|
|
76
|
-
SpecCore 采用**确定性逻辑与智能逻辑解耦**的架构:
|
|
77
|
-
|
|
78
|
-
| 逻辑类型 | 职责 | 执行方 | 示例 |
|
|
79
|
-
| :--- | :--- | :--- | :--- |
|
|
80
|
-
| **确定性逻辑** | 结构化操作 | CLI 代码 | 创建目录、读写文件、解析 YAML、校验格式、统计状态 |
|
|
81
|
-
| **智能逻辑** | 理解与决策 | AI 工具 | 理解需求、拆分任务、生成代码、审查产出 |
|
|
82
|
-
|
|
83
|
-
```
|
|
84
|
-
用户输入(自然语言 / Slash Command)
|
|
85
|
-
│
|
|
86
|
-
▼
|
|
87
|
-
┌───────────────────────────────────────┐
|
|
88
|
-
│ AI 层(智能决策) │
|
|
89
|
-
│ - 理解用户意图 │
|
|
90
|
-
│ - 决定执行哪些操作 │
|
|
91
|
-
│ - 生成代码内容 │
|
|
92
|
-
└───────────────────────────────────────┘
|
|
93
|
-
│ 调用 CLI 命令
|
|
94
|
-
▼
|
|
95
|
-
┌───────────────────────────────────────┐
|
|
96
|
-
│ CLI 层(确定性执行) │
|
|
97
|
-
│ - 创建目录结构 │
|
|
98
|
-
│ - 读写配置和 Spec 文件 │
|
|
99
|
-
│ - 解析 YAML │
|
|
100
|
-
│ - 合规校验 │
|
|
101
|
-
│ - 输出结构化结果(JSON/Markdown) │
|
|
102
|
-
└───────────────────────────────────────┘
|
|
29
|
+
```bash
|
|
30
|
+
npm install -g speccore
|
|
103
31
|
```
|
|
104
32
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
## 🔧 终端命令速查(68 个 CLI 命令)
|
|
33
|
+
## 核心流程
|
|
108
34
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
| 📊 进度 | `speccore progress` / `status` | 进度总览(--platform / --detail) |
|
|
121
|
-
| 🔬 分析 | `speccore impact` / `baseline` / `dashboard` / `audit` | 影响分析 + 基线 + 仪表盘 + 审计 |
|
|
122
|
-
| 🌐 全量层 | `speccore global-status` / `history` / `index-update` | 全量状态 + 历史 + 索引更新 |
|
|
123
|
-
| 📱 平台 | `speccore platform-add` / `context` | 动态平台 + 上下文查看 |
|
|
124
|
-
| 🎯 场景 | `speccore goal` / `bugfix` / `research` / `handover` / `retro` | 端到端需求 + Bug + 调研 + 交接 + 回顾 |
|
|
125
|
-
| 🛠️ 工具 | `speccore health` / `report` / `archive` / `config` / `rename` / `template-add` / `help` / `demo` / `welcome` | 健康度 + 报告 + 归档 + 配置 + 重命名等 |
|
|
126
|
-
|
|
127
|
-
## 🤖 AI 命令(Slash Command)对应关系
|
|
128
|
-
|
|
129
|
-
> 在 AI 工具(WorkBuddy / Cursor / Claude Code 等)中输入 `/` + 命令。AI 命令在底层调用对应的 CLI 命令执行。68 个 CLI 命令都有对应的 `/spec-*` 形式。
|
|
130
|
-
|
|
131
|
-
| CLI 终端命令 | AI Slash Command | 用途 |
|
|
132
|
-
| :--- | :--- | :--- |
|
|
133
|
-
| `speccore init` | `/spec-init` | 项目初始化 |
|
|
134
|
-
| `speccore import` | `/spec-import` | 导入项目到全量层 |
|
|
135
|
-
| `speccore word2spec` | `/spec-word2spec` | Word 文档导入 |
|
|
136
|
-
| `speccore iteration create` | `/spec-iteration-create` | 创建期次 |
|
|
137
|
-
| `speccore iteration split` | `/spec-iteration-split` | 拆分需求为 Task |
|
|
138
|
-
| `speccore new-task` | `/spec-new-task` | 创建多平台 Task |
|
|
139
|
-
| `speccore execute` | `/spec-execute` | 执行开发任务 |
|
|
140
|
-
| `speccore change` | `/spec-change` | 需求变更 |
|
|
141
|
-
| `speccore sync` | `/spec-sync` | Spec-代码同步 |
|
|
142
|
-
| `speccore validate` | `/spec-validate` | 合规性检查 |
|
|
143
|
-
| `speccore archive` | `/spec-archive` | 归档任务 |
|
|
144
|
-
| `speccore rollback` | `/spec-rollback` | 从备份恢复 |
|
|
145
|
-
| `speccore dashboard` | `/spec-dashboard` | 仪表盘总览 |
|
|
146
|
-
| `speccore audit` | `/spec-ai-audit` | AI 智能审计 |
|
|
147
|
-
| `speccore spec "查询"` | `/spec 查询` | 自然语言智能入口 |
|
|
148
|
-
|
|
149
|
-
> 📋 完整命令参数见 [命令参考手册](docs/命令参考.md) | 🧠 38 种意图映射见 [意图映射表](docs/命令参考.md#自然语言意图映射36-种)
|
|
150
|
-
|
|
151
|
-
---
|
|
152
|
-
|
|
153
|
-
## 🏗️ 架构
|
|
154
|
-
|
|
155
|
-
```
|
|
156
|
-
.speccore/GLOBAL/ ← 全量层:多项目统一需求管理
|
|
157
|
-
.speccore/ ← 全局层:项目宪法、配置、模式
|
|
158
|
-
期次-XXX/ ← 期次层:这一期做什么
|
|
159
|
-
└── Task-XXX/ ← 任务层:这个功能怎么做
|
|
160
|
-
├── _shared/ ← 共享层:API Contract + 业务规则
|
|
161
|
-
├── backend/ ← 后端 Spec
|
|
162
|
-
└── frontend/ ← 前端多端 Spec(web / h5 / miniapp)
|
|
35
|
+
```bash
|
|
36
|
+
speccore init # ① 初始化
|
|
37
|
+
speccore iteration create --name=Q1 # ② 新建期次
|
|
38
|
+
speccore doc2spec -f PRD.md -p backend -i Q1 # ③ 导入需求文档
|
|
39
|
+
speccore analyze -I Q1 # ④ 需求分析
|
|
40
|
+
speccore analyze --scope global --depth deep # ④ 或:全局代码健康
|
|
41
|
+
speccore iteration split -i Q1 # ⑤ 拆分 Task
|
|
42
|
+
speccore plan -i Q1 # ⑥ 执行计划
|
|
43
|
+
speccore execute -t Task-001 # ⑦ AI 开发
|
|
44
|
+
speccore pr -t Task-001 # ⑧ 提交 PR
|
|
45
|
+
speccore done -t Task-001 # ⑨ 完成任务
|
|
163
46
|
```
|
|
164
47
|
|
|
165
|
-
---
|
|
166
|
-
|
|
167
|
-
## 🛠️ 工具适配
|
|
168
48
|
|
|
169
|
-
|
|
170
|
-
| :--- | :--- |
|
|
171
|
-
| WorkBuddy / Qcoder / Trae | Cursor / Claude Code / Windsurf / Gemini CLI / OpenCode |
|
|
172
|
-
|
|
173
|
-
SpecCore 原生集成 WorkBuddy(`speccore init` 自动创建 `.workbuddy/` skill 和 memory)。
|
|
49
|
+
## 两种用法
|
|
174
50
|
|
|
175
|
-
|
|
51
|
+
同一个命令有两种使用场景,写法不同:
|
|
176
52
|
|
|
177
|
-
|
|
53
|
+
| 场景 | 写法 | 示例 |
|
|
54
|
+
|:---|:---|:---|
|
|
55
|
+
| 🖥 终端 CLI | `speccore <命令>` | `speccore init` `speccore execute -t Task-001 --force` |
|
|
56
|
+
| 💬 AI 对话 | 直接说人话 | "帮我创建登录功能" |
|
|
57
|
+
| 💬 AI 对话 | `/spec-<命令>` | `/spec-init` `/spec-execute Task-001` |
|
|
178
58
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
| 文档 | 内容 |
|
|
182
|
-
| :--- | :--- |
|
|
183
|
-
| 📊 [**总览**](docs/总览.md) | **命令地图 + 工作流全景 + 理念图解 + 8框架横评** |
|
|
184
|
-
| [快速开始指南](docs/快速开始.md) | 安装 → 7 步核心流程 → 命令速查 |
|
|
185
|
-
| [场景实战](docs/场景实战.md) | 37 个真实场景:从零启动→PR→回滚→选型 |
|
|
186
|
-
| [命令参考手册](docs/命令参考.md) | 全部命令完整参数 |
|
|
187
|
-
| [SDD 方法论](docs/SDD方法论.md) | SDD 是什么、为什么、怎么做 |
|
|
188
|
-
| [工具适配说明](docs/工具适配说明.md) | WorkBuddy 集成原理 + 安全检查 |
|
|
189
|
-
| [工作空间组织](docs/工作空间组织.md) | 推荐目录结构 + 多工程协作 |
|
|
190
|
-
| [迁移指南](docs/migration-guide.md) | Shell v3.x → CLI v5.x 迁移 |
|
|
191
|
-
| [CI/CD 集成](docs/CI-CD与spec注释集成指南.md) | @spec 注释 + GitHub Actions |
|
|
192
|
-
| [Spec 加载机制](docs/Spec三层加载机制.md) | 三层 Spec 协同 |
|
|
193
|
-
| [示例项目](examples/task-management/README.md) | 完整演示:需求→Spec→生成代码 |
|
|
194
|
-
| [CHANGELOG](CHANGELOG.md) | 版本历史(v1.0.0 → v5.19.3) |
|
|
195
|
-
| [README.en.md](README.en.md) | English project overview |
|
|
59
|
+
> 完整对照表(所有 17 个命令的分类说明)→ [命令参考 — 两种使用方式](docs/命令参考.md#-两种使用方式)
|
|
196
60
|
|
|
197
|
-
|
|
61
|
+
## 交互模式
|
|
198
62
|
|
|
199
|
-
|
|
63
|
+
关键步骤支持 `--interactive` 人机协作:
|
|
200
64
|
|
|
201
|
-
|
|
|
65
|
+
| 命令 | 交互步骤 |
|
|
202
66
|
| :--- | :--- |
|
|
203
|
-
|
|
|
204
|
-
|
|
|
205
|
-
|
|
|
206
|
-
|
|
|
207
|
-
|
|
|
208
|
-
| **批量重命名?** | `speccore rename --batch --pattern="Task-" --replacement="Feature-"` |
|
|
209
|
-
| **手动改了文档,需要同步?** | `speccore sync --task=Task-001` 或 `speccore sync-global` |
|
|
210
|
-
| **需求编号重复?** | `speccore validate --fix` 自动检测修复 |
|
|
211
|
-
| **如何重建需求索引?** | `speccore index-update`(--dry-run 预览) |
|
|
212
|
-
| **哪些文件可以手动改?** | 见下方 [文件操作安全指南](#文件操作安全指南) |
|
|
213
|
-
|
|
214
|
-
---
|
|
215
|
-
|
|
216
|
-
## 文件操作安全指南
|
|
217
|
-
|
|
218
|
-
SpecCore 不禁止手动编辑文件,但不同文件的安全级别不同。
|
|
219
|
-
|
|
220
|
-
### ✅ 安全区 — 可以直接手动改
|
|
221
|
-
|
|
222
|
-
这些文件是"描述性文字",CLI 不会覆盖它们:
|
|
223
|
-
|
|
224
|
-
| 文件 | 内容 | 改完后 |
|
|
225
|
-
| :--- | :--- | :--- |
|
|
226
|
-
| `REQ.md` | 需求描述、背景、业务规则 | `speccore sync --reverse --task=xxx` 回写数据库 |
|
|
227
|
-
| `TECH.md` | 技术方案描述、设计思路 | 直接改即可,无需同步 |
|
|
228
|
-
| `GLOSSARY.md` | 术语定义 | `speccore sync --reverse` 更新索引 |
|
|
229
|
-
| `*.md` 注释行 | 备注、TODO、注意事项 | 不影响任何流程 |
|
|
230
|
-
|
|
231
|
-
### ❌ 高风险区 — 必须用命令修改
|
|
232
|
-
|
|
233
|
-
这些文件是"元数据/状态/关系",手动改会被 CLI 覆盖或导致解析失败:
|
|
234
|
-
|
|
235
|
-
| 文件 | 错改后果 | 正确方式 |
|
|
236
|
-
| :--- | :--- | :--- |
|
|
237
|
-
| `PROJECT_GRAPH.md` 表格 | CLI 执行时直接覆盖 | `speccore plan --assign=张三` |
|
|
238
|
-
| `.task-type` | 类型错误影响整个生命周期 | `speccore new-task --type=feature` |
|
|
239
|
-
| `API_CONTRACT.yaml` | 缩进错误导致校验失败 | 编辑后用 `speccore validate` 验证 |
|
|
240
|
-
| `.speccore/data/*.json` | Zod 枚举拼写错误导致卡死 | `speccore change Task-001 "描述"` |
|
|
67
|
+
| `analyze --ask` | AI 提问 → 用户回答 → 调整分析 |
|
|
68
|
+
| `split --interactive` | 预览 Task 列表 → 逐一确认/取消 |
|
|
69
|
+
| `plan --interactive` | 预览调��方案 → 确认/取消 |
|
|
70
|
+
| `change --interactive` | 预览影响范围 → 确认 → 应用 |
|
|
71
|
+
| `execute --interactive` | 分步预览变更 → 选择文件 → 确认提交 |
|
|
241
72
|
|
|
242
|
-
|
|
73
|
+
## 智能入口
|
|
243
74
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
75
|
+
```bash
|
|
76
|
+
speccore # 自适应面板:检测当前阶段 → 提示下一步
|
|
77
|
+
speccore ask "分析当前需求" # 自然语言意图识别
|
|
78
|
+
speccore "帮我拆分任务" # 直接输入,无需子命令
|
|
79
|
+
speccore dev # 一键级联:自动检测并执行下一步
|
|
80
|
+
```
|
|
248
81
|
|
|
82
|
+
## 多端支持
|
|
249
83
|
|
|
84
|
+
所有步骤原生支持多工程并行:后端多个服务(`backend/room-service/`、`backend/booking-service/`)、前端多个平台(`frontend/web/`、`frontend/h5/`)。
|
|
250
85
|
|
|
251
|
-
|
|
86
|
+
## Bug 修复
|
|
252
87
|
|
|
253
|
-
|
|
88
|
+
`task new --type=bugfix` 创建 Bug 任务,支持单条、批量、调度:
|
|
254
89
|
|
|
255
90
|
```bash
|
|
256
|
-
#
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
# 安装依赖 + 编译
|
|
261
|
-
npm install && npm run build
|
|
91
|
+
speccore task new -n "登录超时" -d "Token 过期后未刷新" --type=bugfix # 单条
|
|
92
|
+
speccore task new --batch-file=bugs.xlsx --type=bugfix # 批量导入
|
|
93
|
+
speccore task new --batch-file=bugs.xlsx --type=bugfix --interactive # 逐条确认
|
|
94
|
+
```
|
|
262
95
|
|
|
263
|
-
|
|
264
|
-
npm run watch
|
|
96
|
+
## 调度执行
|
|
265
97
|
|
|
266
|
-
|
|
267
|
-
npm link && speccore --version
|
|
98
|
+
两种粒度的调度,支持指定任意时间:
|
|
268
99
|
|
|
269
|
-
|
|
270
|
-
|
|
100
|
+
```bash
|
|
101
|
+
# ── 方式 1: 创建任务时标记 ──
|
|
102
|
+
speccore task new -n "修复登录超时" --type=bugfix --schedule=night # 标记为 queue
|
|
103
|
+
speccore execute --all --scheduled # 手动触发所有 queue 任务
|
|
104
|
+
|
|
105
|
+
# ── 方式 2: 精确时间调度 ──
|
|
106
|
+
speccore schedule create --at "2026-08-10 21:00:00" -t Task-001 # 指定时间执行单个 Task
|
|
107
|
+
speccore schedule create --at "2026-08-10 02:00:00" --all -i Q1 # 指定时间执行全部
|
|
108
|
+
speccore schedule list # 查看调度队列
|
|
109
|
+
speccore schedule cancel --id=sch-xxx # 取消
|
|
110
|
+
speccore schedule daemon start # 启动守护进程(自动按时执行)
|
|
111
|
+
speccore schedule daemon status # 查看守护进程状态
|
|
271
112
|
```
|
|
272
113
|
|
|
273
|
-
|
|
114
|
+
| 方式 | 适用场景 | 时间粒度 |
|
|
115
|
+
|:---|:---|:---|
|
|
116
|
+
| `--schedule=night` | 白天积攒,晚上批量跑 | 无固定时间,手动触发 |
|
|
117
|
+
| `schedule create --at` | 指定精确时间自动执行 | 秒级精度(需开启 daemon) |
|
|
274
118
|
|
|
275
|
-
|
|
119
|
+
> `schedule daemon start` 后,到时间自动执行,无需人工干预。
|
|
276
120
|
|
|
277
|
-
|
|
121
|
+
> `execute --all` 和 `execute --scheduled` 互不影响:前者执行 todo 任务,后者只执行 queue 任务。配合 IDE 自动化(如 WorkBuddy 定时任务),设置每天凌晨自动运行即可。
|
|
278
122
|
|
|
279
|
-
版本历史见 [CHANGELOG.md](CHANGELOG.md)
|
|
280
|
-
|
|
281
|
-
---
|
|
282
123
|
|
|
283
|
-
##
|
|
124
|
+
## 目录结构
|
|
284
125
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
126
|
+
```
|
|
127
|
+
项目/
|
|
128
|
+
├── .speccore/
|
|
129
|
+
│ ├── CONSTITUTION.md # 技术宪法
|
|
130
|
+
│ ├── GLOBAL/ # 全局层(架构文档、代码健康报告)
|
|
131
|
+
│ └── RULES/ # 编码规则
|
|
132
|
+
│
|
|
133
|
+
└── 期次-Q1/
|
|
134
|
+
├── 00-需求文档/ # 需求文档 + ANALYSIS.md
|
|
135
|
+
├── Task-001/
|
|
136
|
+
│ ├── TASK.md
|
|
137
|
+
│ ├── backend/{服务名}/ # 按服务分目录
|
|
138
|
+
│ │ ├── TASK.md
|
|
139
|
+
│ │ └── API_CONTRACT.yaml
|
|
140
|
+
│ └── frontend/{平台}/ # 按平台分目录
|
|
141
|
+
│ └── TASK.md
|
|
142
|
+
└── Task-002/
|
|
143
|
+
```
|
|
292
144
|
|
|
293
145
|
---
|
|
294
146
|
|
|
295
|
-
##
|
|
147
|
+
## 文档
|
|
296
148
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
149
|
+
| 文档 | 内容 |
|
|
150
|
+
| :--- | :--- |
|
|
151
|
+
| 🚀 [快速开始](docs/快速开始.md) | 完整安装 → 使用教程 |
|
|
152
|
+
| 🔧 [全量命令参考](docs/命令参考.md) | 51 命令完整说明(高级用户) |
|
|
153
|
+
| [场景实战](docs/场景实战.md) | 日常开发典型场景 |
|
|
154
|
+
| [总览](docs/总览.md) | 架构概览 + 理念 |
|
|
155
|
+
| [SDD 方法论](docs/SDD方法论.md) | 规范驱动开发介绍 |
|
|
156
|
+
| [Spec 加载机制](docs/Spec三层加载机制.md) | 三层 Spec 协同 |
|
|
157
|
+
| [示例项目](examples/meeting-system/README.md) | 会议预订系统完整演示 |
|