openlore 2.0.8 → 2.0.9
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 +39 -6
- package/dist/api/init.d.ts.map +1 -1
- package/dist/api/init.js +9 -2
- package/dist/api/init.js.map +1 -1
- package/dist/cli/commands/analyze.d.ts.map +1 -1
- package/dist/cli/commands/analyze.js +5 -3
- package/dist/cli/commands/analyze.js.map +1 -1
- package/dist/cli/commands/decisions.d.ts +0 -1
- package/dist/cli/commands/decisions.d.ts.map +1 -1
- package/dist/cli/commands/decisions.js +19 -31
- package/dist/cli/commands/decisions.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +85 -23
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +16 -3
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/mcp.d.ts +85 -0
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +69 -53
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/orient.d.ts.map +1 -1
- package/dist/cli/commands/orient.js +14 -2
- package/dist/cli/commands/orient.js.map +1 -1
- package/dist/cli/commands/prove.d.ts +29 -0
- package/dist/cli/commands/prove.d.ts.map +1 -0
- package/dist/cli/commands/prove.js +160 -0
- package/dist/cli/commands/prove.js.map +1 -0
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +5 -3
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/install/adapters/claude-code.d.ts +8 -2
- package/dist/cli/install/adapters/claude-code.d.ts.map +1 -1
- package/dist/cli/install/adapters/claude-code.js +99 -35
- package/dist/cli/install/adapters/claude-code.js.map +1 -1
- package/dist/cli/install/detect.d.ts.map +1 -1
- package/dist/cli/install/detect.js +14 -0
- package/dist/cli/install/detect.js.map +1 -1
- package/dist/cli/install/templates/agent-instructions.md +4 -2
- package/dist/constants.d.ts +10 -3
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +10 -3
- package/dist/constants.js.map +1 -1
- package/dist/core/agent-eval/measure.d.ts +57 -0
- package/dist/core/agent-eval/measure.d.ts.map +1 -0
- package/dist/core/agent-eval/measure.js +85 -0
- package/dist/core/agent-eval/measure.js.map +1 -0
- package/dist/core/agent-eval/scorecard.d.ts +37 -0
- package/dist/core/agent-eval/scorecard.d.ts.map +1 -0
- package/dist/core/agent-eval/scorecard.js +70 -0
- package/dist/core/agent-eval/scorecard.js.map +1 -0
- package/dist/core/agent-eval/tasks.d.ts +37 -0
- package/dist/core/agent-eval/tasks.d.ts.map +1 -0
- package/dist/core/agent-eval/tasks.js +76 -0
- package/dist/core/agent-eval/tasks.js.map +1 -0
- package/dist/core/analyzer/architecture-writer.d.ts +5 -3
- package/dist/core/analyzer/architecture-writer.d.ts.map +1 -1
- package/dist/core/analyzer/architecture-writer.js +6 -4
- package/dist/core/analyzer/architecture-writer.js.map +1 -1
- package/dist/core/analyzer/call-graph.d.ts.map +1 -1
- package/dist/core/analyzer/call-graph.js +3 -1
- package/dist/core/analyzer/call-graph.js.map +1 -1
- package/dist/core/analyzer/spec-vector-index.d.ts.map +1 -1
- package/dist/core/analyzer/spec-vector-index.js +6 -2
- package/dist/core/analyzer/spec-vector-index.js.map +1 -1
- package/dist/core/services/config-manager.d.ts +17 -0
- package/dist/core/services/config-manager.d.ts.map +1 -1
- package/dist/core/services/config-manager.js +35 -1
- package/dist/core/services/config-manager.js.map +1 -1
- package/dist/core/services/mcp-handlers/orient.d.ts +1 -1
- package/dist/core/services/mcp-handlers/orient.d.ts.map +1 -1
- package/dist/core/services/mcp-handlers/orient.js +146 -109
- package/dist/core/services/mcp-handlers/orient.js.map +1 -1
- package/dist/core/services/mcp-handlers/progressive.d.ts +46 -0
- package/dist/core/services/mcp-handlers/progressive.d.ts.map +1 -0
- package/dist/core/services/mcp-handlers/progressive.js +0 -0
- package/dist/core/services/mcp-handlers/progressive.js.map +1 -0
- package/dist/core/services/mcp-handlers/semantic.d.ts +1 -1
- package/dist/core/services/mcp-handlers/semantic.d.ts.map +1 -1
- package/dist/core/services/mcp-handlers/semantic.js +39 -26
- package/dist/core/services/mcp-handlers/semantic.js.map +1 -1
- package/dist/core/services/mcp-watcher.d.ts +7 -0
- package/dist/core/services/mcp-watcher.d.ts.map +1 -1
- package/dist/core/services/mcp-watcher.js +38 -1
- package/dist/core/services/mcp-watcher.js.map +1 -1
- package/dist/core/services/project-detector.d.ts.map +1 -1
- package/dist/core/services/project-detector.js +45 -2
- package/dist/core/services/project-detector.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,28 +5,31 @@
|
|
|
5
5
|
* fixes when something is misconfigured or missing.
|
|
6
6
|
*/
|
|
7
7
|
import { Command } from 'commander';
|
|
8
|
-
import { access, stat } from 'node:fs/promises';
|
|
8
|
+
import { access, stat, readFile } from 'node:fs/promises';
|
|
9
9
|
import { join } from 'node:path';
|
|
10
10
|
import { execFile } from 'node:child_process';
|
|
11
11
|
import { promisify } from 'node:util';
|
|
12
12
|
import { logger } from '../../utils/logger.js';
|
|
13
13
|
import { readOpenLoreConfig } from '../../core/services/config-manager.js';
|
|
14
14
|
import { createLLMService } from '../../core/services/llm-service.js';
|
|
15
|
-
import { MIN_NODE_MAJOR_VERSION, ANALYSIS_AGE_WARNING_HOURS, MIN_DISK_SPACE_FAIL_MB, MIN_DISK_SPACE_WARN_MB, OPENLORE_DIR, OPENLORE_ANALYSIS_SUBDIR, OPENLORE_CONFIG_FILENAME, OPENLORE_CONFIG_REL_PATH, OPENSPEC_DIR, OPENSPEC_SPECS_SUBDIR, ARTIFACT_REPO_STRUCTURE, DEFAULT_ANTHROPIC_MODEL, DEFAULT_OPENAI_MODEL, DEFAULT_OPENAI_COMPAT_MODEL, DEFAULT_GEMINI_MODEL, DEFAULT_COPILOT_MODEL, } from '../../constants.js';
|
|
15
|
+
import { MIN_NODE_MAJOR_VERSION, MIN_NODE_MINOR_VERSION, ANALYSIS_AGE_WARNING_HOURS, MIN_DISK_SPACE_FAIL_MB, MIN_DISK_SPACE_WARN_MB, OPENLORE_DIR, OPENLORE_ANALYSIS_SUBDIR, OPENLORE_CONFIG_FILENAME, OPENLORE_CONFIG_REL_PATH, OPENSPEC_DIR, OPENSPEC_SPECS_SUBDIR, ARTIFACT_REPO_STRUCTURE, DEFAULT_ANTHROPIC_MODEL, DEFAULT_OPENAI_MODEL, DEFAULT_OPENAI_COMPAT_MODEL, DEFAULT_GEMINI_MODEL, DEFAULT_COPILOT_MODEL, } from '../../constants.js';
|
|
16
16
|
const execFileAsync = promisify(execFile);
|
|
17
17
|
// ============================================================================
|
|
18
18
|
// INDIVIDUAL CHECKS
|
|
19
19
|
// ============================================================================
|
|
20
20
|
async function checkNodeVersion() {
|
|
21
|
-
const [major] = process.versions.node.split('.').map(Number);
|
|
22
|
-
|
|
21
|
+
const [major, minor] = process.versions.node.split('.').map(Number);
|
|
22
|
+
const min = `${MIN_NODE_MAJOR_VERSION}.${MIN_NODE_MINOR_VERSION}`;
|
|
23
|
+
const ok = major > MIN_NODE_MAJOR_VERSION ||
|
|
24
|
+
(major === MIN_NODE_MAJOR_VERSION && minor >= MIN_NODE_MINOR_VERSION);
|
|
25
|
+
if (ok) {
|
|
23
26
|
return { name: 'Node.js version', status: 'ok', detail: `v${process.versions.node}` };
|
|
24
27
|
}
|
|
25
28
|
return {
|
|
26
29
|
name: 'Node.js version',
|
|
27
30
|
status: 'fail',
|
|
28
|
-
detail: `v${process.versions.node} (requires >=${
|
|
29
|
-
fix: `
|
|
31
|
+
detail: `v${process.versions.node} (requires >=${min} for node:sqlite)`,
|
|
32
|
+
fix: `Switch to Node ${min}+ (\`nvm use ${MIN_NODE_MAJOR_VERSION}\`) or install from https://nodejs.org/ — a .nvmrc pinned to an older Node will crash the MCP server`,
|
|
30
33
|
};
|
|
31
34
|
}
|
|
32
35
|
async function checkGit(rootPath) {
|
|
@@ -107,20 +110,75 @@ async function checkAnalysis(rootPath) {
|
|
|
107
110
|
}
|
|
108
111
|
}
|
|
109
112
|
async function checkOpenSpecDir(rootPath) {
|
|
110
|
-
|
|
113
|
+
// Read the *configured* openspecPath rather than assuming the default — a
|
|
114
|
+
// project may point OpenLore at docs/specs/ or another root (Spec 26 B5).
|
|
115
|
+
let configuredRoot = OPENSPEC_DIR;
|
|
116
|
+
try {
|
|
117
|
+
const config = await readOpenLoreConfig(rootPath);
|
|
118
|
+
if (config?.openspecPath)
|
|
119
|
+
configuredRoot = config.openspecPath;
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
/* no config — fall back to the default */
|
|
123
|
+
}
|
|
124
|
+
const specsDir = join(rootPath, configuredRoot, OPENSPEC_SPECS_SUBDIR);
|
|
125
|
+
const rel = `${configuredRoot.replace(/^\.\//, '').replace(/\/$/, '')}/${OPENSPEC_SPECS_SUBDIR}/`;
|
|
111
126
|
try {
|
|
112
127
|
await access(specsDir);
|
|
113
|
-
return { name: 'OpenSpec directory', status: 'ok', detail:
|
|
128
|
+
return { name: 'OpenSpec directory', status: 'ok', detail: `${rel} exists` };
|
|
114
129
|
}
|
|
115
130
|
catch {
|
|
116
131
|
return {
|
|
117
132
|
name: 'OpenSpec directory',
|
|
118
133
|
status: 'warn',
|
|
119
|
-
detail:
|
|
134
|
+
detail: `${rel} not found`,
|
|
120
135
|
fix: "Run 'openlore init' then 'openlore generate'",
|
|
121
136
|
};
|
|
122
137
|
}
|
|
123
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Claude Code loads MCP servers only from `.mcp.json` (project scope), never
|
|
141
|
+
* from `.claude/settings.json`. A stale `mcpServers.openlore` in settings.json
|
|
142
|
+
* (written by OpenLore <= 2.0.8) means the server silently never loads. Catch
|
|
143
|
+
* that wrong-file wiring and point at the one-line fix. Returns null when there
|
|
144
|
+
* is no Claude Code MCP wiring to check.
|
|
145
|
+
*/
|
|
146
|
+
async function checkMcpWiring(rootPath) {
|
|
147
|
+
const readJson = async (rel) => {
|
|
148
|
+
try {
|
|
149
|
+
const parsed = JSON.parse(await readFile(join(rootPath, rel), 'utf8'));
|
|
150
|
+
return parsed && typeof parsed === 'object' && !Array.isArray(parsed)
|
|
151
|
+
? parsed
|
|
152
|
+
: null;
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
const hasOpenlore = (doc) => !!doc?.mcpServers?.openlore;
|
|
159
|
+
const inSettings = hasOpenlore(await readJson('.claude/settings.json'));
|
|
160
|
+
const inMcp = hasOpenlore(await readJson('.mcp.json'));
|
|
161
|
+
if (inSettings && !inMcp) {
|
|
162
|
+
return {
|
|
163
|
+
name: 'MCP wiring',
|
|
164
|
+
status: 'warn',
|
|
165
|
+
detail: 'openlore MCP server is in .claude/settings.json, which Claude Code never reads for MCP',
|
|
166
|
+
fix: "Run 'openlore install --agent claude-code --force' to move it to .mcp.json",
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
if (inSettings && inMcp) {
|
|
170
|
+
return {
|
|
171
|
+
name: 'MCP wiring',
|
|
172
|
+
status: 'warn',
|
|
173
|
+
detail: 'stale openlore entry still in .claude/settings.json (Claude Code reads .mcp.json)',
|
|
174
|
+
fix: "Run 'openlore install --agent claude-code --force' to remove the stale entry",
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
if (inMcp) {
|
|
178
|
+
return { name: 'MCP wiring', status: 'ok', detail: '.mcp.json registers the openlore MCP server' };
|
|
179
|
+
}
|
|
180
|
+
return null;
|
|
181
|
+
}
|
|
124
182
|
const CLI_PROVIDERS = {
|
|
125
183
|
'claude-code': 'claude',
|
|
126
184
|
'gemini-cli': 'gemini',
|
|
@@ -167,9 +225,9 @@ async function checkLLMConnection(rootPath) {
|
|
|
167
225
|
catch {
|
|
168
226
|
return {
|
|
169
227
|
name: 'LLM connection',
|
|
170
|
-
status: '
|
|
228
|
+
status: 'warn',
|
|
171
229
|
detail: `${provider} · '${bin}' not found on PATH`,
|
|
172
|
-
fix: `Install the ${bin} CLI
|
|
230
|
+
fix: `Optional — only 'openlore generate' needs an LLM. Install the ${bin} CLI to enable it`,
|
|
173
231
|
};
|
|
174
232
|
}
|
|
175
233
|
}
|
|
@@ -193,9 +251,9 @@ async function checkLLMConnection(rootPath) {
|
|
|
193
251
|
catch (err) {
|
|
194
252
|
return {
|
|
195
253
|
name: 'LLM connection',
|
|
196
|
-
status: '
|
|
254
|
+
status: 'warn',
|
|
197
255
|
detail: `${provider} · ${err.message}`,
|
|
198
|
-
fix: '
|
|
256
|
+
fix: 'Optional — set the provider API key only if you use \'openlore generate\'',
|
|
199
257
|
};
|
|
200
258
|
}
|
|
201
259
|
const t0 = Date.now();
|
|
@@ -213,9 +271,9 @@ async function checkLLMConnection(rootPath) {
|
|
|
213
271
|
const msg = err.message ?? String(err);
|
|
214
272
|
return {
|
|
215
273
|
name: 'LLM connection',
|
|
216
|
-
status: '
|
|
274
|
+
status: 'warn',
|
|
217
275
|
detail: `${provider} · ${msg} (${ms}ms)`,
|
|
218
|
-
fix: 'Check
|
|
276
|
+
fix: 'Optional — needed only for \'openlore generate\'. Check API key, base URL, and connectivity',
|
|
219
277
|
};
|
|
220
278
|
}
|
|
221
279
|
}
|
|
@@ -251,9 +309,9 @@ async function checkEmbeddingConnection(rootPath) {
|
|
|
251
309
|
const body = (await response.text().catch(() => '')).trim() || '(empty)';
|
|
252
310
|
return {
|
|
253
311
|
name: 'Embedding connection',
|
|
254
|
-
status: '
|
|
312
|
+
status: 'warn',
|
|
255
313
|
detail: `HTTP ${response.status}: ${body} (${ms}ms)`,
|
|
256
|
-
fix: 'Check
|
|
314
|
+
fix: 'Optional — search/orient fall back to BM25 without embeddings. Check the server URL, API key, and that it is running',
|
|
257
315
|
};
|
|
258
316
|
}
|
|
259
317
|
const data = await response.json();
|
|
@@ -269,9 +327,9 @@ async function checkEmbeddingConnection(rootPath) {
|
|
|
269
327
|
const msg = err.message ?? String(err);
|
|
270
328
|
return {
|
|
271
329
|
name: 'Embedding connection',
|
|
272
|
-
status: '
|
|
330
|
+
status: 'warn',
|
|
273
331
|
detail: `${url} · ${msg} (${ms}ms)`,
|
|
274
|
-
fix: '
|
|
332
|
+
fix: 'Optional — search/orient fall back to BM25. Start the embedding server (npm run embed:up) and check the URL',
|
|
275
333
|
};
|
|
276
334
|
}
|
|
277
335
|
}
|
|
@@ -339,11 +397,12 @@ Examples:
|
|
|
339
397
|
$ openlore doctor --json Output results as JSON
|
|
340
398
|
|
|
341
399
|
Checks performed:
|
|
342
|
-
• Node.js version (>=${MIN_NODE_MAJOR_VERSION} required)
|
|
400
|
+
• Node.js version (>=${MIN_NODE_MAJOR_VERSION}.${MIN_NODE_MINOR_VERSION} required for node:sqlite)
|
|
343
401
|
• Git repository detection
|
|
344
402
|
• openlore configuration (${OPENLORE_CONFIG_REL_PATH})
|
|
345
403
|
• Analysis artifacts freshness
|
|
346
404
|
• OpenSpec directory presence
|
|
405
|
+
• MCP wiring (Claude Code reads .mcp.json, not .claude/settings.json)
|
|
347
406
|
• LLM connection (live request with 10s timeout)
|
|
348
407
|
• Embedding connection (if configured)
|
|
349
408
|
• Available disk space
|
|
@@ -356,7 +415,7 @@ Checks performed:
|
|
|
356
415
|
logger.section('openlore doctor');
|
|
357
416
|
console.log('');
|
|
358
417
|
}
|
|
359
|
-
const [staticChecks, llmCheck, embeddingCheck] = await Promise.all([
|
|
418
|
+
const [staticChecks, mcpCheck, llmCheck, embeddingCheck] = await Promise.all([
|
|
360
419
|
Promise.all([
|
|
361
420
|
checkNodeVersion(),
|
|
362
421
|
checkGit(rootPath),
|
|
@@ -365,11 +424,13 @@ Checks performed:
|
|
|
365
424
|
checkOpenSpecDir(rootPath),
|
|
366
425
|
checkDiskSpace(rootPath),
|
|
367
426
|
]),
|
|
427
|
+
checkMcpWiring(rootPath),
|
|
368
428
|
checkLLMConnection(rootPath),
|
|
369
429
|
checkEmbeddingConnection(rootPath),
|
|
370
430
|
]);
|
|
371
431
|
const checks = [
|
|
372
432
|
...staticChecks,
|
|
433
|
+
...(mcpCheck ? [mcpCheck] : []),
|
|
373
434
|
llmCheck,
|
|
374
435
|
...(embeddingCheck ? [embeddingCheck] : []),
|
|
375
436
|
];
|
|
@@ -384,11 +445,12 @@ Checks performed:
|
|
|
384
445
|
const failures = checks.filter(c => c.status === 'fail');
|
|
385
446
|
const warnings = checks.filter(c => c.status === 'warn');
|
|
386
447
|
if (failures.length > 0) {
|
|
387
|
-
|
|
448
|
+
const warnSuffix = warnings.length > 0 ? `, ${warnings.length} warning(s)` : '';
|
|
449
|
+
logger.error(`${failures.length} check(s) failed${warnSuffix} — fix the failures above before proceeding`);
|
|
388
450
|
process.exitCode = 1;
|
|
389
451
|
}
|
|
390
452
|
else if (warnings.length > 0) {
|
|
391
|
-
logger.warning(`${warnings.length} warning(s) —
|
|
453
|
+
logger.warning(`${warnings.length} warning(s) — optional features (LLM generate, embeddings) may be limited`);
|
|
392
454
|
}
|
|
393
455
|
else {
|
|
394
456
|
logger.success('All checks passed!');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+BpC,eAAO,MAAM,WAAW,SAwMpB,CAAC"}
|
|
@@ -9,7 +9,7 @@ import { resolve, relative } from 'node:path';
|
|
|
9
9
|
import { confirm } from '@inquirer/prompts';
|
|
10
10
|
import { logger } from '../../utils/logger.js';
|
|
11
11
|
import { detectProjectType, getProjectTypeName, } from '../../core/services/project-detector.js';
|
|
12
|
-
import { getDefaultConfig, readOpenLoreConfig, writeOpenLoreConfig, openloreConfigExists, readOpenSpecConfig, openspecDirExists, openspecConfigExists, createOpenSpecStructure, } from '../../core/services/config-manager.js';
|
|
12
|
+
import { getDefaultConfig, readOpenLoreConfig, writeOpenLoreConfig, openloreConfigExists, readOpenSpecConfig, openspecDirExists, openspecConfigExists, createOpenSpecStructure, detectExistingSpecDir, } from '../../core/services/config-manager.js';
|
|
13
13
|
import { gitignoreExists, isInGitignore, addToGitignore, } from '../../core/services/gitignore-manager.js';
|
|
14
14
|
import { OPENLORE_DIR, OPENLORE_CONFIG_REL_PATH, DEFAULT_OPENSPEC_PATH, } from '../../constants.js';
|
|
15
15
|
export const initCommand = new Command('init')
|
|
@@ -34,7 +34,17 @@ After initialization, run 'openlore analyze' to scan your codebase.
|
|
|
34
34
|
`)
|
|
35
35
|
.action(async (options) => {
|
|
36
36
|
const rootPath = process.cwd();
|
|
37
|
-
|
|
37
|
+
// Honor an explicit --openspec-path; otherwise detect specs that already
|
|
38
|
+
// live in docs/specs/ or specs/ so we don't create an empty openspec/ that
|
|
39
|
+
// is blind to them (Spec 26 B5).
|
|
40
|
+
let openspecRelPath = options.openspecPath ?? DEFAULT_OPENSPEC_PATH;
|
|
41
|
+
let detectedSpecDir = null;
|
|
42
|
+
if (!options.openspecPath) {
|
|
43
|
+
detectedSpecDir = await detectExistingSpecDir(rootPath);
|
|
44
|
+
if (detectedSpecDir && detectedSpecDir.root !== 'openspec') {
|
|
45
|
+
openspecRelPath = detectedSpecDir.root === '.' ? '.' : detectedSpecDir.root;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
38
48
|
const openspecPath = resolve(rootPath, openspecRelPath);
|
|
39
49
|
const force = options.force ?? false;
|
|
40
50
|
// Prevent path traversal — openspec directory must be within the project root
|
|
@@ -102,7 +112,10 @@ After initialization, run 'openlore analyze' to scan your codebase.
|
|
|
102
112
|
return;
|
|
103
113
|
}
|
|
104
114
|
}
|
|
105
|
-
if (
|
|
115
|
+
if (detectedSpecDir && detectedSpecDir.root !== 'openspec') {
|
|
116
|
+
logger.success(`Found existing specs in ${detectedSpecDir.specsRel}/ (${detectedSpecDir.count} file(s)) — pointing openspecPath at ${openspecRelPath}`);
|
|
117
|
+
}
|
|
118
|
+
else if (existingOpenspecDir) {
|
|
106
119
|
logger.success('Found existing openspec/ directory');
|
|
107
120
|
if (existingOpenspecConfig) {
|
|
108
121
|
const openspecConfig = await readOpenSpecConfig(openspecPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|