spec-gen-cli 1.2.4 → 1.2.6
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 +51 -18
- package/dist/api/generate.d.ts.map +1 -1
- package/dist/api/generate.js +46 -32
- package/dist/api/generate.js.map +1 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +26 -12
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/mcp.d.ts +225 -0
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +116 -1
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/refresh-stories.d.ts +10 -0
- package/dist/cli/commands/refresh-stories.d.ts.map +1 -0
- package/dist/cli/commands/refresh-stories.js +314 -0
- package/dist/cli/commands/refresh-stories.js.map +1 -0
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +1 -0
- package/dist/constants.js.map +1 -1
- package/dist/core/analyzer/unified-search.d.ts +107 -0
- package/dist/core/analyzer/unified-search.d.ts.map +1 -0
- package/dist/core/analyzer/unified-search.js +237 -0
- package/dist/core/analyzer/unified-search.js.map +1 -0
- package/dist/core/generator/openspec-format-generator.d.ts +17 -2
- package/dist/core/generator/openspec-format-generator.d.ts.map +1 -1
- package/dist/core/generator/openspec-format-generator.js +111 -10
- package/dist/core/generator/openspec-format-generator.js.map +1 -1
- package/dist/core/generator/rag-manifest-generator.d.ts +37 -0
- package/dist/core/generator/rag-manifest-generator.d.ts.map +1 -0
- package/dist/core/generator/rag-manifest-generator.js +134 -0
- package/dist/core/generator/rag-manifest-generator.js.map +1 -0
- package/dist/core/services/chat-tools.d.ts.map +1 -1
- package/dist/core/services/chat-tools.js +54 -6
- package/dist/core/services/chat-tools.js.map +1 -1
- package/dist/core/services/mcp-handlers/change.d.ts +14 -0
- package/dist/core/services/mcp-handlers/change.d.ts.map +1 -0
- package/dist/core/services/mcp-handlers/change.js +416 -0
- package/dist/core/services/mcp-handlers/change.js.map +1 -0
- package/dist/core/services/mcp-handlers/orient.d.ts.map +1 -1
- package/dist/core/services/mcp-handlers/orient.js +108 -1
- package/dist/core/services/mcp-handlers/orient.js.map +1 -1
- package/dist/core/services/mcp-handlers/semantic.d.ts +4 -0
- package/dist/core/services/mcp-handlers/semantic.d.ts.map +1 -1
- package/dist/core/services/mcp-handlers/semantic.js +101 -32
- package/dist/core/services/mcp-handlers/semantic.js.map +1 -1
- package/package.json +4 -1
- package/src/viewer/InteractiveGraphViewer.jsx +46 -4
- package/src/viewer/components/ChatPanel.jsx +2 -3
- package/src/viewer/components/ClusterGraph.jsx +22 -6
package/README.md
CHANGED
|
@@ -476,6 +476,7 @@ Priority: CLI flags > environment variables > config file > provider defaults.
|
|
|
476
476
|
| `spec-gen view` | Launch interactive graph & spec viewer in the browser | No |
|
|
477
477
|
| `spec-gen mcp` | Start MCP server (stdio, for Cline / Claude Code) | No |
|
|
478
478
|
| `spec-gen doctor` | Check environment and configuration for common issues | No |
|
|
479
|
+
| `spec-gen refresh-stories` | Re-annotate story files with stale risk context | No |
|
|
479
480
|
|
|
480
481
|
### Global Options
|
|
481
482
|
|
|
@@ -830,6 +831,8 @@ All tools run on **pure static analysis** -- no LLM quota consumed.
|
|
|
830
831
|
| `check_spec_drift` | Detect code changes not reflected in OpenSpec specs. Compares git-changed files against spec coverage maps. Issues: gap / stale / uncovered / orphaned-spec / adr-gap. | Yes (generate) |
|
|
831
832
|
| `search_specs` | Semantic search over OpenSpec specifications to find requirements, design notes, and architecture decisions by meaning. Returns linked source files for graph highlighting. Use this when asked "which spec covers X?" or "where should we implement Z?". Requires a spec index built with `spec-gen analyze` or `--reindex-specs`. | Yes (generate) |
|
|
832
833
|
| `list_spec_domains` | List all OpenSpec domains available in this project. Use this to discover what domains exist before doing a targeted `search_specs` call. | Yes (generate) |
|
|
834
|
+
| `generate_change_proposal` | Given a story/task description, chains `orient` + `search_specs` + `analyze_impact` to produce a structured change proposal at `openspec/changes/{slug}/proposal.md` with affected domains, risk scores, and insertion points. | Yes |
|
|
835
|
+
| `annotate_story` | Reads a story/task markdown file, runs structural analysis, and patches a `## Risk Context` section in-place with domains, risk scores, blocking refactors, and insertion points. | Yes |
|
|
833
836
|
|
|
834
837
|
### Parameters
|
|
835
838
|
|
|
@@ -1005,6 +1008,21 @@ domain string Filter by domain name (e.g. "auth", "analyzer")
|
|
|
1005
1008
|
section string Filter by section type: "requirements" | "purpose" | "design" | "architecture" | "entities"
|
|
1006
1009
|
```
|
|
1007
1010
|
|
|
1011
|
+
**`generate_change_proposal`**
|
|
1012
|
+
```
|
|
1013
|
+
directory string Absolute path to the project directory
|
|
1014
|
+
description string Natural-language description of the change (story, intent, or spec delta)
|
|
1015
|
+
slug string URL-safe identifier for the proposal (e.g. "add-payment-retry")
|
|
1016
|
+
storyContent string Optional full story markdown to embed in the proposal
|
|
1017
|
+
```
|
|
1018
|
+
|
|
1019
|
+
**`annotate_story`**
|
|
1020
|
+
```
|
|
1021
|
+
directory string Absolute path to the project directory
|
|
1022
|
+
storyFilePath string Path to the story file (relative to project root or absolute)
|
|
1023
|
+
description string Natural-language summary of the story for structural analysis
|
|
1024
|
+
```
|
|
1025
|
+
|
|
1008
1026
|
### Typical workflow
|
|
1009
1027
|
|
|
1010
1028
|
**Scenario A -- Initial exploration**
|
|
@@ -1045,6 +1063,17 @@ section string Filter by section type: "requirements" | "purpose" | "design
|
|
|
1045
1063
|
3. check_spec_drift({ directory }) # verify after implementation
|
|
1046
1064
|
```
|
|
1047
1065
|
|
|
1066
|
+
**Scenario E -- Agentic workflow (risk-gated implementation)**
|
|
1067
|
+
```
|
|
1068
|
+
1. generate_change_proposal({ directory, description, slug }) # proposal.md with risk + domains
|
|
1069
|
+
2. annotate_story({ directory, storyFilePath, description }) # patch story with risk_context
|
|
1070
|
+
3. orient({ directory, task: "..." }) # scope functions + insertion points
|
|
1071
|
+
4. analyze_impact({ directory, symbol: "topFunction" }) # confirm risk before coding
|
|
1072
|
+
5. check_spec_drift({ directory }) # verify after implementation
|
|
1073
|
+
```
|
|
1074
|
+
|
|
1075
|
+
See [docs/agentic-workflows/](docs/agentic-workflows/) for full integration patterns with BMAD, Mistral Vibe, spec-kit, and Claude Code.
|
|
1076
|
+
|
|
1048
1077
|
## Interactive Graph Viewer
|
|
1049
1078
|
|
|
1050
1079
|
`spec-gen view` launches a local React app that visualises your codebase analysis and lets you explore spec requirements side-by-side with the dependency graph.
|
|
@@ -1068,8 +1097,9 @@ spec-gen view --spec <path> # custom spec dir (default: ./openspec/specs/
|
|
|
1068
1097
|
|
|
1069
1098
|
| View | Description |
|
|
1070
1099
|
|------|-------------|
|
|
1071
|
-
| **Clusters** | Colour-coded architectural clusters with expandable member nodes |
|
|
1072
|
-
| **Flat** | Force-directed dependency graph (all nodes); call edges
|
|
1100
|
+
| **Clusters** | Colour-coded architectural clusters with expandable member nodes. Falls back to directory clusters for languages without import edges (Swift, C++) |
|
|
1101
|
+
| **Flat** | Force-directed dependency graph (all nodes). Import edges are solid; call edges (Swift/C++ synthesised, or HTTP cross-language) are cyan dashed |
|
|
1102
|
+
| **Classes** | Class/struct inheritance and call graph. Nodes coloured by language or connected component; isolated nodes hidden. Component-aware force layout keeps related classes together |
|
|
1073
1103
|
| **Architecture** | High-level cluster map: role-coloured boxes, inter-cluster dependency arrows |
|
|
1074
1104
|
| **Classes** | Component-aware force layout of class/struct relationships with coloured groupings |
|
|
1075
1105
|
|
|
@@ -1158,11 +1188,11 @@ Static analysis output is stored in `.spec-gen/analysis/`:
|
|
|
1158
1188
|
| File | Description |
|
|
1159
1189
|
|------|-------------|
|
|
1160
1190
|
| `repo-structure.json` | Project structure and metadata |
|
|
1161
|
-
| `dependency-graph.json` | Import/export relationships
|
|
1191
|
+
| `dependency-graph.json` | Import/export relationships, HTTP cross-language edges (JS/TS → Python), and synthesised call edges for Swift/C++ |
|
|
1162
1192
|
| `llm-context.json` | Context prepared for LLM (signatures, call graph) |
|
|
1163
1193
|
| `dependencies.mermaid` | Visual dependency graph |
|
|
1164
1194
|
| `SUMMARY.md` | Human-readable analysis summary |
|
|
1165
|
-
| `call-graph.json` | Function-level call graph (
|
|
1195
|
+
| `call-graph.json` | Function-level call graph (8 languages: TS/JS, Python, Go, Rust, Ruby, Java, C++, Swift) |
|
|
1166
1196
|
| `refactor-priorities.json` | Refactoring issues by file and function |
|
|
1167
1197
|
| `mapping.json` | Requirement->function mapping (produced by `generate`) |
|
|
1168
1198
|
| `vector-index/` | LanceDB semantic index (produced by `--embed`) |
|
|
@@ -1267,18 +1297,16 @@ The index is stored in `.spec-gen/analysis/vector-index/` and is automatically u
|
|
|
1267
1297
|
|
|
1268
1298
|
## Supported Languages
|
|
1269
1299
|
|
|
1270
|
-
| Language | Signatures | Call Graph |
|
|
1271
|
-
|
|
1272
|
-
| TypeScript / JavaScript | Full | Full |
|
|
1273
|
-
| Python | Full | Full |
|
|
1274
|
-
| Go | Full | Full |
|
|
1275
|
-
| Rust | Full | Full |
|
|
1276
|
-
| Ruby | Full | Full |
|
|
1277
|
-
| Java | Full | Full |
|
|
1278
|
-
| C++ | Full | Full |
|
|
1279
|
-
| Swift | Full | Full |
|
|
1280
|
-
|
|
1281
|
-
TypeScript projects get the best results due to richer type information. Swift and C++ projects use call-graph-based edge synthesis instead of import parsing, since these languages have no file-level imports within a module.
|
|
1300
|
+
| Language | Signatures | Call Graph | Notes |
|
|
1301
|
+
|----------|-----------|------------|-------|
|
|
1302
|
+
| TypeScript / JavaScript | Full | Full | Best results — rich type info |
|
|
1303
|
+
| Python | Full | Full | `self`/`cls` intra-class + import resolution |
|
|
1304
|
+
| Go | Full | Full | |
|
|
1305
|
+
| Rust | Full | Full | |
|
|
1306
|
+
| Ruby | Full | Full | |
|
|
1307
|
+
| Java | Full | Full | |
|
|
1308
|
+
| C++ | Full | Full | No intra-module imports — cross-file edges synthesised from call graph |
|
|
1309
|
+
| Swift | Full | Full | No intra-module imports — cross-file edges synthesised from call graph |
|
|
1282
1310
|
|
|
1283
1311
|
## Usage Options
|
|
1284
1312
|
|
|
@@ -1386,6 +1414,10 @@ for (const [key, req] of Object.entries(requirements)) {
|
|
|
1386
1414
|
| [examples/openspec-analysis/](examples/openspec-analysis/) | Static analysis output from `spec-gen analyze` |
|
|
1387
1415
|
| [examples/openspec-cli/](examples/openspec-cli/) | Specifications generated with `spec-gen generate` |
|
|
1388
1416
|
| [examples/drift-demo/](examples/drift-demo/) | Sample project configured for drift detection |
|
|
1417
|
+
| [examples/bmad/](examples/bmad/) | BMAD Method integration — agents, tasks, templates for brownfield codebases |
|
|
1418
|
+
| [examples/mistral-vibe/](examples/mistral-vibe/) | Mistral Vibe skills for analyze, generate, plan-refactor, implement-story |
|
|
1419
|
+
| [examples/spec-kit/](examples/spec-kit/) | spec-kit extension with `before_implement` / `after_implement` hooks |
|
|
1420
|
+
| [examples/gsd/](examples/gsd/) | Get-Shit-Done Claude Code commands for orient + drift |
|
|
1389
1421
|
|
|
1390
1422
|
## Development
|
|
1391
1423
|
|
|
@@ -1393,11 +1425,11 @@ for (const [key, req] of Object.entries(requirements)) {
|
|
|
1393
1425
|
npm install # Install dependencies
|
|
1394
1426
|
npm run dev # Development mode (watch)
|
|
1395
1427
|
npm run build # Build
|
|
1396
|
-
npm run test:run # Run tests (
|
|
1428
|
+
npm run test:run # Run tests (2200+ unit tests)
|
|
1397
1429
|
npm run typecheck # Type check
|
|
1398
1430
|
```
|
|
1399
1431
|
|
|
1400
|
-
|
|
1432
|
+
2200+ unit tests covering static analysis, call graph (including Swift), refactor analysis, spec mapping, drift detection, LLM enhancement, ADR generation, MCP handlers, change proposals, cross-file edge synthesis, and the full CLI.
|
|
1401
1433
|
|
|
1402
1434
|
## Links
|
|
1403
1435
|
|
|
@@ -1407,5 +1439,6 @@ npm run typecheck # Type check
|
|
|
1407
1439
|
- [OpenSpec Integration](docs/OPENSPEC-INTEGRATION.md) - How spec-gen integrates with OpenSpec
|
|
1408
1440
|
- [OpenSpec Format](docs/OPENSPEC-FORMAT.md) - Spec format reference
|
|
1409
1441
|
- [Philosophy](docs/PHILOSOPHY.md) - "Archaeology over Creativity"
|
|
1442
|
+
- [Agentic Workflows](docs/agentic-workflows/) - Integration patterns for BMAD, Mistral Vibe, spec-kit, GSD
|
|
1410
1443
|
- [Troubleshooting](docs/TROUBLESHOOTING.md) - Common issues and solutions
|
|
1411
1444
|
- [AGENTS.md](AGENTS.md) - LLM system prompt for direct prompting
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/api/generate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/api/generate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoBH,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAoB,MAAM,YAAY,CAAC;AA6DvF;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC,CAmO/F"}
|
package/dist/api/generate.js
CHANGED
|
@@ -13,7 +13,8 @@ import { OpenSpecFormatGenerator } from '../core/generator/openspec-format-gener
|
|
|
13
13
|
import { OpenSpecWriter } from '../core/generator/openspec-writer.js';
|
|
14
14
|
import { ADRGenerator } from '../core/generator/adr-generator.js';
|
|
15
15
|
import { MappingGenerator } from '../core/generator/mapping-generator.js';
|
|
16
|
-
import {
|
|
16
|
+
import { RagManifestGenerator } from '../core/generator/rag-manifest-generator.js';
|
|
17
|
+
import { DEFAULT_ANTHROPIC_MODEL, DEFAULT_OPENAI_MODEL, DEFAULT_OPENAI_COMPAT_MODEL, DEFAULT_COPILOT_MODEL, DEFAULT_GEMINI_MODEL, SPEC_GEN_DIR, SPEC_GEN_ANALYSIS_SUBDIR, SPEC_GEN_LOGS_SUBDIR, SPEC_GEN_ANALYSIS_REL_PATH, SPEC_GEN_GENERATION_SUBDIR, OPENSPEC_DIR, ARTIFACT_REPO_STRUCTURE, ARTIFACT_LLM_CONTEXT, ARTIFACT_DEPENDENCY_GRAPH, ARTIFACT_REFACTOR_PRIORITIES, ARTIFACT_RAG_MANIFEST, } from '../constants.js';
|
|
17
18
|
function progress(onProgress, step, status, detail) {
|
|
18
19
|
onProgress?.({ phase: 'generate', step, status, detail });
|
|
19
20
|
}
|
|
@@ -153,14 +154,47 @@ export async function specGenGenerate(options = {}) {
|
|
|
153
154
|
throw new Error(`Pipeline failed: ${error.message}`);
|
|
154
155
|
}
|
|
155
156
|
progress(onProgress, 'Running LLM generation pipeline', 'complete');
|
|
157
|
+
// Generate mapping artifact early so formatGenerator can annotate file:line per requirement
|
|
158
|
+
let mappingArtifact;
|
|
159
|
+
if ((options.mapping ?? true) && depGraph) {
|
|
160
|
+
try {
|
|
161
|
+
let semanticSearch;
|
|
162
|
+
const analysisDir = join(rootPath, SPEC_GEN_DIR, SPEC_GEN_ANALYSIS_SUBDIR);
|
|
163
|
+
const { VectorIndex } = await import('../core/analyzer/vector-index.js');
|
|
164
|
+
if (VectorIndex.exists(analysisDir)) {
|
|
165
|
+
const { EmbeddingService } = await import('../core/analyzer/embedding-service.js');
|
|
166
|
+
let embedSvc;
|
|
167
|
+
try {
|
|
168
|
+
embedSvc = EmbeddingService.fromEnv();
|
|
169
|
+
}
|
|
170
|
+
catch { /* no env config */ }
|
|
171
|
+
if (!embedSvc) {
|
|
172
|
+
const svc = EmbeddingService.fromConfig(specGenConfig);
|
|
173
|
+
if (svc)
|
|
174
|
+
embedSvc = svc;
|
|
175
|
+
}
|
|
176
|
+
if (embedSvc) {
|
|
177
|
+
const svc = embedSvc;
|
|
178
|
+
semanticSearch = (query, limit) => VectorIndex.search(analysisDir, query, svc, { limit });
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
const mapper = new MappingGenerator(rootPath, openspecRelPath, semanticSearch);
|
|
182
|
+
mappingArtifact = await mapper.generate(pipelineResult, depGraph);
|
|
183
|
+
progress(onProgress, 'Generating mapping artifact', 'complete');
|
|
184
|
+
}
|
|
185
|
+
catch {
|
|
186
|
+
// Non-fatal
|
|
187
|
+
}
|
|
188
|
+
}
|
|
156
189
|
// Format specs
|
|
157
190
|
progress(onProgress, 'Formatting specifications', 'start');
|
|
158
191
|
const formatGenerator = new OpenSpecFormatGenerator({
|
|
159
192
|
version: specGenConfig.version,
|
|
160
193
|
includeConfidence: true,
|
|
161
194
|
includeTechnicalNotes: true,
|
|
195
|
+
depGraph,
|
|
162
196
|
});
|
|
163
|
-
let generatedSpecs = adrOnly ? [] : formatGenerator.generateSpecs(pipelineResult);
|
|
197
|
+
let generatedSpecs = adrOnly ? [] : formatGenerator.generateSpecs(pipelineResult, mappingArtifact);
|
|
164
198
|
// Filter by domains
|
|
165
199
|
if (!adrOnly && options.domains && options.domains.length > 0) {
|
|
166
200
|
const domainSet = new Set(options.domains.map(d => d.toLowerCase()));
|
|
@@ -189,36 +223,16 @@ export async function specGenGenerate(options = {}) {
|
|
|
189
223
|
});
|
|
190
224
|
const report = await writer.writeSpecs(generatedSpecs, pipelineResult.survey);
|
|
191
225
|
progress(onProgress, 'Writing OpenSpec files', 'complete', `${report.filesWritten.length} written`);
|
|
192
|
-
// Generate
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
embedSvc = EmbeddingService.fromEnv();
|
|
203
|
-
}
|
|
204
|
-
catch { /* no env config */ }
|
|
205
|
-
if (!embedSvc) {
|
|
206
|
-
const svc = EmbeddingService.fromConfig(specGenConfig);
|
|
207
|
-
if (svc)
|
|
208
|
-
embedSvc = svc;
|
|
209
|
-
}
|
|
210
|
-
if (embedSvc) {
|
|
211
|
-
const svc = embedSvc;
|
|
212
|
-
semanticSearch = (query, limit) => VectorIndex.search(analysisDir, query, svc, { limit });
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
const mapper = new MappingGenerator(rootPath, openspecRelPath, semanticSearch);
|
|
216
|
-
await mapper.generate(pipelineResult, depGraph);
|
|
217
|
-
progress(onProgress, 'Generating mapping artifact', 'complete');
|
|
218
|
-
}
|
|
219
|
-
catch {
|
|
220
|
-
// Non-fatal
|
|
221
|
-
}
|
|
226
|
+
// Generate RAG manifest
|
|
227
|
+
try {
|
|
228
|
+
const manifestGen = new RagManifestGenerator();
|
|
229
|
+
const manifest = manifestGen.generate(generatedSpecs, depGraph);
|
|
230
|
+
const { writeFile } = await import('node:fs/promises');
|
|
231
|
+
await writeFile(join(fullOpenspecPath, ARTIFACT_RAG_MANIFEST), JSON.stringify(manifest, null, 2), 'utf-8');
|
|
232
|
+
progress(onProgress, 'Generating RAG manifest', 'complete', `${manifest.domains.length} domains`);
|
|
233
|
+
}
|
|
234
|
+
catch {
|
|
235
|
+
// Non-fatal
|
|
222
236
|
}
|
|
223
237
|
// Save LLM logs
|
|
224
238
|
await llm.saveLogs().catch(() => { });
|
package/dist/api/generate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/api/generate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,EAAE,cAAc,EAAkB,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/api/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqMpC,eAAO,MAAM,eAAe,SA4jBxB,CAAC"}
|
|
@@ -10,7 +10,7 @@ import { stat } from 'node:fs/promises';
|
|
|
10
10
|
import { join } from 'node:path';
|
|
11
11
|
import { logger } from '../../utils/logger.js';
|
|
12
12
|
import { fileExists, formatDuration, formatAge, parseList, readJsonFile } from '../../utils/command-helpers.js';
|
|
13
|
-
import { LLM_SYSTEM_PROMPT_OVERHEAD_TOKENS, GENERATION_OUTPUT_RATIO, DEFAULT_ANTHROPIC_MODEL, DEFAULT_OPENAI_MODEL, DEFAULT_OPENAI_COMPAT_MODEL, DEFAULT_COPILOT_MODEL, DEFAULT_GEMINI_MODEL, DEFAULT_SURVEY_ESTIMATED_TOKENS, COST_CONFIRMATION_THRESHOLD, SPEC_GEN_DIR, SPEC_GEN_ANALYSIS_REL_PATH, SPEC_GEN_LOGS_SUBDIR, SPEC_GEN_OUTPUTS_SUBDIR, SPEC_GEN_GENERATION_SUBDIR, SPEC_GEN_CONFIG_REL_PATH, OPENSPEC_DIR, ARTIFACT_REPO_STRUCTURE, ARTIFACT_LLM_CONTEXT, ARTIFACT_DEPENDENCY_GRAPH, ARTIFACT_GENERATION_REPORT, ARTIFACT_MAPPING, } from '../../constants.js';
|
|
13
|
+
import { LLM_SYSTEM_PROMPT_OVERHEAD_TOKENS, GENERATION_OUTPUT_RATIO, DEFAULT_ANTHROPIC_MODEL, DEFAULT_OPENAI_MODEL, DEFAULT_OPENAI_COMPAT_MODEL, DEFAULT_COPILOT_MODEL, DEFAULT_GEMINI_MODEL, DEFAULT_SURVEY_ESTIMATED_TOKENS, COST_CONFIRMATION_THRESHOLD, SPEC_GEN_DIR, SPEC_GEN_ANALYSIS_REL_PATH, SPEC_GEN_LOGS_SUBDIR, SPEC_GEN_OUTPUTS_SUBDIR, SPEC_GEN_GENERATION_SUBDIR, SPEC_GEN_CONFIG_REL_PATH, OPENSPEC_DIR, ARTIFACT_REPO_STRUCTURE, ARTIFACT_LLM_CONTEXT, ARTIFACT_DEPENDENCY_GRAPH, ARTIFACT_GENERATION_REPORT, ARTIFACT_MAPPING, ARTIFACT_RAG_MANIFEST, } from '../../constants.js';
|
|
14
14
|
import { readSpecGenConfig, readOpenSpecConfig, } from '../../core/services/config-manager.js';
|
|
15
15
|
import { createLLMService, lookupPricing, } from '../../core/services/llm-service.js';
|
|
16
16
|
import { SpecGenerationPipeline, } from '../../core/generator/spec-pipeline.js';
|
|
@@ -18,6 +18,7 @@ import { OpenSpecFormatGenerator, } from '../../core/generator/openspec-format-g
|
|
|
18
18
|
import { OpenSpecWriter, } from '../../core/generator/openspec-writer.js';
|
|
19
19
|
import { ADRGenerator } from '../../core/generator/adr-generator.js';
|
|
20
20
|
import { MappingGenerator } from '../../core/generator/mapping-generator.js';
|
|
21
|
+
import { RagManifestGenerator } from '../../core/generator/rag-manifest-generator.js';
|
|
21
22
|
import { createProgress } from '../../utils/progress.js';
|
|
22
23
|
// ============================================================================
|
|
23
24
|
// HELPER FUNCTIONS
|
|
@@ -431,13 +432,26 @@ Each spec.md follows OpenSpec conventions:
|
|
|
431
432
|
// PHASE 5: FORMAT AND WRITE SPECS
|
|
432
433
|
// ========================================================================
|
|
433
434
|
logger.section('Writing OpenSpec Files');
|
|
435
|
+
// Generate requirement→function mapping first so formatGenerator can annotate file:line
|
|
436
|
+
let mappingArtifact;
|
|
437
|
+
if (depGraph) {
|
|
438
|
+
try {
|
|
439
|
+
const mapper = new MappingGenerator(rootPath, specGenConfig.openspecPath, semanticSearch);
|
|
440
|
+
mappingArtifact = await mapper.generate(pipelineResult, depGraph);
|
|
441
|
+
logger.success(`Requirement mapping: ${mappingArtifact.stats.mappedRequirements}/${mappingArtifact.stats.totalRequirements} requirements mapped, ${mappingArtifact.stats.orphanCount} orphan functions → ${SPEC_GEN_ANALYSIS_REL_PATH}/${ARTIFACT_MAPPING}`);
|
|
442
|
+
}
|
|
443
|
+
catch (error) {
|
|
444
|
+
logger.warning(`Could not generate mapping artifact: ${error.message}`);
|
|
445
|
+
}
|
|
446
|
+
}
|
|
434
447
|
// Generate formatted specs
|
|
435
448
|
const formatGenerator = new OpenSpecFormatGenerator({
|
|
436
449
|
version: specGenConfig.version,
|
|
437
450
|
includeConfidence: true,
|
|
438
451
|
includeTechnicalNotes: true,
|
|
452
|
+
depGraph,
|
|
439
453
|
});
|
|
440
|
-
let generatedSpecs = opts.adrOnly ? [] : formatGenerator.generateSpecs(pipelineResult);
|
|
454
|
+
let generatedSpecs = opts.adrOnly ? [] : formatGenerator.generateSpecs(pipelineResult, mappingArtifact);
|
|
441
455
|
// Filter by domains if specified
|
|
442
456
|
if (!opts.adrOnly && opts.domains.length > 0) {
|
|
443
457
|
const domainSet = new Set(opts.domains.map(d => d.toLowerCase()));
|
|
@@ -494,16 +508,16 @@ Each spec.md follows OpenSpec conventions:
|
|
|
494
508
|
process.exitCode = 1;
|
|
495
509
|
return;
|
|
496
510
|
}
|
|
497
|
-
// Generate
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
}
|
|
511
|
+
// Generate RAG manifest
|
|
512
|
+
try {
|
|
513
|
+
const manifestGen = new RagManifestGenerator();
|
|
514
|
+
const manifest = manifestGen.generate(generatedSpecs, depGraph);
|
|
515
|
+
const { writeFile } = await import('node:fs/promises');
|
|
516
|
+
await writeFile(join(fullOpenspecPath, ARTIFACT_RAG_MANIFEST), JSON.stringify(manifest, null, 2), 'utf-8');
|
|
517
|
+
logger.success(`RAG manifest: ${manifest.domains.length} domains → ${specGenConfig.openspecPath ?? OPENSPEC_DIR}/${ARTIFACT_RAG_MANIFEST}`);
|
|
518
|
+
}
|
|
519
|
+
catch (error) {
|
|
520
|
+
logger.warning(`Could not generate RAG manifest: ${error.message}`);
|
|
507
521
|
}
|
|
508
522
|
// ========================================================================
|
|
509
523
|
// PHASE 6: POST-GENERATION
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"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"}
|