speccore 8.3.192 → 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 +19 -7
- 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 +164 -29
- 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/doctor.js +1 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/execute.js +38 -1
- package/dist/commands/execute.js.map +1 -1
- package/dist/commands/help.js +4 -4
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/init.js +2 -2
- 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 +47 -10
- package/dist/commands/run.js.map +1 -1
- package/dist/core/ask-engine.d.ts.map +1 -1
- package/dist/core/ask-engine.js +32 -6
- 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/error-diagnosis.js +1 -1
- package/dist/core/error-diagnosis.js.map +1 -1
- package/dist/core/intent-recognition.d.ts.map +1 -1
- package/dist/core/intent-recognition.js +27 -9
- 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.en.md
CHANGED
|
@@ -1,90 +1,242 @@
|
|
|
1
1
|
# SpecCore — Code by Spec, Not by Vibe
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
🖥️ Spec-driven development CLI · Requirements to deployment · Environment-driven deploy · Full command Skill coverage · Multi-layer AI architecture
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
SpecCore drives requirements all the way to deliverable code: import → split into feature units → analyze → taskify → develop → verify → deploy. The whole flow is Spec-driven — AI only steps in where judgment and generation are needed, and critical actions wait for your confirmation.
|
|
6
6
|
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Quick Start
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install -g speccore
|
|
13
|
+
speccore init # initialize project, generate config guide
|
|
7
14
|
```
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
15
|
+
|
|
16
|
+
Four steps through one iteration:
|
|
17
|
+
|
|
18
|
+
| Step | Command | Description |
|
|
19
|
+
|------|---------|-------------|
|
|
20
|
+
| ① Import | `speccore doc2spec -f PRD.docx` | Convert source docs to MD, split into feature units |
|
|
21
|
+
| ② Analyze | `speccore analyze` | AI generates technical specs |
|
|
22
|
+
| ③ Develop | `speccore execute` | Develop code by plan |
|
|
23
|
+
| ④ Deliver | `speccore pr` | Summarize changes + commit |
|
|
24
|
+
|
|
25
|
+
> 💡 **Don't want to memorize?** Use the natural-language entry `speccore ask "build a payment feature"`, and AI orchestrates the pipeline. Or talk to `@spec-ask` in an AI IDE.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Core Pipeline
|
|
30
|
+
|
|
31
|
+
One `run` command covers the whole flow, using **presets** to start/stop by scenario:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
speccore run --preset develop # analyze → verify (default)
|
|
35
|
+
speccore run --preset spec # import → taskify (generate Spec to review)
|
|
36
|
+
speccore run --preset deploy # analyze → deploy & verify
|
|
37
|
+
speccore run --preset deliver # execute → submit code
|
|
38
|
+
speccore run # no args = develop
|
|
11
39
|
```
|
|
12
40
|
|
|
13
|
-
|
|
41
|
+
### 8 presets
|
|
42
|
+
|
|
43
|
+
| preset | range | scenario |
|
|
44
|
+
|---|---|---|
|
|
45
|
+
| `develop` | analyze → verify | analyze → verify (**default**) |
|
|
46
|
+
| `full` | req-doc → spec2doc | full flow (incl. finishing) |
|
|
47
|
+
| `import` | doc2spec → pr | import → merge request |
|
|
48
|
+
| `spec` | doc2spec → taskify | import → taskify |
|
|
49
|
+
| `analyze` | analyze → validate | analyze only |
|
|
50
|
+
| `deliver` | execute → pr | execute → submit code |
|
|
51
|
+
| `deploy` | analyze → pipeline | analyze → deploy & verify |
|
|
52
|
+
| `docs` | analyze → spec2doc | analyze → export docs |
|
|
53
|
+
|
|
54
|
+
### Precise range control
|
|
14
55
|
|
|
15
56
|
```bash
|
|
16
|
-
#
|
|
17
|
-
|
|
18
|
-
speccore init
|
|
19
|
-
speccore iteration create -n Q1 # Create iteration
|
|
20
|
-
|
|
21
|
-
# 🔒 AI usage (in WorkBuddy/Cursor/Trae via @spec-ask)
|
|
22
|
-
@spec-ask "import requirements.docx to Q1 iteration"
|
|
23
|
-
@spec-ask "analyze Q1 requirements and code health"
|
|
24
|
-
@spec-ask "split Q1 iteration into tasks"
|
|
25
|
-
@spec-ask "generate execution plan for Q1"
|
|
26
|
-
@spec-ask "execute Task-001 with AI"
|
|
27
|
-
@spec-ask "archive Task-001 after validation"
|
|
57
|
+
speccore run --from split-units --to execute # from splitting feature units to develop
|
|
58
|
+
speccore run --from taskify --to pr # from taskify to submit
|
|
28
59
|
```
|
|
29
60
|
|
|
30
|
-
|
|
61
|
+
### Pipeline stages
|
|
31
62
|
|
|
32
|
-
|
|
63
|
+
```
|
|
64
|
+
Requirements entry (pick one) Structure Quality (optional)
|
|
65
|
+
req-doc ──┐
|
|
66
|
+
├─→ split-units ──→ clarify (auto/on/off)
|
|
67
|
+
doc2spec ─┘ │
|
|
68
|
+
▼
|
|
69
|
+
analyze → validate → taskify → plan → execute → verify
|
|
70
|
+
│
|
|
71
|
+
┌────────────┬──────────┬────────┴─────────┐
|
|
72
|
+
▼ ▼ ▼ ▼
|
|
73
|
+
pipeline pr(submit) done(archive) spec2doc(export)
|
|
74
|
+
(deploy) (independent finishing steps, on demand)
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**Three gates** (pause for your confirmation in auto mode): Spec finalized → code review → pre-deploy confirm.
|
|
78
|
+
|
|
79
|
+
### Custom + default pipelines
|
|
80
|
+
|
|
81
|
+
Define your own named pipelines and set the default in `.speccore.yml`:
|
|
82
|
+
|
|
83
|
+
```yaml
|
|
84
|
+
settings:
|
|
85
|
+
pipelines:
|
|
86
|
+
default: develop
|
|
87
|
+
custom:
|
|
88
|
+
hotfix: execute,verify,pipeline,pr
|
|
89
|
+
quick: analyze,taskify,execute
|
|
90
|
+
```
|
|
33
91
|
|
|
34
|
-
|
|
92
|
+
### Configurable steps (tri-state)
|
|
35
93
|
|
|
36
|
-
|
|
94
|
+
Optional steps support `auto / on / off` tri-state — configure defaults, or override per command/natural language:
|
|
37
95
|
|
|
38
|
-
|
|
96
|
+
```yaml
|
|
97
|
+
settings:
|
|
98
|
+
optional_steps:
|
|
99
|
+
clarify: auto # requirement clarification: auto=by professionalism / on=force / off=skip
|
|
100
|
+
verify: auto
|
|
101
|
+
pipeline: auto
|
|
102
|
+
pr: auto
|
|
103
|
+
done: auto
|
|
104
|
+
spec2doc: auto
|
|
105
|
+
```
|
|
39
106
|
|
|
40
|
-
|
|
107
|
+
Even when clarification is skipped, a **quality review report** (`010-requirements/QUALITY_REPORT.md`) is still generated, listing issues and concrete fix commands per document.
|
|
41
108
|
|
|
42
|
-
|
|
109
|
+
---
|
|
43
110
|
|
|
44
|
-
|
|
111
|
+
## Common Commands
|
|
45
112
|
|
|
46
|
-
|
|
113
|
+
Can't remember 60 commands? These are the ones that matter:
|
|
47
114
|
|
|
48
|
-
|
|
|
49
|
-
|
|
50
|
-
|
|
|
51
|
-
|
|
|
52
|
-
|
|
|
53
|
-
|
|
|
54
|
-
|
|
|
55
|
-
|
|
|
56
|
-
|
|
|
57
|
-
|
|
|
58
|
-
|
|
|
59
|
-
|
|
|
60
|
-
| **Check project status** | `speccore` or `speccore dashboard` |
|
|
61
|
-
| **Natural language queries** | `@spec-ask "analyze current requirements"` 🔒 |
|
|
115
|
+
| Command | Purpose |
|
|
116
|
+
|---------|---------|
|
|
117
|
+
| `run` | named pipeline entry (preset / range) |
|
|
118
|
+
| `ask` | natural-language entry (auto-orchestration) |
|
|
119
|
+
| `doc2spec` | import PRD → SpecCore MD |
|
|
120
|
+
| `req-doc` | one-liner requirement → PRD doc |
|
|
121
|
+
| `analyze` | AI requirement analysis |
|
|
122
|
+
| `taskify` | split requirements into dev tasks |
|
|
123
|
+
| `execute` | develop by plan |
|
|
124
|
+
| `pr` | summarize changes + commit |
|
|
125
|
+
| `spec2doc` | export Word/PDF/HTML |
|
|
126
|
+
| `status` | check progress |
|
|
62
127
|
|
|
63
|
-
>
|
|
128
|
+
> Full list: [Command Reference](docs/commands.en.md), or `speccore help`.
|
|
64
129
|
|
|
65
|
-
|
|
130
|
+
---
|
|
66
131
|
|
|
67
|
-
|
|
132
|
+
## Core Capabilities
|
|
68
133
|
|
|
69
|
-
|
|
70
|
-
|:---|:---|:---|
|
|
71
|
-
| `🧠 pr --interactive` | `🧠 change --interactive` | `🧠 done --interactive` |
|
|
134
|
+
### 🧠 Natural-language entry
|
|
72
135
|
|
|
73
|
-
|
|
136
|
+
`speccore ask "..."` with four modes: explain / guide / match / orchestrate:
|
|
74
137
|
|
|
75
138
|
```bash
|
|
76
|
-
speccore
|
|
77
|
-
speccore
|
|
78
|
-
speccore refresh --rag # Only document RAG
|
|
79
|
-
speccore refresh --graph # Only knowledge graph
|
|
139
|
+
speccore ask "deploy for me" # → run --preset deploy
|
|
140
|
+
speccore ask "from analyze to develop" # → run --from analyze --to execute
|
|
80
141
|
```
|
|
81
142
|
|
|
82
|
-
|
|
143
|
+
### 🧠 Knowledge graph & code graph
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
speccore graph query "order-related code" # natural-language query
|
|
147
|
+
speccore graph path Task-001 Task-002 # shortest dependency path
|
|
148
|
+
speccore knowledge # interactive HTML graph
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### 📊 Dashboard
|
|
152
|
+
|
|
153
|
+
`speccore dashboard` generates a Jira-standard 7-dimension board.
|
|
154
|
+
|
|
155
|
+
### 🚀 Environment-driven deploy
|
|
156
|
+
|
|
157
|
+
`speccore pipeline` with five environment layers (local → dev → test → staging → production):
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
speccore pipeline --env staging --all
|
|
161
|
+
speccore pipeline --env test --platforms h5,api
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### 🧪 Quality verification
|
|
165
|
+
|
|
166
|
+
`speccore verify` layered testing: compile + lint + unit + UI smoke + API contract + performance baseline. Pre-deploy can block; post-deploy only reports.
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
speccore verify --stage pr
|
|
170
|
+
speccore verify -t Task-001 --ui
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Complete Commands (categorized)
|
|
176
|
+
|
|
177
|
+
| Category | Commands |
|
|
178
|
+
|----------|----------|
|
|
179
|
+
| Pipeline / core | `run` `ask` `doc2spec` `req-doc` `analyze` `validate` `taskify` `plan` `execute` |
|
|
180
|
+
| Finishing | `pipeline` `pr` `done` `spec2doc` |
|
|
181
|
+
| Status / nav | `status` `next` `dashboard` `progress` |
|
|
182
|
+
| Init / config | `init` `config` `doctor` `update` |
|
|
183
|
+
| Management | `units` `pattern` `rollback` `history` `baseline` `rename` `cleanup` |
|
|
184
|
+
| Change / special | `change` `retro` `verdict` `review` `sync` |
|
|
185
|
+
| Knowledge | `graph` `knowledge` `query` `entity` `related` `path` `search` `stats` |
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Directory Structure
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
Iteration-001-meeting/
|
|
193
|
+
├── 000-overview/ ← progress tracking
|
|
194
|
+
├── 010-requirements/ ← requirements (by feature)
|
|
195
|
+
│ ├── sources/ ← [read-only] original PRD/Word/PDF
|
|
196
|
+
│ ├── converted/ ← [auto] doc2spec converted MD
|
|
197
|
+
│ ├── features/ ← [manual] split feature units
|
|
198
|
+
│ └── QUALITY_REPORT.md ← [auto] quality review report
|
|
199
|
+
├── 020-specs/ ← analyze output (three-layer)
|
|
200
|
+
├── 030-tasks/ ← taskify dev tasks
|
|
201
|
+
└── STAFFING.md ← staffing
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Multi-layer AI Architecture
|
|
207
|
+
|
|
208
|
+
```
|
|
209
|
+
@spec-ask "..." (AI IDE entry)
|
|
210
|
+
├─ 🧠 own LLM → OpenAI / Ollama (SPECCORE_LLM_KEY env)
|
|
211
|
+
├─ 🤖 host AI → WorkBuddy / TRAE / Qcoder (auto-detect)
|
|
212
|
+
├─ 📐 rule engine → command KB + predefined workflows (always available)
|
|
213
|
+
└─ 🎭 multi-subagent → per stage/platform/module roles (step isolation)
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**Zero-config fallback**: no key configured → auto-degrade, features unaffected.
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## 📖 Documentation
|
|
221
|
+
|
|
222
|
+
| Doc | Description |
|
|
223
|
+
|-----|-------------|
|
|
224
|
+
| [Quick Start](docs/quick-start.en.md) | 5 minutes to first task |
|
|
225
|
+
| [Commands](docs/commands.en.md) | full command reference |
|
|
226
|
+
| [Config Reference](docs/config-reference.en.md) | all config fields (incl. pipelines / optional_steps) |
|
|
227
|
+
| [Scenarios](docs/scenarios.en.md) | real-world scenarios |
|
|
228
|
+
| [SDD](docs/sdd-methodology.en.md) | spec-driven development |
|
|
229
|
+
| [Workspace](docs/workspace-organization.en.md) | directory structure |
|
|
230
|
+
| [File Editing Guide](docs/usage-guide.en.md) | which files to edit vs. commands |
|
|
231
|
+
| [Quick Reference](docs/quick-reference.en.md) | common commands at a glance |
|
|
232
|
+
| [Spec Layers](docs/spec-layers.en.md) | GLOBAL/ITERATION/TASK loading |
|
|
233
|
+
| [Testing Guide](docs/testing-guide.en.md) | layered testing & quality |
|
|
234
|
+
| [CI/CD](docs/ci-cd-spec-integration.en.md) | CI/CD pipeline + @spec annotation |
|
|
235
|
+
| [Adapters](docs/tool-adaptation.en.md) | AI tool integration |
|
|
236
|
+
| [CHANGELOG](CHANGELOG.en.md) | version history |
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## License
|
|
83
241
|
|
|
84
|
-
|
|
85
|
-
|:---|:---|
|
|
86
|
-
| 🚀 [Quick Start](docs/quick-start.en.md) | Full tutorial |
|
|
87
|
-
| 🔧 [Command Reference](docs/commands.en.md) | Full command reference |
|
|
88
|
-
| 🎬 [Scenarios](docs/scenarios.en.md) | Real-world examples |
|
|
89
|
-
| 🗺 [Overview](docs/overview.md) | Architecture & philosophy |
|
|
90
|
-
| 📝 [SDD Methodology](docs/sdd-methodology.en.md) | Spec-driven development |
|
|
242
|
+
See the LICENSE file.
|