spec-gen-cli 1.2.3 → 1.2.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 +80 -20
- package/dist/api/generate.d.ts.map +1 -1
- package/dist/api/generate.js +52 -35
- package/dist/api/generate.js.map +1 -1
- package/dist/api/run.d.ts.map +1 -1
- package/dist/api/run.js +5 -3
- package/dist/api/run.js.map +1 -1
- package/dist/api/types.d.ts +4 -4
- package/dist/api/types.d.ts.map +1 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +29 -14
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +5 -3
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -1
- package/dist/core/analyzer/artifact-generator.d.ts.map +1 -1
- package/dist/core/analyzer/artifact-generator.js +11 -3
- package/dist/core/analyzer/artifact-generator.js.map +1 -1
- package/dist/core/analyzer/call-graph.d.ts +2 -2
- package/dist/core/analyzer/call-graph.d.ts.map +1 -1
- package/dist/core/analyzer/call-graph.js +137 -6
- package/dist/core/analyzer/call-graph.js.map +1 -1
- package/dist/core/analyzer/dependency-graph.d.ts +19 -0
- package/dist/core/analyzer/dependency-graph.d.ts.map +1 -1
- package/dist/core/analyzer/dependency-graph.js +76 -0
- package/dist/core/analyzer/dependency-graph.js.map +1 -1
- package/dist/core/analyzer/duplicate-detector.d.ts.map +1 -1
- package/dist/core/analyzer/duplicate-detector.js +7 -1
- package/dist/core/analyzer/duplicate-detector.js.map +1 -1
- package/dist/core/analyzer/signature-extractor.d.ts.map +1 -1
- package/dist/core/analyzer/signature-extractor.js +59 -0
- package/dist/core/analyzer/signature-extractor.js.map +1 -1
- 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/llm-service.d.ts +23 -1
- package/dist/core/services/llm-service.d.ts.map +1 -1
- package/dist/core/services/llm-service.js +94 -2
- package/dist/core/services/llm-service.js.map +1 -1
- 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-watcher.js +1 -1
- package/dist/core/services/mcp-watcher.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/viewer/InteractiveGraphViewer.jsx +6 -2
- package/src/viewer/components/ClassGraph.jsx +97 -14
- package/src/viewer/components/FlatGraph.jsx +3 -3
- package/src/viewer/utils/graph-helpers.js +8 -0
package/README.md
CHANGED
|
@@ -89,9 +89,10 @@ npm run dev
|
|
|
89
89
|
|
|
90
90
|
Scans your codebase using pure static analysis:
|
|
91
91
|
- Walks the directory tree, respects .gitignore, scores files by significance
|
|
92
|
-
- Parses imports and exports to build a dependency graph (TypeScript, JavaScript, Python, Go, Rust, Ruby, Java, C
|
|
92
|
+
- Parses imports and exports to build a dependency graph (TypeScript, JavaScript, Python, Go, Rust, Ruby, Java, C++, Swift)
|
|
93
93
|
- Detects HTTP cross-language edges: matches `fetch`/`axios`/`ky`/`got` calls in JS/TS files to FastAPI/Flask/Django route definitions in Python files, creating cross-language dependency edges with `exact`, `path`, or `fuzzy` confidence
|
|
94
94
|
- Resolves Python absolute imports (`from services.retriever import X`) to local files
|
|
95
|
+
- Synthesizes cross-file dependency edges from call-graph data for languages without file-level imports (Swift, C++), so the dependency graph and viewer are meaningful even in single-module projects
|
|
95
96
|
- Clusters related files into structural business domains automatically
|
|
96
97
|
- Produces structured context that makes LLM generation more accurate
|
|
97
98
|
|
|
@@ -308,14 +309,18 @@ spec-gen drift --no-color # Plain output for CI logs
|
|
|
308
309
|
|
|
309
310
|
## LLM Providers
|
|
310
311
|
|
|
311
|
-
spec-gen supports
|
|
312
|
+
spec-gen supports eight providers. The default is Anthropic Claude.
|
|
312
313
|
|
|
313
314
|
| Provider | `provider` value | API key env var | Default model |
|
|
314
315
|
|----------|-----------------|-----------------|---------------|
|
|
315
316
|
| Anthropic Claude | `anthropic` *(default)* | `ANTHROPIC_API_KEY` | `claude-sonnet-4-20250514` |
|
|
316
317
|
| OpenAI | `openai` | `OPENAI_API_KEY` | `gpt-4o` |
|
|
317
318
|
| OpenAI-compatible *(Mistral, Groq, Ollama...)* | `openai-compat` | `OPENAI_COMPAT_API_KEY` | `mistral-large-latest` |
|
|
319
|
+
| GitHub Copilot *(via copilot-api proxy)* | `copilot` | *(none)* | `gpt-4o` |
|
|
318
320
|
| Google Gemini | `gemini` | `GEMINI_API_KEY` | `gemini-2.0-flash` |
|
|
321
|
+
| Gemini CLI | `gemini-cli` | *(none)* | *(CLI default)* |
|
|
322
|
+
| Claude Code | `claude-code` | *(none)* | *(CLI default)* |
|
|
323
|
+
| Mistral Vibe | `mistral-vibe` | *(none)* | *(CLI default)* |
|
|
319
324
|
|
|
320
325
|
### Selecting a provider
|
|
321
326
|
|
|
@@ -378,6 +383,57 @@ Or in `config.json`:
|
|
|
378
383
|
Works with: Ollama, LM Studio, Mistral AI, Groq, Together AI, LiteLLM, vLLM,
|
|
379
384
|
text-generation-inference, LocalAI, Azure OpenAI, and any `/v1/chat/completions` server.
|
|
380
385
|
|
|
386
|
+
### GitHub Copilot (via copilot-api proxy)
|
|
387
|
+
|
|
388
|
+
Use `provider: "copilot"` to generate specs using your GitHub Copilot subscription via the
|
|
389
|
+
[copilot-api](https://github.com/ericc-ch/copilot-api) proxy, which exposes an OpenAI-compatible
|
|
390
|
+
endpoint from your Copilot credentials.
|
|
391
|
+
|
|
392
|
+
**Setup:**
|
|
393
|
+
1. Install and start the copilot-api proxy:
|
|
394
|
+
```bash
|
|
395
|
+
npx copilot-api
|
|
396
|
+
```
|
|
397
|
+
By default it listens on `http://localhost:4141`.
|
|
398
|
+
|
|
399
|
+
2. Configure spec-gen:
|
|
400
|
+
```json
|
|
401
|
+
{
|
|
402
|
+
"generation": {
|
|
403
|
+
"provider": "copilot",
|
|
404
|
+
"model": "gpt-4o",
|
|
405
|
+
"domains": "auto"
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
**Environment variables** (optional):
|
|
411
|
+
```bash
|
|
412
|
+
export COPILOT_API_BASE_URL=http://localhost:4141/v1 # default
|
|
413
|
+
export COPILOT_API_KEY=copilot # default, only needed if proxy requires auth
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
No API key is required — the copilot-api proxy handles authentication via your GitHub Copilot session.
|
|
417
|
+
|
|
418
|
+
### CLI-based providers (no API key)
|
|
419
|
+
|
|
420
|
+
Three providers route LLM calls through local CLI tools instead of HTTP APIs. No API key or configuration is needed — just have the CLI installed and on your PATH.
|
|
421
|
+
|
|
422
|
+
| Provider | CLI binary | Install |
|
|
423
|
+
|----------|-----------|---------|
|
|
424
|
+
| `claude-code` | `claude` | [Claude Code](https://docs.anthropic.com/en/docs/claude-code) (requires Claude Max/Pro subscription) |
|
|
425
|
+
| `gemini-cli` | `gemini` | [Gemini CLI](https://github.com/google-gemini/gemini-cli) (free tier with Google account) |
|
|
426
|
+
| `mistral-vibe` | `vibe` | [Mistral Vibe](https://github.com/mistralai/mistral-vibe) (standalone binary) |
|
|
427
|
+
|
|
428
|
+
```json
|
|
429
|
+
{
|
|
430
|
+
"generation": {
|
|
431
|
+
"provider": "claude-code",
|
|
432
|
+
"domains": "auto"
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
```
|
|
436
|
+
|
|
381
437
|
### Custom base URL for Anthropic or OpenAI
|
|
382
438
|
|
|
383
439
|
To redirect the built-in Anthropic or OpenAI provider to a proxy or self-hosted endpoint:
|
|
@@ -735,7 +791,7 @@ All tools run on **pure static analysis** -- no LLM quota consumed.
|
|
|
735
791
|
| Tool | Description | Requires prior analysis |
|
|
736
792
|
|------|-------------|:---:|
|
|
737
793
|
| `analyze_codebase` | Run full static analysis: repo structure, dependency graph, call graph (hub functions, entry points, layer violations), and top refactoring priorities. Results cached for 1 hour (`force: true` to bypass). | No |
|
|
738
|
-
| `get_call_graph` | Hub functions (high fan-in), entry points (no internal callers), and architectural layer violations. Supports TypeScript, JavaScript, Python, Go, Rust, Ruby, Java, C
|
|
794
|
+
| `get_call_graph` | Hub functions (high fan-in), entry points (no internal callers), and architectural layer violations. Supports TypeScript, JavaScript, Python, Go, Rust, Ruby, Java, C++, Swift. | Yes |
|
|
739
795
|
| `get_signatures` | Compact function/class signatures per file. Filter by path substring with `filePattern`. Useful for understanding a module's public API without reading full source. | Yes |
|
|
740
796
|
| `get_duplicate_report` | Detect duplicate code: Type 1 (exact clones), Type 2 (structural -- renamed variables), Type 3 (near-clones with Jaccard similarity >= 0.7). Groups sorted by impact. | Yes |
|
|
741
797
|
|
|
@@ -1012,9 +1068,11 @@ spec-gen view --spec <path> # custom spec dir (default: ./openspec/specs/
|
|
|
1012
1068
|
|
|
1013
1069
|
| View | Description |
|
|
1014
1070
|
|------|-------------|
|
|
1015
|
-
| **Clusters** | Colour-coded architectural clusters with expandable member nodes |
|
|
1016
|
-
| **Flat** | Force-directed dependency graph (all nodes) |
|
|
1071
|
+
| **Clusters** | Colour-coded architectural clusters with expandable member nodes. Falls back to directory clusters for languages without import edges (Swift, C++) |
|
|
1072
|
+
| **Flat** | Force-directed dependency graph (all nodes). Import edges are solid; call edges (Swift/C++ synthesised, or HTTP cross-language) are cyan dashed |
|
|
1073
|
+
| **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 |
|
|
1017
1074
|
| **Architecture** | High-level cluster map: role-coloured boxes, inter-cluster dependency arrows |
|
|
1075
|
+
| **Classes** | Component-aware force layout of class/struct relationships with coloured groupings |
|
|
1018
1076
|
|
|
1019
1077
|
### Diagram Chat
|
|
1020
1078
|
|
|
@@ -1101,11 +1159,11 @@ Static analysis output is stored in `.spec-gen/analysis/`:
|
|
|
1101
1159
|
| File | Description |
|
|
1102
1160
|
|------|-------------|
|
|
1103
1161
|
| `repo-structure.json` | Project structure and metadata |
|
|
1104
|
-
| `dependency-graph.json` | Import/export relationships
|
|
1162
|
+
| `dependency-graph.json` | Import/export relationships, HTTP cross-language edges (JS/TS → Python), and synthesised call edges for Swift/C++ |
|
|
1105
1163
|
| `llm-context.json` | Context prepared for LLM (signatures, call graph) |
|
|
1106
1164
|
| `dependencies.mermaid` | Visual dependency graph |
|
|
1107
1165
|
| `SUMMARY.md` | Human-readable analysis summary |
|
|
1108
|
-
| `call-graph.json` | Function-level call graph (
|
|
1166
|
+
| `call-graph.json` | Function-level call graph (8 languages: TS/JS, Python, Go, Rust, Ruby, Java, C++, Swift) |
|
|
1109
1167
|
| `refactor-priorities.json` | Refactoring issues by file and function |
|
|
1110
1168
|
| `mapping.json` | Requirement->function mapping (produced by `generate`) |
|
|
1111
1169
|
| `vector-index/` | LanceDB semantic index (produced by `--embed`) |
|
|
@@ -1187,6 +1245,8 @@ The index is stored in `.spec-gen/analysis/vector-index/` and is automatically u
|
|
|
1187
1245
|
| `OPENAI_COMPAT_API_KEY` | `openai-compat` | API key for OpenAI-compatible server |
|
|
1188
1246
|
| `OPENAI_COMPAT_BASE_URL` | `openai-compat` | Base URL, e.g. `https://api.mistral.ai/v1` |
|
|
1189
1247
|
| `GEMINI_API_KEY` | `gemini` | Google Gemini API key |
|
|
1248
|
+
| `COPILOT_API_BASE_URL` | `copilot` | Base URL of the copilot-api proxy (default: `http://localhost:4141/v1`) |
|
|
1249
|
+
| `COPILOT_API_KEY` | `copilot` | API key if the proxy requires auth (default: `copilot`) |
|
|
1190
1250
|
| `EMBED_BASE_URL` | embedding | Base URL for the embedding API (e.g. `http://localhost:11434/v1`) |
|
|
1191
1251
|
| `EMBED_MODEL` | embedding | Embedding model name (e.g. `nomic-embed-text`) |
|
|
1192
1252
|
| `EMBED_API_KEY` | embedding | API key for the embedding service (defaults to `OPENAI_API_KEY`) |
|
|
@@ -1203,21 +1263,21 @@ The index is stored in `.spec-gen/analysis/vector-index/` and is automatically u
|
|
|
1203
1263
|
export OPENAI_COMPAT_API_KEY=ollama # OpenAI-compatible local server
|
|
1204
1264
|
export GEMINI_API_KEY=... # Google Gemini
|
|
1205
1265
|
```
|
|
1266
|
+
Or use a CLI-based provider (`claude-code`, `gemini-cli`, `mistral-vibe`) which requires no API key — just the CLI tool on your PATH.
|
|
1206
1267
|
- `analyze`, `drift`, and `init` require no API key
|
|
1207
1268
|
|
|
1208
1269
|
## Supported Languages
|
|
1209
1270
|
|
|
1210
|
-
| Language | Signatures | Call Graph |
|
|
1211
|
-
|
|
1212
|
-
| TypeScript / JavaScript | Full | Full |
|
|
1213
|
-
| Python | Full | Full |
|
|
1214
|
-
| Go | Full | Full |
|
|
1215
|
-
| Rust | Full | Full |
|
|
1216
|
-
| Ruby | Full | Full |
|
|
1217
|
-
| Java | Full | Full |
|
|
1218
|
-
| C++ | Full | Full |
|
|
1219
|
-
|
|
1220
|
-
TypeScript projects get the best results due to richer type information.
|
|
1271
|
+
| Language | Signatures | Call Graph | Notes |
|
|
1272
|
+
|----------|-----------|------------|-------|
|
|
1273
|
+
| TypeScript / JavaScript | Full | Full | Best results — rich type info |
|
|
1274
|
+
| Python | Full | Full | `self`/`cls` intra-class + import resolution |
|
|
1275
|
+
| Go | Full | Full | |
|
|
1276
|
+
| Rust | Full | Full | |
|
|
1277
|
+
| Ruby | Full | Full | |
|
|
1278
|
+
| Java | Full | Full | |
|
|
1279
|
+
| C++ | Full | Full | No intra-module imports — cross-file edges synthesised from call graph |
|
|
1280
|
+
| Swift | Full | Full | No intra-module imports — cross-file edges synthesised from call graph |
|
|
1221
1281
|
|
|
1222
1282
|
## Usage Options
|
|
1223
1283
|
|
|
@@ -1332,11 +1392,11 @@ for (const [key, req] of Object.entries(requirements)) {
|
|
|
1332
1392
|
npm install # Install dependencies
|
|
1333
1393
|
npm run dev # Development mode (watch)
|
|
1334
1394
|
npm run build # Build
|
|
1335
|
-
npm run test:run # Run tests (
|
|
1395
|
+
npm run test:run # Run tests (2059 unit tests)
|
|
1336
1396
|
npm run typecheck # Type check
|
|
1337
1397
|
```
|
|
1338
1398
|
|
|
1339
|
-
|
|
1399
|
+
2050+ unit tests covering static analysis, call graph (including Swift), refactor analysis, spec mapping, drift detection, LLM enhancement, ADR generation, MCP handlers, cross-file edge synthesis, and the full CLI.
|
|
1340
1400
|
|
|
1341
1401
|
## Links
|
|
1342
1402
|
|
|
@@ -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
|
}
|
|
@@ -68,18 +69,21 @@ export async function specGenGenerate(options = {}) {
|
|
|
68
69
|
const openaiKey = process.env.OPENAI_API_KEY;
|
|
69
70
|
const openaiCompatKey = process.env.OPENAI_COMPAT_API_KEY;
|
|
70
71
|
const geminiKey = process.env.GEMINI_API_KEY;
|
|
71
|
-
|
|
72
|
-
|
|
72
|
+
const configuredProvider = options.provider ?? specGenConfig.generation.provider;
|
|
73
|
+
const noKeyProviders = ['claude-code', 'mistral-vibe', 'copilot'];
|
|
74
|
+
if (!noKeyProviders.includes(configuredProvider ?? '') && !anthropicKey && !openaiKey && !openaiCompatKey && !geminiKey) {
|
|
75
|
+
throw new Error('No LLM API key found. Set ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, OPENAI_COMPAT_API_KEY, or use provider "copilot".');
|
|
73
76
|
}
|
|
74
77
|
const envDetectedProvider = anthropicKey ? 'anthropic'
|
|
75
78
|
: geminiKey ? 'gemini'
|
|
76
79
|
: openaiCompatKey ? 'openai-compat'
|
|
77
80
|
: 'openai';
|
|
78
|
-
const effectiveProvider =
|
|
81
|
+
const effectiveProvider = configuredProvider ?? envDetectedProvider;
|
|
79
82
|
const defaultModels = {
|
|
80
83
|
anthropic: DEFAULT_ANTHROPIC_MODEL,
|
|
81
84
|
gemini: DEFAULT_GEMINI_MODEL,
|
|
82
85
|
'openai-compat': DEFAULT_OPENAI_COMPAT_MODEL,
|
|
86
|
+
copilot: DEFAULT_COPILOT_MODEL,
|
|
83
87
|
openai: DEFAULT_OPENAI_MODEL,
|
|
84
88
|
};
|
|
85
89
|
const effectiveModel = options.model || specGenConfig.generation.model || defaultModels[effectiveProvider];
|
|
@@ -150,14 +154,47 @@ export async function specGenGenerate(options = {}) {
|
|
|
150
154
|
throw new Error(`Pipeline failed: ${error.message}`);
|
|
151
155
|
}
|
|
152
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
|
+
}
|
|
153
189
|
// Format specs
|
|
154
190
|
progress(onProgress, 'Formatting specifications', 'start');
|
|
155
191
|
const formatGenerator = new OpenSpecFormatGenerator({
|
|
156
192
|
version: specGenConfig.version,
|
|
157
193
|
includeConfidence: true,
|
|
158
194
|
includeTechnicalNotes: true,
|
|
195
|
+
depGraph,
|
|
159
196
|
});
|
|
160
|
-
let generatedSpecs = adrOnly ? [] : formatGenerator.generateSpecs(pipelineResult);
|
|
197
|
+
let generatedSpecs = adrOnly ? [] : formatGenerator.generateSpecs(pipelineResult, mappingArtifact);
|
|
161
198
|
// Filter by domains
|
|
162
199
|
if (!adrOnly && options.domains && options.domains.length > 0) {
|
|
163
200
|
const domainSet = new Set(options.domains.map(d => d.toLowerCase()));
|
|
@@ -186,36 +223,16 @@ export async function specGenGenerate(options = {}) {
|
|
|
186
223
|
});
|
|
187
224
|
const report = await writer.writeSpecs(generatedSpecs, pipelineResult.survey);
|
|
188
225
|
progress(onProgress, 'Writing OpenSpec files', 'complete', `${report.filesWritten.length} written`);
|
|
189
|
-
// Generate
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
embedSvc = EmbeddingService.fromEnv();
|
|
200
|
-
}
|
|
201
|
-
catch { /* no env config */ }
|
|
202
|
-
if (!embedSvc) {
|
|
203
|
-
const svc = EmbeddingService.fromConfig(specGenConfig);
|
|
204
|
-
if (svc)
|
|
205
|
-
embedSvc = svc;
|
|
206
|
-
}
|
|
207
|
-
if (embedSvc) {
|
|
208
|
-
const svc = embedSvc;
|
|
209
|
-
semanticSearch = (query, limit) => VectorIndex.search(analysisDir, query, svc, { limit });
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
const mapper = new MappingGenerator(rootPath, openspecRelPath, semanticSearch);
|
|
213
|
-
await mapper.generate(pipelineResult, depGraph);
|
|
214
|
-
progress(onProgress, 'Generating mapping artifact', 'complete');
|
|
215
|
-
}
|
|
216
|
-
catch {
|
|
217
|
-
// Non-fatal
|
|
218
|
-
}
|
|
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
|
|
219
236
|
}
|
|
220
237
|
// Save LLM logs
|
|
221
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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"}
|
package/dist/api/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/api/run.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiCH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAA+C,MAAM,YAAY,CAAC;AA0BxG;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/api/run.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiCH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAA+C,MAAM,YAAY,CAAC;AA0BxG;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,CA6ShF"}
|
package/dist/api/run.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { join } from 'node:path';
|
|
9
9
|
import { readFile, stat, mkdir, writeFile } from 'node:fs/promises';
|
|
10
|
-
import { ANALYSIS_REUSE_THRESHOLD_MS, DEFAULT_MAX_FILES, DEFAULT_ANTHROPIC_MODEL, DEFAULT_OPENAI_MODEL, DEFAULT_GEMINI_MODEL, DEFAULT_OPENAI_COMPAT_MODEL, SPEC_GEN_DIR, SPEC_GEN_ANALYSIS_SUBDIR, SPEC_GEN_LOGS_SUBDIR, SPEC_GEN_CONFIG_REL_PATH, SPEC_GEN_GENERATION_SUBDIR, SPEC_GEN_RUNS_SUBDIR, DEFAULT_OPENSPEC_PATH, ARTIFACT_REPO_STRUCTURE, ARTIFACT_DEPENDENCY_GRAPH, ARTIFACT_LLM_CONTEXT } from '../constants.js';
|
|
10
|
+
import { ANALYSIS_REUSE_THRESHOLD_MS, DEFAULT_MAX_FILES, DEFAULT_ANTHROPIC_MODEL, DEFAULT_OPENAI_MODEL, DEFAULT_GEMINI_MODEL, DEFAULT_OPENAI_COMPAT_MODEL, DEFAULT_COPILOT_MODEL, SPEC_GEN_DIR, SPEC_GEN_ANALYSIS_SUBDIR, SPEC_GEN_LOGS_SUBDIR, SPEC_GEN_CONFIG_REL_PATH, SPEC_GEN_GENERATION_SUBDIR, SPEC_GEN_RUNS_SUBDIR, DEFAULT_OPENSPEC_PATH, ARTIFACT_REPO_STRUCTURE, ARTIFACT_DEPENDENCY_GRAPH, ARTIFACT_LLM_CONTEXT } from '../constants.js';
|
|
11
11
|
import { fileExists, readJsonFile } from '../utils/command-helpers.js';
|
|
12
12
|
import { detectProjectType, getProjectTypeName, } from '../core/services/project-detector.js';
|
|
13
13
|
import { getDefaultConfig, readSpecGenConfig, writeSpecGenConfig, specGenConfigExists, openspecDirExists, createOpenSpecStructure, } from '../core/services/config-manager.js';
|
|
@@ -195,8 +195,9 @@ export async function specGenRun(options = {}) {
|
|
|
195
195
|
const openaiKey = process.env.OPENAI_API_KEY;
|
|
196
196
|
const openaiCompatKey = process.env.OPENAI_COMPAT_API_KEY;
|
|
197
197
|
const geminiKey = process.env.GEMINI_API_KEY;
|
|
198
|
-
|
|
199
|
-
|
|
198
|
+
const noKeyProviders = ['claude-code', 'mistral-vibe', 'copilot'];
|
|
199
|
+
if (!noKeyProviders.includes(options.provider ?? '') && !anthropicKey && !openaiKey && !openaiCompatKey && !geminiKey) {
|
|
200
|
+
throw new Error('No LLM API key found. Set ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, OPENAI_COMPAT_API_KEY, or use provider "copilot".');
|
|
200
201
|
}
|
|
201
202
|
// Create LLM service
|
|
202
203
|
const envDetectedProvider = anthropicKey ? 'anthropic'
|
|
@@ -208,6 +209,7 @@ export async function specGenRun(options = {}) {
|
|
|
208
209
|
anthropic: DEFAULT_ANTHROPIC_MODEL,
|
|
209
210
|
gemini: DEFAULT_GEMINI_MODEL,
|
|
210
211
|
'openai-compat': DEFAULT_OPENAI_COMPAT_MODEL,
|
|
212
|
+
copilot: DEFAULT_COPILOT_MODEL,
|
|
211
213
|
openai: DEFAULT_OPENAI_MODEL,
|
|
212
214
|
};
|
|
213
215
|
const model = options.model ?? defaultModels[provider] ?? DEFAULT_ANTHROPIC_MODEL;
|
package/dist/api/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/api/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/api/run.ts"],"names":[],"mappings":"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"}
|
package/dist/api/types.d.ts
CHANGED
|
@@ -76,7 +76,7 @@ export interface AnalyzeResult {
|
|
|
76
76
|
}
|
|
77
77
|
export interface GenerateApiOptions extends BaseOptions {
|
|
78
78
|
/** LLM provider to use */
|
|
79
|
-
provider?: 'anthropic' | 'openai' | 'openai-compat' | 'gemini';
|
|
79
|
+
provider?: 'anthropic' | 'openai' | 'openai-compat' | 'copilot' | 'gemini';
|
|
80
80
|
/** LLM model name */
|
|
81
81
|
model?: string;
|
|
82
82
|
/** Custom LLM API base URL */
|
|
@@ -107,7 +107,7 @@ export interface GenerateResult {
|
|
|
107
107
|
}
|
|
108
108
|
export interface VerifyApiOptions extends BaseOptions {
|
|
109
109
|
/** LLM provider to use */
|
|
110
|
-
provider?: 'anthropic' | 'openai' | 'openai-compat' | 'gemini';
|
|
110
|
+
provider?: 'anthropic' | 'openai' | 'openai-compat' | 'copilot' | 'gemini';
|
|
111
111
|
/** LLM model name */
|
|
112
112
|
model?: string;
|
|
113
113
|
/** Custom LLM API base URL */
|
|
@@ -137,7 +137,7 @@ export interface DriftApiOptions extends BaseOptions {
|
|
|
137
137
|
/** Use LLM for deeper semantic comparison */
|
|
138
138
|
llmEnhanced?: boolean;
|
|
139
139
|
/** LLM provider (required if llmEnhanced is true) */
|
|
140
|
-
provider?: 'anthropic' | 'openai' | 'openai-compat' | 'gemini';
|
|
140
|
+
provider?: 'anthropic' | 'openai' | 'openai-compat' | 'copilot' | 'gemini';
|
|
141
141
|
/** LLM model name (used when llmEnhanced is true) */
|
|
142
142
|
model?: string;
|
|
143
143
|
/** Custom LLM API base URL */
|
|
@@ -157,7 +157,7 @@ export interface RunApiOptions extends BaseOptions {
|
|
|
157
157
|
/** Force fresh analysis even if recent exists */
|
|
158
158
|
reanalyze?: boolean;
|
|
159
159
|
/** LLM provider to use */
|
|
160
|
-
provider?: 'anthropic' | 'openai' | 'openai-compat' | 'gemini';
|
|
160
|
+
provider?: 'anthropic' | 'openai' | 'openai-compat' | 'copilot' | 'gemini';
|
|
161
161
|
/** LLM model name */
|
|
162
162
|
model?: string;
|
|
163
163
|
/** Custom LLM API base URL */
|
package/dist/api/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAChG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGpE,YAAY,EAAE,iBAAiB,IAAI,aAAa,EAAE,CAAC;AACnD,YAAY,EAAE,qBAAqB,EAAE,CAAC;AACtC,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAClC,YAAY,EAAE,cAAc,EAAE,CAAC;AAC/B,YAAY,EAAE,gBAAgB,EAAE,CAAC;AACjC,YAAY,EAAE,kBAAkB,EAAE,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;AAM3C,2DAA2D;AAC3D,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC5B,qFAAqF;IACrF,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;IACnD,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,+CAA+C;AAC/C,MAAM,WAAW,WAAW;IAC1B,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAMD,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,uCAAuC;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,OAAO,EAAE,OAAO,CAAC;CAClB;AAMD,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,0CAA0C;IAC1C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,uDAAuD;IACvD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,qBAAqB,CAAC;IAChC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,eAAe,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.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_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
|
|
@@ -245,14 +246,14 @@ Each spec.md follows OpenSpec conventions:
|
|
|
245
246
|
: 'openai';
|
|
246
247
|
const rootConfig = specGenConfig;
|
|
247
248
|
const effectiveProvider = (specGenConfig.generation.provider ?? rootConfig['provider'] ?? envDetectedProvider);
|
|
248
|
-
if (effectiveProvider !== 'claude-code' && effectiveProvider !== 'mistral-vibe' && !anthropicKey && !openaiKey && !openaiCompatKey && !geminiKey) {
|
|
249
|
+
if (effectiveProvider !== 'claude-code' && effectiveProvider !== 'mistral-vibe' && effectiveProvider !== 'copilot' && !anthropicKey && !openaiKey && !openaiCompatKey && !geminiKey) {
|
|
249
250
|
logger.error('No LLM API key found.');
|
|
250
251
|
logger.discovery('Set one of the following environment variables:');
|
|
251
252
|
logger.discovery(' ANTHROPIC_API_KEY → https://console.anthropic.com/');
|
|
252
253
|
logger.discovery(' OPENAI_API_KEY → https://platform.openai.com/');
|
|
253
254
|
logger.discovery(' GEMINI_API_KEY → https://aistudio.google.com/');
|
|
254
255
|
logger.discovery(' OPENAI_COMPAT_API_KEY + OPENAI_COMPAT_BASE_URL → Mistral, Groq, Ollama...');
|
|
255
|
-
logger.discovery(' Or set provider to "claude-code"
|
|
256
|
+
logger.discovery(' Or set provider to "claude-code", "mistral-vibe", or "copilot" (no API key needed).');
|
|
256
257
|
process.exitCode = 1;
|
|
257
258
|
return;
|
|
258
259
|
}
|
|
@@ -261,6 +262,7 @@ Each spec.md follows OpenSpec conventions:
|
|
|
261
262
|
anthropic: DEFAULT_ANTHROPIC_MODEL,
|
|
262
263
|
gemini: DEFAULT_GEMINI_MODEL,
|
|
263
264
|
'openai-compat': DEFAULT_OPENAI_COMPAT_MODEL,
|
|
265
|
+
copilot: DEFAULT_COPILOT_MODEL,
|
|
264
266
|
openai: DEFAULT_OPENAI_MODEL,
|
|
265
267
|
'claude-code': 'claude-code',
|
|
266
268
|
'mistral-vibe': 'mistral-vibe',
|
|
@@ -430,13 +432,26 @@ Each spec.md follows OpenSpec conventions:
|
|
|
430
432
|
// PHASE 5: FORMAT AND WRITE SPECS
|
|
431
433
|
// ========================================================================
|
|
432
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
|
+
}
|
|
433
447
|
// Generate formatted specs
|
|
434
448
|
const formatGenerator = new OpenSpecFormatGenerator({
|
|
435
449
|
version: specGenConfig.version,
|
|
436
450
|
includeConfidence: true,
|
|
437
451
|
includeTechnicalNotes: true,
|
|
452
|
+
depGraph,
|
|
438
453
|
});
|
|
439
|
-
let generatedSpecs = opts.adrOnly ? [] : formatGenerator.generateSpecs(pipelineResult);
|
|
454
|
+
let generatedSpecs = opts.adrOnly ? [] : formatGenerator.generateSpecs(pipelineResult, mappingArtifact);
|
|
440
455
|
// Filter by domains if specified
|
|
441
456
|
if (!opts.adrOnly && opts.domains.length > 0) {
|
|
442
457
|
const domainSet = new Set(opts.domains.map(d => d.toLowerCase()));
|
|
@@ -493,16 +508,16 @@ Each spec.md follows OpenSpec conventions:
|
|
|
493
508
|
process.exitCode = 1;
|
|
494
509
|
return;
|
|
495
510
|
}
|
|
496
|
-
// Generate
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
}
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
}
|
|
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}`);
|
|
506
521
|
}
|
|
507
522
|
// ========================================================================
|
|
508
523
|
// PHASE 6: POST-GENERATION
|