@tryglen/cli 0.15.0 → 0.17.0

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.
Files changed (48) hide show
  1. package/README.md +1 -0
  2. package/dist/_utils/agent-adapter.js +14 -0
  3. package/dist/_utils/agent-adapter.js.map +1 -1
  4. package/dist/_utils/collect-import-files.d.ts +4 -0
  5. package/dist/_utils/collect-import-files.js +55 -0
  6. package/dist/_utils/collect-import-files.js.map +1 -0
  7. package/dist/_utils/config.d.ts +2 -0
  8. package/dist/_utils/config.js +3 -0
  9. package/dist/_utils/config.js.map +1 -1
  10. package/dist/_utils/detect-transcript-format.d.ts +2 -0
  11. package/dist/_utils/detect-transcript-format.js +53 -0
  12. package/dist/_utils/detect-transcript-format.js.map +1 -0
  13. package/dist/_utils/parse-claude-transcript.d.ts +3 -0
  14. package/dist/_utils/parse-claude-transcript.js +124 -0
  15. package/dist/_utils/parse-claude-transcript.js.map +1 -0
  16. package/dist/_utils/parse-codex-transcript.d.ts +3 -0
  17. package/dist/_utils/parse-codex-transcript.js +111 -0
  18. package/dist/_utils/parse-codex-transcript.js.map +1 -0
  19. package/dist/_utils/parse-cursor-db.d.ts +5 -0
  20. package/dist/_utils/parse-cursor-db.js +227 -0
  21. package/dist/_utils/parse-cursor-db.js.map +1 -0
  22. package/dist/_utils/transcript-turns.d.ts +19 -0
  23. package/dist/_utils/transcript-turns.js +41 -0
  24. package/dist/_utils/transcript-turns.js.map +1 -0
  25. package/dist/_utils/turn-cache.d.ts +7 -0
  26. package/dist/_utils/turn-cache.js +63 -0
  27. package/dist/_utils/turn-cache.js.map +1 -0
  28. package/dist/bin.js +33 -13
  29. package/dist/bin.js.map +1 -1
  30. package/dist/commands/doctor.js +6 -0
  31. package/dist/commands/doctor.js.map +1 -1
  32. package/dist/commands/import.d.ts +7 -0
  33. package/dist/commands/import.js +236 -0
  34. package/dist/commands/import.js.map +1 -0
  35. package/dist/commands/ingest.js +79 -24
  36. package/dist/commands/ingest.js.map +1 -1
  37. package/dist/commands/install.js +42 -2
  38. package/dist/commands/install.js.map +1 -1
  39. package/dist/commands/onboard.js +1 -1
  40. package/dist/commands/onboard.js.map +1 -1
  41. package/dist/commands/pr-link.js +23 -10
  42. package/dist/commands/pr-link.js.map +1 -1
  43. package/dist/commands/session-start.d.ts +6 -7
  44. package/dist/commands/session-start.js +30 -10
  45. package/dist/commands/session-start.js.map +1 -1
  46. package/dist/commands/uninstall.js +5 -1
  47. package/dist/commands/uninstall.js.map +1 -1
  48. package/package.json +1 -1
@@ -0,0 +1,236 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { basename } from "node:path";
3
+ import { causeOf, cliErr } from "../_utils/cli-error.js";
4
+ import { collectImportFiles } from "../_utils/collect-import-files.js";
5
+ import { config } from "../_utils/config.js";
6
+ import { readCredentials } from "../_utils/credentials.js";
7
+ import { detectTranscriptFormat } from "../_utils/detect-transcript-format.js";
8
+ import { buildGlenHeaders } from "../_utils/glen-headers.js";
9
+ import { httpJson, networkRemedy } from "../_utils/http.js";
10
+ import { parseClaudeTranscript } from "../_utils/parse-claude-transcript.js";
11
+ import { parseCodexTranscript } from "../_utils/parse-codex-transcript.js";
12
+ import { parseCursorDb } from "../_utils/parse-cursor-db.js";
13
+ import { err, ok } from "../_utils/result.js";
14
+ import { readState } from "../_utils/state.js";
15
+ import { buildTranscriptTurns, } from "../_utils/transcript-turns.js";
16
+ import { handle426AndReexec, maybeSpawnBackgroundUpdate, } from "../_utils/update.js";
17
+ import { cliVersion } from "../_utils/version.js";
18
+ const shortId = (id) => id.length > 12 ? `${id.slice(0, 12)}…` : id;
19
+ const contextFor = (t) => ({
20
+ agent: { name: t.agent },
21
+ ...(t.cwd !== undefined || t.branch !== undefined
22
+ ? {
23
+ workspace: {
24
+ ...(t.cwd !== undefined ? { cwd: t.cwd } : {}),
25
+ ...(t.branch !== undefined ? { branch: t.branch } : {}),
26
+ },
27
+ }
28
+ : {}),
29
+ session: {
30
+ source: "transcript-import",
31
+ ...(t.model !== undefined ? { model: t.model } : {}),
32
+ },
33
+ });
34
+ const parseJsonlFile = async (file) => {
35
+ const raw = await (async () => {
36
+ try {
37
+ return await readFile(file, "utf8");
38
+ }
39
+ catch (e) {
40
+ return { failed: causeOf(e) };
41
+ }
42
+ })();
43
+ if (typeof raw !== "string")
44
+ return { reason: raw.failed };
45
+ const lines = raw.split(/\r?\n/).filter((l) => l.trim() !== "");
46
+ const format = detectTranscriptFormat(file, lines);
47
+ // The session uuid is the filename stem for Claude Code, and the trailing
48
+ // uuid of rollout-<date>-<uuid> for Codex — used only when the lines
49
+ // themselves don't carry a session id.
50
+ const fallbackId = basename(file)
51
+ .replace(/\.jsonl$/, "")
52
+ .replace(/^rollout-\d{4}-\d{2}-\d{2}T[\d-]+-/, "");
53
+ if (format === "claude-code")
54
+ return { transcript: parseClaudeTranscript(lines, fallbackId) };
55
+ if (format === "codex")
56
+ return { transcript: parseCodexTranscript(lines, fallbackId) };
57
+ return { reason: "not a recognized Claude Code or Codex transcript" };
58
+ };
59
+ // Read every provided file into importable sessions. Cursor dbs expand to many
60
+ // sessions; JSONL files yield one each. Unreadable/unrecognized files are
61
+ // reported as skipped, never fatal — an import sweep over a whole directory
62
+ // must not die on one odd file.
63
+ const parseFiles = async (files) => {
64
+ const results = await Promise.all(files.map(async (file) => {
65
+ if (file.endsWith(".vscdb")) {
66
+ const parsed = await parseCursorDb(file);
67
+ if (!parsed.ok)
68
+ return {
69
+ sessions: [],
70
+ skipped: [
71
+ {
72
+ file,
73
+ reason: `${parsed.error.what} — ${parsed.error.remedy}`,
74
+ },
75
+ ],
76
+ };
77
+ return {
78
+ sessions: parsed.value
79
+ .map((transcript) => ({
80
+ file,
81
+ transcript,
82
+ turns: buildTranscriptTurns(transcript.messages),
83
+ }))
84
+ .filter((s) => s.turns.length > 0),
85
+ skipped: [],
86
+ };
87
+ }
88
+ const parsed = await parseJsonlFile(file);
89
+ if ("reason" in parsed)
90
+ return { sessions: [], skipped: [{ file, reason: parsed.reason }] };
91
+ if (parsed.transcript === null)
92
+ return {
93
+ sessions: [],
94
+ skipped: [{ file, reason: "no importable messages" }],
95
+ };
96
+ const turns = buildTranscriptTurns(parsed.transcript.messages);
97
+ if (turns.length === 0)
98
+ return {
99
+ sessions: [],
100
+ skipped: [{ file, reason: "no importable messages" }],
101
+ };
102
+ return {
103
+ sessions: [{ file, transcript: parsed.transcript, turns }],
104
+ skipped: [],
105
+ };
106
+ }));
107
+ return {
108
+ sessions: results.flatMap((r) => r.sessions),
109
+ skipped: results.flatMap((r) => r.skipped),
110
+ };
111
+ };
112
+ const postTurn = async (session, turnIndex, headers) => {
113
+ const res = await httpJson(config.importUrl, {
114
+ method: "POST",
115
+ headers: { "content-type": "application/json", ...headers },
116
+ body: JSON.stringify({
117
+ conversationId: `import:${session.transcript.sessionId}`,
118
+ // Deterministic per turn, so re-running the same import (or resuming an
119
+ // aborted one) is a clean server-side no-op per already-sent turn.
120
+ idempotencyKey: `import:${session.transcript.sessionId}:${turnIndex}`,
121
+ messages: session.turns[turnIndex],
122
+ additionalContext: contextFor(session.transcript),
123
+ }),
124
+ timeoutMs: config.importTimeoutMs,
125
+ });
126
+ if (!res.ok)
127
+ return err(cliErr({
128
+ what: "glen import failed",
129
+ why: res.error.detail,
130
+ remedy: networkRemedy(res.error),
131
+ }));
132
+ if (res.value.status === 426) {
133
+ // Outdated CLI: update + re-exec the whole import; idempotency makes the
134
+ // re-run resume where this one stopped. (Falls through to the error only
135
+ // if the re-exec couldn't happen.)
136
+ handle426AndReexec(process.argv.slice(2));
137
+ return err(cliErr({
138
+ what: "glen needs an update to import",
139
+ remedy: "run `glen update`, then re-run `glen import`",
140
+ }));
141
+ }
142
+ if (res.value.status === 401 || res.value.status === 403) {
143
+ if (res.value.rawText.includes("no active organization"))
144
+ return err(cliErr({
145
+ what: "no active organization",
146
+ remedy: "run `glen org switch`",
147
+ }));
148
+ return err(cliErr({
149
+ what: "your connection expired",
150
+ remedy: "run `glen login` to reconnect",
151
+ }));
152
+ }
153
+ if (!res.value.isOk)
154
+ return err(cliErr({
155
+ what: `glen import failed (HTTP ${res.value.status})`,
156
+ why: res.value.rawText.slice(0, 200) || `HTTP ${res.value.status}`,
157
+ remedy: "re-run `glen import` to resume — already-imported turns are skipped automatically",
158
+ }));
159
+ const alreadyIngested = res.value.json !== null &&
160
+ typeof res.value.json === "object" &&
161
+ res.value.json.alreadyIngested === true;
162
+ return ok({ alreadyIngested });
163
+ };
164
+ // Replay one session sequentially, turn by turn. Sequential on purpose: turns
165
+ // of a conversation must land in order (message seq is assigned per request),
166
+ // and the endpoint's transaction serializes on the conversation row anyway.
167
+ const importSession = async (session, headers) => {
168
+ const tally = { imported: 0, existing: 0 };
169
+ for (const [turnIndex] of session.turns.entries()) {
170
+ const sent = await postTurn(session, turnIndex, headers);
171
+ if (!sent.ok)
172
+ return { ...tally, failure: sent.error };
173
+ if (sent.value.alreadyIngested)
174
+ tally.existing += 1;
175
+ else
176
+ tally.imported += 1;
177
+ }
178
+ return { ...tally, failure: null };
179
+ };
180
+ // Import old local agent transcripts (Claude Code, Codex, Cursor) into glen
181
+ // memory, one turn per request against the importTranscript endpoint. Turns
182
+ // are keyed deterministically, so the command is safe to re-run: everything
183
+ // already imported reports `alreadyIngested` and nothing duplicates.
184
+ const importTranscripts = async (paths, options) => {
185
+ void maybeSpawnBackgroundUpdate();
186
+ const creds = await readCredentials();
187
+ if (!creds)
188
+ return err(cliErr({ what: "not connected", remedy: "run `glen login` first" }));
189
+ const state = await readState();
190
+ const files = await collectImportFiles(paths);
191
+ if (!files.ok)
192
+ return files;
193
+ if (files.value.length === 0)
194
+ return err(cliErr({
195
+ what: "no transcript files found",
196
+ remedy: "point at transcripts — Claude Code: ~/.claude/projects · Codex: ~/.codex/sessions · Cursor: ~/.config/Cursor/User/globalStorage/state.vscdb (macOS: ~/Library/Application Support/Cursor/…)",
197
+ }));
198
+ const { sessions, skipped } = await parseFiles(files.value);
199
+ for (const s of skipped)
200
+ process.stdout.write(`- skipped ${s.file}: ${s.reason}\n`);
201
+ if (sessions.length === 0)
202
+ return err(cliErr({
203
+ what: "no importable conversations found",
204
+ remedy: "check the paths point at Claude Code / Codex session .jsonl files or a Cursor state.vscdb",
205
+ }));
206
+ const totalTurns = sessions.reduce((n, s) => n + s.turns.length, 0);
207
+ if (options.dryRun) {
208
+ for (const s of sessions)
209
+ process.stdout.write(`• ${s.transcript.agent} ${shortId(s.transcript.sessionId)} — ${s.turns.length} turn(s) (${s.file})\n`);
210
+ process.stdout.write(`dry run — ${sessions.length} conversation(s), ${totalTurns} turn(s); nothing imported\n`);
211
+ return ok(undefined);
212
+ }
213
+ // An import is always a deliberate write: force the recording mode on for
214
+ // these requests so a machine left in incognito/off doesn't silently no-op
215
+ // the command the user just ran. (Live hooks still honor the real mode.)
216
+ const headers = buildGlenHeaders({
217
+ key: creds.key,
218
+ state: state ? { ...state, mode: "on" } : null,
219
+ version: cliVersion,
220
+ });
221
+ const total = { imported: 0, existing: 0 };
222
+ for (const session of sessions) {
223
+ const result = await importSession(session, headers);
224
+ total.imported += result.imported;
225
+ total.existing += result.existing;
226
+ if (result.failure) {
227
+ process.stdout.write(`imported ${total.imported} of ${totalTurns} turn(s) before failing\n`);
228
+ return err(cliErr(result.failure));
229
+ }
230
+ process.stdout.write(`✓ ${session.transcript.agent} ${shortId(session.transcript.sessionId)} — ${result.imported} turn(s) imported${result.existing > 0 ? ` (${result.existing} already present)` : ""}\n`);
231
+ }
232
+ process.stdout.write(`done: ${total.imported} turn(s) imported, ${total.existing} already present, across ${sessions.length} conversation(s)\n`);
233
+ return ok(undefined);
234
+ };
235
+ export { importTranscripts };
236
+ //# sourceMappingURL=import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { fromPromise, ok } from "../_utils/result.js";
13
13
  import { recordSession } from "../_utils/session-map.js";
14
14
  import { formatStateLine } from "../_utils/state-line.js";
15
15
  import { readState } from "../_utils/state.js";
16
+ import { readTurn, rememberAssistant, rememberPrompt, } from "../_utils/turn-cache.js";
16
17
  import { cachedNewerVersion, handle426InHook, maybeSpawnBackgroundUpdate, } from "../_utils/update.js";
17
18
  import { cliVersion } from "../_utils/version.js";
18
19
  const readStdin = async () => {
@@ -53,6 +54,15 @@ const ingest = async (agent) => {
53
54
  return null;
54
55
  }
55
56
  })();
57
+ // Cursor vocabulary → glen's internal vocabulary. Cursor events carry
58
+ // conversation_id (not session_id); afterAgentResponse is Cursor's
59
+ // "completed turn" event (stop carries no assistant text).
60
+ if (agent === "cursor" && event) {
61
+ if (!event.session_id && typeof event.conversation_id === "string")
62
+ event.session_id = event.conversation_id;
63
+ if (event.hook_event_name === "afterAgentResponse")
64
+ event.hook_event_name = "Stop";
65
+ }
56
66
  const hookEventName = typeof event?.hook_event_name === "string"
57
67
  ? event.hook_event_name
58
68
  : "UserPromptSubmit";
@@ -61,7 +71,9 @@ const ingest = async (agent) => {
61
71
  if (hookEventName !== "Stop" && typeof event.prompt !== "string")
62
72
  return ok(undefined);
63
73
  // Normalise the agent name — only known values are forwarded.
64
- const agentName = agent === "claude-code" || agent === "codex" ? agent : undefined;
74
+ const agentName = agent === "claude-code" || agent === "codex" || agent === "cursor"
75
+ ? agent
76
+ : undefined;
65
77
  // `text` is model-facing context. Channel selection:
66
78
  // - Codex parses stdout as JSON and REQUIRES the hookSpecificOutput envelope
67
79
  // (plain text → the hook is marked Failed and the context is dropped —
@@ -69,6 +81,8 @@ const ingest = async (agent) => {
69
81
  // - Claude Code injects raw stdout as context, so plain text is enough.
70
82
  // - Unknown agents stay on plain stdout — we can't assume they parse JSON.
71
83
  const emit = (text) => {
84
+ if (agentName === "cursor")
85
+ return; // no cursor ingest event honors output
72
86
  if (agentName !== "codex") {
73
87
  process.stdout.write(text);
74
88
  return;
@@ -101,6 +115,15 @@ const ingest = async (agent) => {
101
115
  ? await readTranscriptLines(transcriptPath)
102
116
  : [];
103
117
  const transcript = parseTranscript(transcriptLines);
118
+ // Cursor: cache the assistant text as soon as it exists (afterAgentResponse →
119
+ // normalized "Stop"), so the pairing below and the NEXT turn's priorAssistant
120
+ // both see it. Then read the cached turn for this conversation.
121
+ if (agentName === "cursor" &&
122
+ hookEventName === "Stop" &&
123
+ typeof event.text === "string" &&
124
+ event.text)
125
+ await rememberAssistant(event.session_id, event.text);
126
+ const cursorTurn = agentName === "cursor" ? await readTurn(event.session_id) : null;
104
127
  // Stop backstop: surface the Glen review link if the finished assistant turn
105
128
  // printed a GitHub PR URL whose review link isn't already present. DEFERRED
106
129
  // (not written here) so a Stop turn writes AT MOST ONE JSON object — codex
@@ -113,7 +136,9 @@ const ingest = async (agent) => {
113
136
  ? typeof event.last_assistant_message === "string"
114
137
  ? event.last_assistant_message
115
138
  : ""
116
- : (transcript.completedTurn?.assistant ?? "");
139
+ : agentName === "cursor"
140
+ ? (cursorTurn?.assistant ?? "")
141
+ : (transcript.completedTurn?.assistant ?? "");
117
142
  const prs = extractPrUrls(assistantText).filter((p) => !assistantText.includes(buildReviewUrl(p)));
118
143
  if (prs.length === 0)
119
144
  return "";
@@ -127,6 +152,8 @@ const ingest = async (agent) => {
127
152
  // hint plus any agent-facing text (writes nothing when both are empty). Used
128
153
  // at every Stop exit so the Stop path never writes more than one JSON object.
129
154
  const emitStop = (hint) => {
155
+ if (agentName === "cursor")
156
+ return; // no cursor ingest event honors output
130
157
  const combined = [stopReviewHint, hint].filter(Boolean).join("\n\n");
131
158
  if (!combined)
132
159
  return;
@@ -146,7 +173,12 @@ const ingest = async (agent) => {
146
173
  emit(text);
147
174
  };
148
175
  // Resolve the cwd from the event (hook provides it) or fall back.
149
- const eventCwd = typeof event.cwd === "string" ? event.cwd : process.cwd();
176
+ const eventCwd = typeof event.cwd === "string"
177
+ ? event.cwd
178
+ : Array.isArray(event.workspace_roots) &&
179
+ typeof event.workspace_roots[0] === "string"
180
+ ? event.workspace_roots[0]
181
+ : process.cwd();
150
182
  // Record cwd → session id so `glen search` (which gets no session id) can attribute
151
183
  // its searches to this conversation. Best-effort.
152
184
  await recordSession(eventCwd, event.session_id);
@@ -154,11 +186,15 @@ const ingest = async (agent) => {
154
186
  const adapted = adaptAgentEvent(agentName, event, transcriptLines);
155
187
  // For codex without a transcript, derive idempotency from event.turn_id when
156
188
  // available; otherwise fall back to parseTranscript's nextUserMessageIndex.
157
- const nextUserMessageIndex = agentName === "codex" && !adapted.usesTranscript
158
- ? typeof event.turn_id === "string" && event.turn_id
159
- ? event.turn_id
189
+ const nextUserMessageIndex = agentName === "cursor"
190
+ ? typeof event.generation_id === "string" && event.generation_id
191
+ ? event.generation_id
160
192
  : transcript.nextUserMessageIndex
161
- : transcript.nextUserMessageIndex;
193
+ : agentName === "codex" && !adapted.usesTranscript
194
+ ? typeof event.turn_id === "string" && event.turn_id
195
+ ? event.turn_id
196
+ : transcript.nextUserMessageIndex
197
+ : transcript.nextUserMessageIndex;
162
198
  // Assemble additionalContext. Apply the empty-context rule: send undefined
163
199
  // when the object would be completely empty ({}).
164
200
  const workspaceCtx = gitContext(eventCwd);
@@ -175,29 +211,48 @@ const ingest = async (agent) => {
175
211
  return Object.keys(ctx).length > 0 ? ctx : undefined;
176
212
  })();
177
213
  const body = hookEventName === "Stop"
178
- ? (() => {
179
- if (!transcript.completedTurn)
180
- return null;
181
- return buildTurnBody({
182
- sessionId: event.session_id,
183
- nextUserMessageIndex: `stop:${transcript.completedTurn.userMessageIndex}`,
184
- messages: [
185
- { role: "user", content: transcript.completedTurn.user },
186
- {
187
- role: "assistant",
188
- content: transcript.completedTurn.assistant,
189
- },
190
- ],
191
- ...(additionalContext !== undefined ? { additionalContext } : {}),
192
- });
193
- })()
214
+ ? agentName === "cursor"
215
+ ? cursorTurn?.prompt && typeof event.text === "string" && event.text
216
+ ? buildTurnBody({
217
+ sessionId: event.session_id,
218
+ nextUserMessageIndex: `stop:${typeof event.generation_id === "string" && event.generation_id
219
+ ? event.generation_id
220
+ : "0"}`,
221
+ messages: [
222
+ { role: "user", content: cursorTurn.prompt },
223
+ { role: "assistant", content: event.text },
224
+ ],
225
+ ...(additionalContext !== undefined ? { additionalContext } : {}),
226
+ })
227
+ : null
228
+ : (() => {
229
+ if (!transcript.completedTurn)
230
+ return null;
231
+ return buildTurnBody({
232
+ sessionId: event.session_id,
233
+ nextUserMessageIndex: `stop:${transcript.completedTurn.userMessageIndex}`,
234
+ messages: [
235
+ { role: "user", content: transcript.completedTurn.user },
236
+ {
237
+ role: "assistant",
238
+ content: transcript.completedTurn.assistant,
239
+ },
240
+ ],
241
+ ...(additionalContext !== undefined ? { additionalContext } : {}),
242
+ });
243
+ })()
194
244
  : buildTurnBody({
195
245
  sessionId: event.session_id,
196
246
  prompt: event.prompt,
197
- priorAssistant: adapted.priorAssistant,
247
+ priorAssistant: adapted.priorAssistant ?? cursorTurn?.assistant ?? null,
198
248
  nextUserMessageIndex,
199
249
  ...(additionalContext !== undefined ? { additionalContext } : {}),
200
250
  });
251
+ // Cursor: remember the prompt so afterAgentResponse can pair it. AFTER the
252
+ // body build (which consumed the PREVIOUS turn's cached assistant as
253
+ // priorAssistant) — rememberPrompt clears the cached assistant.
254
+ if (agentName === "cursor" && hookEventName !== "Stop")
255
+ await rememberPrompt(event.session_id, event.prompt);
201
256
  if (!body) {
202
257
  if (hookEventName === "Stop")
203
258
  emitStop("");
@@ -1 +1 @@
1
- {"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../src/commands/ingest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../src/commands/ingest.ts"],"names":[],"mappings":"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"}
@@ -286,13 +286,39 @@ const install = async (agentBin, paths) => {
286
286
  if (!overrides.ok)
287
287
  return overrides;
288
288
  await ensureCliBinary();
289
+ // Cursor has no plugin CLI (install is editor-side via /add-plugin) — the
290
+ // scripted path prints guided instructions instead of running steps.
291
+ const printCursorInstructions = () => {
292
+ process.stdout.write("\n Cursor plugin — install inside the editor (Cursor has no plugin CLI):\n" +
293
+ " 1. Open Cursor's agent chat and type: /add-plugin\n" +
294
+ " 2. Add this marketplace: https://github.com/Glen-Web-App/glen-cursor-plugin\n" +
295
+ " 3. Install the glen plugin and accept the hooks consent.\n" +
296
+ " Updates are automatic via the marketplace's Auto Refresh.\n");
297
+ };
298
+ if (agentBin === "cursor") {
299
+ if (!isInstalled("cursor")) {
300
+ process.stdout.write(" ⚠ Cursor not detected (no `cursor` command on PATH). Install Cursor first: https://cursor.com\n");
301
+ }
302
+ printCursorInstructions();
303
+ await connectOrHint(agentBin);
304
+ return ok(undefined);
305
+ }
289
306
  const detected = AGENTS.filter((a) => isInstalled(a.bin));
290
307
  if (detected.length === 0) {
308
+ // Cursor has no plugin CLI — its install is editor-side only, so it is
309
+ // not in AGENTS and never appears in `detected`. Handle it as a success
310
+ // case: print guided instructions and return ok.
311
+ if (isInstalled("cursor")) {
312
+ process.stdout.write(" Detected coding agents:\n ✓ Cursor (cursor) — editor-side install\n\n");
313
+ printCursorInstructions();
314
+ await connectOrHint(agentBin);
315
+ return ok(undefined);
316
+ }
291
317
  // No login nudge here — a connect prompt before the user learns nothing
292
318
  // was detected is confusing, and pointless without an agent to feed.
293
319
  return err(cliErr({
294
320
  what: "no coding agents detected",
295
- why: "looked for `claude` and `codex` on PATH, in /opt/homebrew/bin, /usr/local/bin, ~/.local/bin, ~/bin, and via your login shell",
321
+ why: "looked for `claude` and `codex` on PATH, in /opt/homebrew/bin, /usr/local/bin, ~/.local/bin, ~/bin, and via your login shell; also looked for the `cursor` launcher (Cursor installs are editor-side via /add-plugin)",
296
322
  remedy: "if one IS installed: run `which codex` (or `which claude`) in your terminal, then `glen install --codex-path <that path>`. Docs: https://tryglen.com/docs/plugins",
297
323
  }));
298
324
  }
@@ -300,6 +326,9 @@ const install = async (agentBin, paths) => {
300
326
  for (const a of detected) {
301
327
  process.stdout.write(` ✓ ${a.name} (${a.bin})\n`);
302
328
  }
329
+ if (isInstalled("cursor")) {
330
+ process.stdout.write(" ✓ Cursor (cursor) — editor-side install\n");
331
+ }
303
332
  process.stdout.write("\n");
304
333
  // "claude-code" is the hook-line vocabulary (--agent claude-code) — accept
305
334
  // it as an alias for the claude bin.
@@ -326,12 +355,18 @@ const install = async (agentBin, paths) => {
326
355
  await connectOrHint(agentBin);
327
356
  return err(cliErr({
328
357
  what: `"${agentBin}" is not an installed agent`,
329
- why: "expected: claude | codex",
358
+ why: "expected: claude | codex | cursor",
330
359
  remedy: `if it IS installed, run \`which ${normalized}\` in your terminal and pass \`glen install --${normalized}-path <path>\``,
331
360
  }));
332
361
  }
333
362
  if (selected.length === 0) {
334
363
  process.stdout.write(" No plugins selected.\n");
364
+ // In interactive mode, still show Cursor guidance when it's detected so
365
+ // the user knows how to install the Cursor plugin even if they selected
366
+ // nothing from the AGENTS multiselect.
367
+ if (agentBin === undefined && isInstalled("cursor")) {
368
+ printCursorInstructions();
369
+ }
335
370
  await connectOrHint(agentBin);
336
371
  return ok(undefined);
337
372
  }
@@ -364,6 +399,11 @@ const install = async (agentBin, paths) => {
364
399
  }
365
400
  results.push(await handlePostInstall(agent));
366
401
  }
402
+ // Print Cursor instructions in the interactive flow when Cursor is detected —
403
+ // interactive users get the guided install alongside any scripted agents.
404
+ if (agentBin === undefined && isInstalled("cursor")) {
405
+ printCursorInstructions();
406
+ }
367
407
  // Best-effort: install the prepare-commit-msg git hook when inside a git
368
408
  // repo. A failure must never abort `glen install`.
369
409
  if (gitContext(process.cwd()).repoName) {
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ const maybeOnboard = async () => {
16
16
  const installed = await install();
17
17
  if (!installed.ok)
18
18
  process.stdout.write(formatCliError(installed.error));
19
- process.stdout.write("\n That's it! Open Claude Code or Codex — glen runs automatically.\n" +
19
+ process.stdout.write("\n That's it! Open Claude Code, Codex, or Cursor — glen runs automatically.\n" +
20
20
  " Anytime: `glen status` · `glen org switch` · `glen --help`\n\n");
21
21
  return ok("ran");
22
22
  };