robrain 0.4.1 → 2.0.1
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/dist/commands/export-memory.d.ts +2 -0
- package/dist/commands/export-memory.d.ts.map +1 -1
- package/dist/commands/export-memory.js +113 -3
- package/dist/commands/export-memory.js.map +1 -1
- package/dist/commands/init-project.d.ts.map +1 -1
- package/dist/commands/init-project.js +23 -18
- package/dist/commands/init-project.js.map +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +61 -46
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/projects.js +1 -1
- package/dist/commands/projects.js.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/editor.codex.test.d.ts +2 -0
- package/dist/lib/editor.codex.test.d.ts.map +1 -0
- package/dist/lib/editor.codex.test.js +126 -0
- package/dist/lib/editor.codex.test.js.map +1 -0
- package/dist/lib/editor.d.ts +28 -1
- package/dist/lib/editor.d.ts.map +1 -1
- package/dist/lib/editor.js +184 -21
- package/dist/lib/editor.js.map +1 -1
- package/dist/lib/mcp-bundle.d.ts +22 -4
- package/dist/lib/mcp-bundle.d.ts.map +1 -1
- package/dist/lib/mcp-bundle.js +31 -7
- package/dist/lib/mcp-bundle.js.map +1 -1
- package/dist/lib/project.d.ts.map +1 -1
- package/dist/lib/project.js +12 -1
- package/dist/lib/project.js.map +1 -1
- package/package.json +2 -1
|
@@ -2,6 +2,8 @@ interface ExportOptions {
|
|
|
2
2
|
dryRun?: boolean;
|
|
3
3
|
includeUnreviewed?: boolean;
|
|
4
4
|
to?: string;
|
|
5
|
+
/** Also write a single git-committed ledger. `true` → <projectRoot>/decisions.md; string → that path. */
|
|
6
|
+
ledger?: string | boolean;
|
|
5
7
|
/** Project root for memory paths + stack detection (default: cwd). */
|
|
6
8
|
cwd?: string;
|
|
7
9
|
/** Override Perception `project_id` when it differs from path-derived id. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-memory.d.ts","sourceRoot":"","sources":["../../src/commands/export-memory.ts"],"names":[],"mappings":"AAiEA,UAAU,aAAa;IACrB,MAAM,CAAC,EAAa,OAAO,CAAA;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,EAAE,CAAC,EAAiB,MAAM,CAAA;IAC1B,sEAAsE;IACtE,GAAG,CAAC,EAAgB,MAAM,CAAA;IAC1B,6EAA6E;IAC7E,SAAS,CAAC,EAAS,MAAM,CAAA;CAC1B;AA6BD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"export-memory.d.ts","sourceRoot":"","sources":["../../src/commands/export-memory.ts"],"names":[],"mappings":"AAiEA,UAAU,aAAa;IACrB,MAAM,CAAC,EAAa,OAAO,CAAA;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,EAAE,CAAC,EAAiB,MAAM,CAAA;IAC1B,yGAAyG;IACzG,MAAM,CAAC,EAAa,MAAM,GAAG,OAAO,CAAA;IACpC,sEAAsE;IACtE,GAAG,CAAC,EAAgB,MAAM,CAAA;IAC1B,6EAA6E;IAC7E,SAAS,CAAC,EAAS,MAAM,CAAA;CAC1B;AA6BD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA8J5E"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// packages/cli/src/commands/export-memory.ts
|
|
2
2
|
// ─────────────────────────────────────────────────────────────
|
|
3
|
-
// robrain export-memory [--dry-run] [--include-unreviewed] [--to DIR] [--cwd PATH] [--project-id ID]
|
|
3
|
+
// robrain export-memory [--dry-run] [--include-unreviewed] [--to DIR] [--ledger [path]] [--cwd PATH] [--project-id ID]
|
|
4
4
|
//
|
|
5
5
|
// Projects RoBrain's approved decision corpus into Claude Code's
|
|
6
6
|
// auto-memory directory so decisions surface automatically in
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
import chalk from 'chalk';
|
|
23
23
|
import ora from 'ora';
|
|
24
24
|
import { existsSync, mkdirSync, readFileSync, readdirSync, unlinkSync, writeFileSync, } from 'fs';
|
|
25
|
-
import { join, resolve, sep } from 'path';
|
|
25
|
+
import { dirname, join, resolve, sep } from 'path';
|
|
26
26
|
import { homedir } from 'os';
|
|
27
27
|
import { cwd } from 'process';
|
|
28
28
|
import { readConfig } from '../lib/config.js';
|
|
@@ -99,6 +99,36 @@ export async function exportMemoryCommand(opts) {
|
|
|
99
99
|
const exportable = opts.includeUnreviewed
|
|
100
100
|
? active
|
|
101
101
|
: active.filter(d => !!d.reviewed_at);
|
|
102
|
+
// ── 2b. Git-committed ledger (opt-in, additive) ─────────────
|
|
103
|
+
if (opts.ledger) {
|
|
104
|
+
const approved = active.filter(d => !!d.reviewed_at);
|
|
105
|
+
const pending = active.filter(d => !d.reviewed_at);
|
|
106
|
+
const superseded = decisions.filter(d => !!d.invalidated_at);
|
|
107
|
+
const ledgerPath = confineMemoryDir(typeof opts.ledger === 'string' ? opts.ledger : join(projectRoot, 'decisions.md'), projectRoot);
|
|
108
|
+
const content = renderLedger(info.name, approved, pending, superseded, !!opts.includeUnreviewed);
|
|
109
|
+
const changed = !existsSync(ledgerPath) ||
|
|
110
|
+
stripVolatile(readFileSync(ledgerPath, 'utf8')) !== stripVolatile(content);
|
|
111
|
+
if (opts.dryRun) {
|
|
112
|
+
console.log(chalk.bold(` Ledger — ${info.name}`));
|
|
113
|
+
console.log((changed ? chalk.yellow(' ↺ would write ') : chalk.dim(' · unchanged ')) +
|
|
114
|
+
ledgerPath.replace(projectRoot + sep, '') +
|
|
115
|
+
chalk.dim(` (${approved.length} approved, ${superseded.length} superseded${opts.includeUnreviewed ? `, ${pending.length} pending` : ''})`));
|
|
116
|
+
console.log();
|
|
117
|
+
}
|
|
118
|
+
else if (changed) {
|
|
119
|
+
const ledgerDir = dirname(ledgerPath);
|
|
120
|
+
if (!existsSync(ledgerDir)) {
|
|
121
|
+
mkdirSync(ledgerDir, { recursive: true });
|
|
122
|
+
}
|
|
123
|
+
writeFileSync(ledgerPath, content);
|
|
124
|
+
console.log(chalk.green(` ✓ Wrote ledger ${ledgerPath.replace(projectRoot + sep, '')}`) +
|
|
125
|
+
chalk.dim(` (${approved.length} approved, ${superseded.length} superseded${opts.includeUnreviewed ? `, ${pending.length} pending` : ''})`));
|
|
126
|
+
console.log();
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
console.log(chalk.dim(` · Ledger ${ledgerPath.replace(projectRoot + sep, '')} unchanged\n`));
|
|
130
|
+
}
|
|
131
|
+
}
|
|
102
132
|
if (exportable.length === 0) {
|
|
103
133
|
console.log(chalk.bold(` Export memory — ${info.name}`));
|
|
104
134
|
console.log();
|
|
@@ -387,6 +417,83 @@ function renderClusterFile(cluster) {
|
|
|
387
417
|
}
|
|
388
418
|
return fm + body.join('\n');
|
|
389
419
|
}
|
|
420
|
+
function renderDecisionBlock(d, headingLevel = 3) {
|
|
421
|
+
const out = [];
|
|
422
|
+
out.push(`${'#'.repeat(headingLevel)} ${d.decision}`);
|
|
423
|
+
out.push('');
|
|
424
|
+
if (d.rationale) {
|
|
425
|
+
out.push(d.rationale);
|
|
426
|
+
out.push('');
|
|
427
|
+
}
|
|
428
|
+
const rej = d.rejected ?? [];
|
|
429
|
+
if (rej.length > 0) {
|
|
430
|
+
out.push('Ruled out:');
|
|
431
|
+
for (const r of rej)
|
|
432
|
+
out.push(` - **${r.option}** — ${r.reason}`);
|
|
433
|
+
out.push('');
|
|
434
|
+
}
|
|
435
|
+
const date = new Date(d.created_at).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });
|
|
436
|
+
const conf = d.confidence >= 0.9 ? 'high' : d.confidence >= 0.6 ? 'medium' : 'low';
|
|
437
|
+
const meta = [`${date}`, `${conf} confidence`, `scope: ${d.scope}`];
|
|
438
|
+
out.push(`_${meta.join(' · ')}_`);
|
|
439
|
+
out.push('');
|
|
440
|
+
return out;
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* Single git-committed ledger. Read-only/generated: regenerated from the DB
|
|
444
|
+
* every run, so a stale hand-edit is overwritten. The DB stays the source of
|
|
445
|
+
* truth; this file exists so the team can diff/PR-review decision drift.
|
|
446
|
+
*/
|
|
447
|
+
function renderLedger(projectName, approved, pending, superseded, includeUnreviewed) {
|
|
448
|
+
const L = [];
|
|
449
|
+
L.push('<!-- Generated by `robrain export-memory --ledger` — do not edit by hand. -->');
|
|
450
|
+
L.push('<!-- Source of truth is the RoBrain DB; this file is regenerated each run. -->');
|
|
451
|
+
L.push('');
|
|
452
|
+
L.push(`# Decisions — ${projectName}`);
|
|
453
|
+
L.push('');
|
|
454
|
+
L.push(`_Generated ${new Date().toISOString()}_`);
|
|
455
|
+
L.push('');
|
|
456
|
+
L.push('## Approved — in effect');
|
|
457
|
+
L.push('');
|
|
458
|
+
if (approved.length === 0) {
|
|
459
|
+
L.push('_None approved yet. Run `robrain review` to approve captured decisions._');
|
|
460
|
+
L.push('');
|
|
461
|
+
}
|
|
462
|
+
else {
|
|
463
|
+
const clusters = clusterByFileOverlap(approved);
|
|
464
|
+
for (const c of clusters) {
|
|
465
|
+
L.push(`### ${c.topic}`);
|
|
466
|
+
L.push('');
|
|
467
|
+
for (const d of c.decisions)
|
|
468
|
+
L.push(...renderDecisionBlock(d, 4));
|
|
469
|
+
if (c.files.size > 0) {
|
|
470
|
+
L.push('Files affected:');
|
|
471
|
+
for (const f of [...c.files].sort())
|
|
472
|
+
L.push(` - \`${f}\``);
|
|
473
|
+
L.push('');
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
if (includeUnreviewed && pending.length > 0) {
|
|
478
|
+
L.push('## Pending review — not yet approved');
|
|
479
|
+
L.push('');
|
|
480
|
+
L.push('_These are captured but unaffirmed. Not binding until approved._');
|
|
481
|
+
L.push('');
|
|
482
|
+
for (const d of pending.sort((a, b) => +new Date(b.created_at) - +new Date(a.created_at))) {
|
|
483
|
+
L.push(...renderDecisionBlock(d));
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
if (superseded.length > 0) {
|
|
487
|
+
L.push('## Superseded — no longer in effect');
|
|
488
|
+
L.push('');
|
|
489
|
+
L.push('_Kept for history: what the team decided before, and why it changed._');
|
|
490
|
+
L.push('');
|
|
491
|
+
for (const d of superseded.sort((a, b) => +new Date(b.created_at) - +new Date(a.created_at))) {
|
|
492
|
+
L.push(...renderDecisionBlock(d));
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
return L.join('\n').replace(/\n{3,}/g, '\n\n').trimEnd() + '\n';
|
|
496
|
+
}
|
|
390
497
|
function formatDecisionLine(d) {
|
|
391
498
|
const date = new Date(d.created_at).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });
|
|
392
499
|
const conf = d.confidence >= 0.9 ? 'high' : d.confidence >= 0.6 ? 'medium' : 'low';
|
|
@@ -421,7 +528,10 @@ function renderIndex(clusters, existing) {
|
|
|
421
528
|
}
|
|
422
529
|
/** Drop fields that change on every run so equality compares only substantive content. */
|
|
423
530
|
function stripVolatile(content) {
|
|
424
|
-
return content
|
|
531
|
+
return content
|
|
532
|
+
.replace(/^last_exported:.*$/m, '')
|
|
533
|
+
.replace(/^_Generated .*_$/m, '')
|
|
534
|
+
.trim();
|
|
425
535
|
}
|
|
426
536
|
function isRoBrainOwned(fileContent) {
|
|
427
537
|
// Only treat the first frontmatter block as authoritative
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-memory.js","sourceRoot":"","sources":["../../src/commands/export-memory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"export-memory.js","sourceRoot":"","sources":["../../src/commands/export-memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-project.d.ts","sourceRoot":"","sources":["../../src/commands/init-project.ts"],"names":[],"mappings":"AAwBA,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAS,MAAM,CAAA;IACzB,gFAAgF;IAChF,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"init-project.d.ts","sourceRoot":"","sources":["../../src/commands/init-project.ts"],"names":[],"mappings":"AAwBA,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAS,MAAM,CAAA;IACzB,gFAAgF;IAChF,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmIhF"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
// robrain init-project [--project-id ID]
|
|
4
4
|
//
|
|
5
5
|
// Warm-starts the memory store from existing codebase context.
|
|
6
|
-
// Reads: package.json, README, git log, CLAUDE.md
|
|
7
|
-
// Writes: CLAUDE.md instructions, optional .cursor/rules/robrain.mdc,
|
|
6
|
+
// Reads: package.json, README, git log, CLAUDE.md, AGENTS.md
|
|
7
|
+
// Writes: CLAUDE.md + AGENTS.md instructions, optional .cursor/rules/robrain.mdc,
|
|
8
8
|
// seeds 3-5 inferred decisions,
|
|
9
9
|
// triggers always-on summary generation.
|
|
10
10
|
//
|
|
@@ -18,7 +18,7 @@ import { existsSync, readFileSync } from 'fs';
|
|
|
18
18
|
import { dirname, join } from 'path';
|
|
19
19
|
import { readConfig, isAuthenticated } from '../lib/config.js';
|
|
20
20
|
import { gatherProjectInfo, seedProjectMemory } from '../lib/project.js';
|
|
21
|
-
import { detectEditors, writeClaudeMd, writeCursorRoBrainRule } from '../lib/editor.js';
|
|
21
|
+
import { detectEditors, writeClaudeMd, writeCursorRoBrainRule, writeAgentsMd } from '../lib/editor.js';
|
|
22
22
|
export async function initProjectCommand(opts) {
|
|
23
23
|
console.log();
|
|
24
24
|
console.log(chalk.bold(' robrain init-project'));
|
|
@@ -75,22 +75,22 @@ export async function initProjectCommand(opts) {
|
|
|
75
75
|
process.exit(0);
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
// ── Write CLAUDE.md (+ Cursor rule
|
|
79
|
-
const
|
|
78
|
+
// ── Write CLAUDE.md + AGENTS.md (+ Cursor rule when Cursor is installed) ─
|
|
79
|
+
const editors = detectEditors();
|
|
80
|
+
const hasCursor = editors.some(e => e.editor === 'cursor');
|
|
81
|
+
const hasCodex = editors.some(e => e.editor === 'codex');
|
|
82
|
+
const instructionExtras = hasCursor ? 'CLAUDE.md + AGENTS.md + Cursor' : 'CLAUDE.md + AGENTS.md';
|
|
80
83
|
const mdSpinner = ora({
|
|
81
|
-
text:
|
|
82
|
-
? 'Writing editor instructions (CLAUDE.md + Cursor)...'
|
|
83
|
-
: 'Writing CLAUDE.md instructions...',
|
|
84
|
+
text: `Writing editor instructions (${instructionExtras})...`,
|
|
84
85
|
color: 'green',
|
|
85
86
|
}).start();
|
|
86
87
|
writeClaudeMd(projectRoot, resolvedProjectId, instructionMode);
|
|
88
|
+
writeAgentsMd(projectRoot, resolvedProjectId, instructionMode);
|
|
87
89
|
let cursorRuleApplied = false;
|
|
88
90
|
if (hasCursor) {
|
|
89
91
|
cursorRuleApplied = writeCursorRoBrainRule(projectRoot, resolvedProjectId, instructionMode);
|
|
90
92
|
}
|
|
91
|
-
mdSpinner.succeed(
|
|
92
|
-
? 'Editor instructions updated (CLAUDE.md + Cursor rule)'
|
|
93
|
-
: 'CLAUDE.md updated with RoBrain instructions');
|
|
93
|
+
mdSpinner.succeed(`Editor instructions updated (${instructionExtras})`);
|
|
94
94
|
// ── Seed memory ────────────────────────────────────────────
|
|
95
95
|
const seedSpinner = ora({ text: 'Inferring architectural decisions from codebase...', color: 'green' }).start();
|
|
96
96
|
const perceptionKey = config.perceptionKey ?? '';
|
|
@@ -108,7 +108,8 @@ export async function initProjectCommand(opts) {
|
|
|
108
108
|
console.log();
|
|
109
109
|
console.log(chalk.green(' ✓ Project initialized\n'));
|
|
110
110
|
console.log(chalk.dim(' Project ID: ') + chalk.cyan(resolvedProjectId));
|
|
111
|
-
console.log(chalk.dim(' CLAUDE.md:
|
|
111
|
+
console.log(chalk.dim(' CLAUDE.md: ') + chalk.dim('updated with RoBrain instructions'));
|
|
112
|
+
console.log(chalk.dim(' AGENTS.md: ') + chalk.dim('updated (Codex CLI and other AGENTS.md clients)'));
|
|
112
113
|
if (hasCursor) {
|
|
113
114
|
console.log(chalk.dim(' Cursor: ') +
|
|
114
115
|
chalk.dim(cursorRuleApplied
|
|
@@ -117,12 +118,12 @@ export async function initProjectCommand(opts) {
|
|
|
117
118
|
}
|
|
118
119
|
console.log();
|
|
119
120
|
console.log(chalk.bold(' You\'re ready.'));
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
121
|
+
const editorNames = ['Claude Code'];
|
|
122
|
+
if (hasCursor)
|
|
123
|
+
editorNames.push('Cursor');
|
|
124
|
+
if (hasCodex)
|
|
125
|
+
editorNames.push('Codex');
|
|
126
|
+
console.log(chalk.dim(` Open ${editorNames.join(' / ')} and start a session.`));
|
|
126
127
|
console.log(chalk.dim(' Session 2 will remember what happened in session 1.'));
|
|
127
128
|
console.log();
|
|
128
129
|
}
|
|
@@ -134,12 +135,16 @@ function findAncestorRoBrainProject(startDir) {
|
|
|
134
135
|
for (;;) {
|
|
135
136
|
const claudeMdPath = join(dir, 'CLAUDE.md');
|
|
136
137
|
const cursorRulePath = join(dir, '.cursor', 'rules', 'robrain.mdc');
|
|
138
|
+
const agentsMdPath = join(dir, 'AGENTS.md');
|
|
137
139
|
const claudeMdProjectId = readRoBrainProjectIdFromFile(claudeMdPath);
|
|
138
140
|
if (claudeMdProjectId)
|
|
139
141
|
return { projectId: claudeMdProjectId, source: 'CLAUDE.md', dir };
|
|
140
142
|
const cursorProjectId = readRoBrainProjectIdFromFile(cursorRulePath);
|
|
141
143
|
if (cursorProjectId)
|
|
142
144
|
return { projectId: cursorProjectId, source: '.cursor/rules/robrain.mdc', dir };
|
|
145
|
+
const agentsProjectId = readRoBrainProjectIdFromFile(agentsMdPath);
|
|
146
|
+
if (agentsProjectId)
|
|
147
|
+
return { projectId: agentsProjectId, source: 'AGENTS.md', dir };
|
|
143
148
|
const parent = dirname(dir);
|
|
144
149
|
if (parent === dir)
|
|
145
150
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-project.js","sourceRoot":"","sources":["../../src/commands/init-project.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,gEAAgE;AAChE,yCAAyC;AACzC,EAAE;AACF,+DAA+D;AAC/D,
|
|
1
|
+
{"version":3,"file":"init-project.js","sourceRoot":"","sources":["../../src/commands/init-project.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAwCA,UAAU,cAAc;IACtB,KAAK,CAAC,EAAU,MAAM,CAAA;IACtB,MAAM,CAAC,EAAS,MAAM,CAAA;IACtB,UAAU,CAAC,EAAK,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kGAAkG;IAClG,QAAQ,CAAC,EAAO,MAAM,CAAA;IACtB,kEAAkE;IAClE,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AA+CD,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA4KxE"}
|
package/dist/commands/install.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/commands/install.ts
|
|
2
2
|
// ─────────────────────────────────────────────────────────────
|
|
3
|
-
// robrain install [--token TOKEN] [--editor claude-code|cursor|copilot]
|
|
3
|
+
// robrain install [--token TOKEN] [--editor claude-code|cursor|copilot|codex]
|
|
4
4
|
//
|
|
5
5
|
// 1. Authenticate with Rory Plans
|
|
6
6
|
// 2. Fetch provisioned API URLs + keys
|
|
@@ -14,7 +14,7 @@ import ora from 'ora';
|
|
|
14
14
|
import prompts from 'prompts';
|
|
15
15
|
import { readConfig, writeConfig, mergeConfig } from '../lib/config.js';
|
|
16
16
|
import { validateToken, fetchProvisionedConfig } from '../lib/auth.js';
|
|
17
|
-
import {
|
|
17
|
+
import { resolveEditorsForInstall, resolveLlmProviderFromEnv, writeMcpConfig, } from '../lib/editor.js';
|
|
18
18
|
import { ensureSensingMcpBundle, controlBundleReady, sensingBundleReady, McpBundleError, } from '../lib/mcp-bundle.js';
|
|
19
19
|
import { initProjectCommand } from './init-project.js';
|
|
20
20
|
import { inferLocalRobrainMonorepoRoot, inferRobrainMonorepoRootFromCwd, loadCliEnv, readDotenvKey, } from '../lib/load-env.js';
|
|
@@ -142,47 +142,26 @@ export async function installCommand(opts) {
|
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
// ── Step 5: Detect / select editors ───────────────────────
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
// Force the specified editor even if not detected
|
|
151
|
-
const configPaths = {
|
|
152
|
-
'claude-code': join(homedir(), '.claude.json'),
|
|
153
|
-
'cursor': join(homedir(), '.cursor', 'mcp.json'),
|
|
154
|
-
};
|
|
155
|
-
const configPath = configPaths[opts.editor];
|
|
156
|
-
if (configPath) {
|
|
157
|
-
editorsToConfig = [{
|
|
158
|
-
editor: opts.editor,
|
|
159
|
-
configPath,
|
|
160
|
-
label: opts.editor,
|
|
161
|
-
}];
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
else if (detected.length === 0) {
|
|
166
|
-
console.log(chalk.yellow('\n No AI editors detected. Configuring Claude Code by default.'));
|
|
167
|
-
editorsToConfig = [{
|
|
168
|
-
editor: 'claude-code',
|
|
169
|
-
configPath: join(homedir(), '.claude.json'),
|
|
170
|
-
label: 'Claude Code',
|
|
171
|
-
}];
|
|
145
|
+
let editorsToConfig = resolveEditorsForInstall(opts);
|
|
146
|
+
if (opts.editor && editorsToConfig.length === 0) {
|
|
147
|
+
console.log(chalk.red(`\n ✗ Unknown or unavailable editor: ${opts.editor}`));
|
|
148
|
+
console.log(chalk.dim(' Use: claude-code | cursor | copilot | codex\n'));
|
|
149
|
+
process.exit(1);
|
|
172
150
|
}
|
|
173
|
-
|
|
151
|
+
if (!opts.editor && editorsToConfig.length > 1) {
|
|
174
152
|
console.log();
|
|
175
153
|
const { chosen } = await prompts({
|
|
176
154
|
type: 'multiselect',
|
|
177
155
|
name: 'chosen',
|
|
178
156
|
message: 'Configure RoBrain for which editors?',
|
|
179
|
-
choices:
|
|
157
|
+
choices: editorsToConfig.map(e => ({ title: e.label, value: e.editor, selected: true })),
|
|
180
158
|
});
|
|
181
|
-
editorsToConfig =
|
|
159
|
+
editorsToConfig = editorsToConfig.filter(e => chosen.includes(e.editor));
|
|
182
160
|
}
|
|
183
161
|
// ── Step 6: Write MCP configs ──────────────────────────────
|
|
184
162
|
spinner.start('Writing MCP configuration...');
|
|
185
163
|
const includeControl = controlBundleReady(ROBRAIN_MCP_DIR);
|
|
164
|
+
const llmProvider = resolveLlmProviderFromEnv();
|
|
186
165
|
const mcpOpts = {
|
|
187
166
|
sensingMcpPath: join(ROBRAIN_MCP_DIR, 'sensing', 'dist', 'index.js'),
|
|
188
167
|
controlMcpPath: join(ROBRAIN_MCP_DIR, 'control', 'dist', 'index.js'),
|
|
@@ -193,6 +172,8 @@ export async function installCommand(opts) {
|
|
|
193
172
|
planningKey: provisioned.planningKey,
|
|
194
173
|
embeddingProvider: embeddingProvider ?? 'openai',
|
|
195
174
|
embeddingKey,
|
|
175
|
+
llmProvider,
|
|
176
|
+
openaiKey: process.env.OPENAI_API_KEY ?? '',
|
|
196
177
|
includeControl,
|
|
197
178
|
};
|
|
198
179
|
for (const editor of editorsToConfig) {
|
|
@@ -213,7 +194,7 @@ export async function installCommand(opts) {
|
|
|
213
194
|
planningKey: provisioned.planningKey,
|
|
214
195
|
embeddingProvider: embeddingProvider ?? 'openai',
|
|
215
196
|
installedAt: new Date().toISOString(),
|
|
216
|
-
version: '0.
|
|
197
|
+
version: '2.0.1',
|
|
217
198
|
});
|
|
218
199
|
spinner.succeed('MCP servers configured');
|
|
219
200
|
// ── Done ───────────────────────────────────────────────────
|
|
@@ -273,21 +254,52 @@ async function installSelfHosted(opts) {
|
|
|
273
254
|
const answer = await prompts({ type: 'password', name: 'embKey', message: `${keyName}:` });
|
|
274
255
|
embKey = answer.embKey;
|
|
275
256
|
}
|
|
276
|
-
|
|
277
|
-
if (
|
|
278
|
-
console.log(chalk.dim(' Using
|
|
257
|
+
const llmProvider = resolveLlmProviderFromEnv();
|
|
258
|
+
if (llmProvider === 'openai') {
|
|
259
|
+
console.log(chalk.dim(' Using LLM_PROVIDER=openai from environment'));
|
|
260
|
+
}
|
|
261
|
+
let openaiKey = process.env.OPENAI_API_KEY ?? '';
|
|
262
|
+
if (llmProvider === 'openai') {
|
|
263
|
+
if (!openaiKey && provider === 'openai') {
|
|
264
|
+
openaiKey = embKey;
|
|
265
|
+
}
|
|
266
|
+
else if (openaiKey) {
|
|
267
|
+
console.log(chalk.dim(' Using OPENAI_API_KEY from environment (LLM)'));
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
const answer = await prompts({
|
|
271
|
+
type: 'password',
|
|
272
|
+
name: 'openaiKey',
|
|
273
|
+
message: 'OPENAI_API_KEY (for Sensing decision extraction):',
|
|
274
|
+
});
|
|
275
|
+
openaiKey = answer.openaiKey;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
let anthropicKey = '';
|
|
279
|
+
if (llmProvider === 'anthropic') {
|
|
280
|
+
anthropicKey = process.env.ANTHROPIC_API_KEY ?? '';
|
|
281
|
+
if (anthropicKey) {
|
|
282
|
+
console.log(chalk.dim(' Using ANTHROPIC_API_KEY from environment'));
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
const answer = await prompts({
|
|
286
|
+
type: 'password',
|
|
287
|
+
name: 'anthropicKey',
|
|
288
|
+
message: 'ANTHROPIC_API_KEY (for Sensing classifiers):',
|
|
289
|
+
});
|
|
290
|
+
anthropicKey = answer.anthropicKey;
|
|
291
|
+
}
|
|
279
292
|
}
|
|
280
293
|
else {
|
|
281
|
-
|
|
282
|
-
|
|
294
|
+
console.log(chalk.dim(' Skipping ANTHROPIC_API_KEY (LLM_PROVIDER=openai)'));
|
|
295
|
+
}
|
|
296
|
+
let editorsToConfig = resolveEditorsForInstall(opts);
|
|
297
|
+
if (opts.editor && editorsToConfig.length === 0) {
|
|
298
|
+
console.log(chalk.red(`\n ✗ Unknown or unavailable editor: ${opts.editor}`));
|
|
299
|
+
console.log(chalk.dim(' Use: claude-code | cursor | copilot | codex'));
|
|
300
|
+
console.log(chalk.dim(' For copilot, install VS Code first.\n'));
|
|
301
|
+
process.exit(1);
|
|
283
302
|
}
|
|
284
|
-
// Detect editors
|
|
285
|
-
const detected = detectEditors();
|
|
286
|
-
const editorsToConfig = detected.length > 0 ? detected : [{
|
|
287
|
-
editor: 'claude-code',
|
|
288
|
-
configPath: join(homedir(), '.claude.json'),
|
|
289
|
-
label: 'Claude Code',
|
|
290
|
-
}];
|
|
291
303
|
const spinner = ora('Writing MCP configuration...').start();
|
|
292
304
|
// Same Perception key the CLI uses (init-project, review, inject). Self-hosted
|
|
293
305
|
// install must not write PERCEPTION_API_KEY: "" into editor MCP configs — that
|
|
@@ -312,6 +324,8 @@ async function installSelfHosted(opts) {
|
|
|
312
324
|
planningKey: '',
|
|
313
325
|
embeddingProvider: provider,
|
|
314
326
|
embeddingKey: embKey,
|
|
327
|
+
llmProvider,
|
|
328
|
+
openaiKey: llmProvider === 'openai' ? openaiKey : undefined,
|
|
315
329
|
includeControl: false,
|
|
316
330
|
};
|
|
317
331
|
for (const editor of editorsToConfig) {
|
|
@@ -330,12 +344,13 @@ async function installSelfHosted(opts) {
|
|
|
330
344
|
...(perceptionKey ? { perceptionKey } : {}),
|
|
331
345
|
embeddingProvider: provider,
|
|
332
346
|
installedAt: new Date().toISOString(),
|
|
333
|
-
version: '0.
|
|
347
|
+
version: '2.0.1',
|
|
334
348
|
selfHosted: true,
|
|
335
349
|
});
|
|
336
350
|
spinner.succeed('MCP servers configured for self-hosted mode');
|
|
337
351
|
console.log();
|
|
338
352
|
console.log(chalk.green(' ✓ RoBrain (self-hosted) installed\n'));
|
|
353
|
+
console.log(chalk.dim(' Configured for: ') + editorsToConfig.map(e => e.label).join(', '));
|
|
339
354
|
console.log(chalk.dim(' Perception: ') + chalk.cyan(perceptionUrl));
|
|
340
355
|
console.log(chalk.dim(' Planning + Control injection: ') + chalk.yellow('not available in self-hosted OSS'));
|
|
341
356
|
console.log();
|