shelbymcp 0.2.4 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -89,7 +89,25 @@ shelbymcp protocol >> ~/.gemini/GEMINI.md # Gemini
89
89
 
90
90
  For Cursor, paste into **Settings > Rules > User Rules**. For Claude Desktop, paste into **Settings > General > "What personal preferences should Claude consider in responses?"**. The Memory Protocol tells your agent *when* to save and search — without it, the tools are available but won't be used proactively.
91
91
 
92
- ### 4. Verify
92
+ ### 4. Seed Your Memory
93
+
94
+ Your database is empty after install. There are three ways to make it useful immediately:
95
+
96
+ ```bash
97
+ # Option A: Run the onboarding interview (recommended)
98
+ # Paste this into a conversation — it asks a few questions and saves 15-30 memories
99
+ shelbymcp onboard
100
+
101
+ # Option B: Import from another AI tool
102
+ # Paste this prompt into ChatGPT/Claude/Gemini, copy the response back
103
+ shelbymcp migrate
104
+
105
+ # Option C: Just start working — memories accumulate naturally over time
106
+ ```
107
+
108
+ The **onboard** skill runs a conversational interview covering who you are, what you're building, your team, preferences, and anti-patterns. Takes about 5 minutes. The **migrate** prompt tells your other AI tools to export everything they know about you in a structured format that ShelbyMCP can import.
109
+
110
+ ### 5. Verify
93
111
 
94
112
  Ask your agent: *"What memory tools do you have available?"*
95
113
 
@@ -194,6 +212,41 @@ ShelbyMCP works fine without it — you get persistent storage, FTS5 search, and
194
212
 
195
213
  ---
196
214
 
215
+ ## Getting Started: Onboard & Migrate
216
+
217
+ An empty memory database is a cold start problem — your AI tools can't personalize until they know something about you. ShelbyMCP ships with two tools to solve this:
218
+
219
+ ### The Onboard Skill (recommended)
220
+
221
+ A one-time conversational interview that seeds 15-30 foundational memories. Paste the prompt into a conversation with your primary AI tool:
222
+
223
+ ```bash
224
+ shelbymcp onboard
225
+ ```
226
+
227
+ It covers:
228
+ - **Who you are** — name, role, expertise
229
+ - **What you're building** — projects, goals, tech stack
230
+ - **Who you work with** — team, roles, stakeholders
231
+ - **How you like to work** — communication style, coding preferences, AI interaction style
232
+ - **What to avoid** — anti-patterns, pet peeves, past frustrations
233
+
234
+ Takes about 5 minutes. The skill adapts its questions based on your answers — if you're a solo founder, it won't ask about team structure. Memories are saved after each round so you can see them accumulate in real time.
235
+
236
+ ### The Migrate Prompt
237
+
238
+ Already have context stored in ChatGPT, Claude, Gemini, or another AI? Export it:
239
+
240
+ ```bash
241
+ shelbymcp migrate
242
+ ```
243
+
244
+ This prints a prompt you paste into your other AI tool. That tool dumps everything it knows about you in a structured format. Copy the response back into your ShelbyMCP-connected agent — the onboard skill will parse and import it, or you can just paste it into any conversation and ask the agent to import it.
245
+
246
+ Works with any AI that has memory or conversation history about you. Run it once per tool you're migrating from.
247
+
248
+ ---
249
+
197
250
  ## CLI Reference
198
251
 
199
252
  ```
@@ -203,6 +256,8 @@ shelbymcp setup <agent> --forage ...and install the Forage skill
203
256
  shelbymcp uninstall <agent> Remove ShelbyMCP from an agent
204
257
  shelbymcp protocol Print the Memory Protocol
205
258
  shelbymcp forage Print the Forage skill prompt
259
+ shelbymcp onboard Print the onboarding interview prompt
260
+ shelbymcp migrate Print the migration prompt for other AI tools
206
261
  shelbymcp help Show help
207
262
  shelbymcp --version Print version
208
263
  ```
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,IAAI,IAAI,CAiChC"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,IAAI,IAAI,CAqChC"}
package/dist/cli/help.js CHANGED
@@ -8,6 +8,8 @@ Usage:
8
8
  shelbymcp uninstall <agent> Remove ShelbyMCP from an agent
9
9
  shelbymcp protocol Print the Memory Protocol
10
10
  shelbymcp forage Print the Forage skill prompt
11
+ shelbymcp onboard Print the onboarding interview prompt
12
+ shelbymcp migrate Print the migration prompt for other AI tools
11
13
  shelbymcp help Show this help
12
14
 
13
15
  Setup agents:
@@ -29,6 +31,8 @@ Examples:
29
31
  shelbymcp setup claude-code Auto-configure Claude Code CLI
30
32
  shelbymcp protocol >> CLAUDE.md Append Memory Protocol to your rules
31
33
  shelbymcp forage > forage-task.md Save Forage prompt for scheduling
34
+ shelbymcp onboard Get started with the onboarding interview
35
+ shelbymcp migrate Export memories from ChatGPT/Gemini/etc.
32
36
 
33
37
  Docs: https://github.com/Studio-Moser/shelbymcp/docs/AGENT-SETUP.md`);
34
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oEA+BsD,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oEAmCsD,CAAC,CAAC;AACtE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function printMigrate(): void;
2
+ //# sourceMappingURL=migrate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/cli/migrate.ts"],"names":[],"mappings":"AAmCA,wBAAgB,YAAY,IAAI,IAAI,CAOnC"}
@@ -0,0 +1,41 @@
1
+ const MIGRATE_PROMPT = `I'm moving my AI memory to a new system. I need you to export everything you know about me in a structured format.
2
+
3
+ Go through your memory, conversation history, and any context you have about me. For each distinct piece of information, output it as a block in this exact format:
4
+
5
+ ---
6
+ type: [reference | decision | insight | task | note]
7
+ summary: [One line, under 100 characters — the key fact]
8
+ topics: [comma-separated tags]
9
+ people: [comma-separated names, if any]
10
+ ---
11
+ [The full detail about this item. Be specific — include names, dates, tools, and reasoning.]
12
+
13
+ Use these types:
14
+ - **reference** — Facts about me, my role, my team, my projects, my tech stack
15
+ - **decision** — Preferences, rules, choices I've made about how I work or how AI should behave
16
+ - **insight** — Non-obvious things you've learned about my work or domain
17
+ - **task** — Active goals, deadlines, or things I'm working toward
18
+ - **note** — Anything else worth remembering that doesn't fit the above
19
+
20
+ Cover these areas (skip any you don't have information about):
21
+ 1. **Who I am** — Name, role, company, expertise, background, location, personal interests
22
+ 2. **What I'm building** — Active projects, goals, tech stack, architecture decisions
23
+ 3. **Who I work with** — Team members, their roles, key relationships
24
+ 4. **How I like to work** — Communication preferences, code style, what role I want AI to play
25
+ 5. **What to avoid** — Anti-patterns, pet peeves, things I've corrected you about
26
+ 6. **Corrections and behavioral rules** — Things I've repeatedly asked you to do differently, specific instructions I've given about how to respond
27
+ 7. **Key decisions** — Important choices I've made and why, including things I changed my mind about
28
+ 8. **Active context** — Current deadlines, blockers, priorities
29
+ 9. **Learning and growth** — Skills I'm developing, things I'm trying to get better at
30
+ 10. **Anything else** — Personal context, values, habits, or patterns you've noticed
31
+
32
+ Be thorough. Include everything you'd want a new AI assistant to know about me on day one. Don't summarize or compress — detail is valuable. Preserve my exact words when possible.
33
+
34
+ Output ONLY the formatted blocks, no introduction or conclusion.`;
35
+ export function printMigrate() {
36
+ console.error("Paste this prompt into any AI tool that knows about you (ChatGPT, Claude, Gemini, etc.).\n" +
37
+ "Copy the response and paste it into your ShelbyMCP-connected agent during onboarding.\n" +
38
+ "The onboard skill will parse and import it automatically.\n");
39
+ console.log(MIGRATE_PROMPT);
40
+ }
41
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/cli/migrate.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iEAiC0C,CAAC;AAElE,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAC,KAAK,CACX,4FAA4F;QAC5F,yFAAyF;QACzF,6DAA6D,CAC9D,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function printOnboard(): void;
2
+ //# sourceMappingURL=onboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../src/cli/onboard.ts"],"names":[],"mappings":"AASA,wBAAgB,YAAY,IAAI,IAAI,CAgBnC"}
@@ -0,0 +1,23 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { resolve, dirname } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ function getSkillPath() {
5
+ const thisFile = fileURLToPath(import.meta.url);
6
+ return resolve(dirname(thisFile), "..", "..", "skills", "shelby-onboard", "SKILL.md");
7
+ }
8
+ export function printOnboard() {
9
+ console.error("Paste this into a conversation with your primary AI tool.\n" +
10
+ "It will run an interactive interview and seed your ShelbyMCP memory.\n" +
11
+ "Run once — after that, memories accumulate naturally.\n");
12
+ try {
13
+ const skill = readFileSync(getSkillPath(), "utf-8");
14
+ // Strip YAML frontmatter — agents don't need it when pasted directly
15
+ const body = skill.replace(/^---[\s\S]*?---\n*/, "");
16
+ console.log(body);
17
+ }
18
+ catch {
19
+ console.error("Could not read skills/shelby-onboard/SKILL.md from the package.");
20
+ console.error("Reinstall: npm install -g shelbymcp");
21
+ }
22
+ }
23
+ //# sourceMappingURL=onboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../src/cli/onboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,SAAS,YAAY;IACnB,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAC,KAAK,CACX,6DAA6D;QAC7D,wEAAwE;QACxE,yDAAyD,CAC1D,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,YAAY,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;QACpD,qEAAqE;QACrE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACjF,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare function runSetup(agent: string | undefined, forage: boolean): void;
1
+ export declare function runSetup(agent: string | undefined, forage: boolean, onboard?: boolean): void;
2
2
  //# sourceMappingURL=setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AA+cA,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CA6CzE"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAwfA,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAkD5F"}
package/dist/cli/setup.js CHANGED
@@ -77,6 +77,47 @@ function appendProtocolToFile(filePath) {
77
77
  appendFileSync(filePath, "\n" + MEMORY_PROTOCOL + "\n");
78
78
  console.log(`\nMemory Protocol added to ${filePath}`);
79
79
  }
80
+ /**
81
+ * Build the TOML block for a Codex MCP server entry.
82
+ * Handles nvm detection the same way buildServerCommand() does for JSON configs.
83
+ */
84
+ function buildTomlBlock(serverKey = "shelbymcp") {
85
+ const cmd = buildServerCommand();
86
+ const lines = [`[mcp_servers.${serverKey}]`];
87
+ lines.push(`command = ${JSON.stringify(cmd.command)}`);
88
+ lines.push(`args = ${JSON.stringify(cmd.args)}`);
89
+ if (cmd.env) {
90
+ lines.push("[mcp_servers." + serverKey + ".env]");
91
+ for (const [k, v] of Object.entries(cmd.env)) {
92
+ lines.push(`${k} = ${JSON.stringify(v)}`);
93
+ }
94
+ }
95
+ return lines.join("\n");
96
+ }
97
+ /**
98
+ * Merge a ShelbyMCP server entry into a TOML config file.
99
+ * Does a simple text-based check/append — avoids pulling in a TOML parser dependency.
100
+ */
101
+ function mergeTomlConfig(filePath, serverKey = "shelbymcp") {
102
+ let existing = "";
103
+ if (existsSync(filePath)) {
104
+ existing = readFileSync(filePath, "utf-8");
105
+ if (existing.includes(`[mcp_servers.${serverKey}]`)) {
106
+ console.log(`"${serverKey}" server already exists in ${filePath}`);
107
+ console.log("To reconfigure, remove the existing entry first.");
108
+ return false;
109
+ }
110
+ }
111
+ const dir = dirname(filePath);
112
+ if (!existsSync(dir)) {
113
+ mkdirSync(dir, { recursive: true });
114
+ }
115
+ const block = buildTomlBlock(serverKey);
116
+ const content = existing ? existing.trimEnd() + "\n\n" + block + "\n" : block + "\n";
117
+ writeFileSync(filePath, content);
118
+ console.log(`Added ShelbyMCP to ${filePath}`);
119
+ return true;
120
+ }
80
121
  function mergeJsonConfig(filePath, serverEntry, serverKey = "shelbymcp") {
81
122
  let config = {};
82
123
  if (existsSync(filePath)) {
@@ -114,7 +155,8 @@ function printForageInstructions(agent) {
114
155
  console.log(" 2. Create a new local task, set frequency to Daily");
115
156
  console.log(" 3. Paste the Forage prompt: run `shelbymcp forage` to get it");
116
157
  console.log("");
117
- console.log("Also add this to your Profile Preferences (alongside the Memory Protocol):");
158
+ console.log("Optional: Add this to your Profile Preferences");
159
+ console.log(" (Settings > General > personal preferences):");
118
160
  console.log("");
119
161
  console.log(" When starting a conversation, check ShelbyMCP for items that need attention:");
120
162
  console.log(' use `list_thoughts` with `topic: "needs-attention"` and `limit: 5`.');
@@ -179,9 +221,9 @@ function setupClaudeCode(forage) {
179
221
  console.log("\nCould not add automatically. Run manually:");
180
222
  console.log(" claude mcp add -s user -t stdio shelbymcp -- npx shelbymcp");
181
223
  }
182
- // Auto-append Memory Protocol to ~/.claude/CLAUDE.md
183
- const claudeMdPath = resolve(homedir(), ".claude/CLAUDE.md");
184
- appendProtocolToFile(claudeMdPath);
224
+ // Claude Code supports MCP prompts — the Memory Protocol is served
225
+ // directly from the MCP server. No need to append to CLAUDE.md.
226
+ console.log("\nMemory Protocol is available via MCP prompts (no rules file needed).");
185
227
  if (!forage) {
186
228
  console.log("\nShelbyMCP installed for Claude Code!");
187
229
  }
@@ -237,11 +279,8 @@ function setupClaudeDesktop(forage) {
237
279
  console.log("\nIMPORTANT: Quit and restart Claude Desktop after editing.");
238
280
  console.log("\nNote: Claude Desktop and Claude Code CLI have separate configs.");
239
281
  console.log("Setting up one does NOT configure the other.");
240
- console.log("\nNext: Add the Memory Protocol to your Desktop profile:");
241
- console.log(" 1. Run: shelbymcp protocol");
242
- console.log(" 2. Copy the output");
243
- console.log(" 3. Open Settings > General > \"What personal preferences should Claude consider in responses?\"");
244
- console.log(" 4. Paste the protocol text into that field");
282
+ // Claude Desktop supports MCP prompts — no need to paste protocol manually.
283
+ console.log("\nMemory Protocol is available via MCP prompts (no manual paste needed).");
245
284
  if (forage) {
246
285
  printForageInstructions("claude-desktop");
247
286
  }
@@ -252,57 +291,43 @@ function setupCursor(forage) {
252
291
  const entry = { type: "stdio", ...buildServerCommand() };
253
292
  mergeJsonConfig(configPath, entry);
254
293
  console.log("\nOr add via UI: Settings > Tools & MCP > New MCP Server");
255
- console.log("\nNext: Add the Memory Protocol to Cursor:");
256
- console.log(" 1. Open Cursor Settings > Rules");
257
- console.log(" 2. Under \"User Rules\", paste the output of: shelbymcp protocol");
258
- console.log(" (This applies the Memory Protocol to all your Cursor projects)");
259
- console.log("");
260
- console.log(" Or, to add per-project instead, run from your project root:");
261
- console.log(" mkdir -p .cursor/rules");
262
- console.log(" shelbymcp protocol > .cursor/rules/shelbymcp.mdc");
263
- console.log(" (Then prepend '---\\nalwaysApply: true\\n---\\n' to the file)");
294
+ // Cursor supports MCP prompts — no need to add rules files.
295
+ console.log("\nMemory Protocol is available via MCP prompts (no rules file needed).");
264
296
  if (forage) {
265
297
  printForageInstructions("cursor");
266
298
  }
267
299
  console.log("\nShelbyMCP MCP server installed for Cursor!");
268
300
  }
269
301
  function setupCodex(forage) {
302
+ const configPath = resolve(homedir(), ".codex/config.toml");
303
+ let installed = false;
304
+ // Try the CLI first, fall back to direct file write
270
305
  try {
271
306
  execSync(whichCmd("codex"), { stdio: "ignore" });
307
+ console.log("Adding ShelbyMCP to Codex...\n");
308
+ try {
309
+ const cmd = buildServerCommand();
310
+ const addCmd = `codex mcp add shelbymcp -- ${cmd.command} ${cmd.args.join(" ")}`;
311
+ execSync(addCmd, { stdio: "inherit" });
312
+ console.log("\nShelbyMCP added to Codex.");
313
+ installed = true;
314
+ }
315
+ catch {
316
+ console.log("\nCould not add via CLI. Writing config directly...");
317
+ }
272
318
  }
273
319
  catch {
274
- console.log("Codex CLI not found.\n");
275
- console.log("Add this to ~/.codex/config.toml:\n");
276
- console.log("[mcp_servers.shelbymcp]");
277
- console.log('command = "npx"');
278
- console.log('args = ["shelbymcp"]');
279
- // Auto-append Memory Protocol to ~/.codex/AGENTS.md
280
- const agentsMdPath = resolve(homedir(), ".codex/AGENTS.md");
281
- appendProtocolToFile(agentsMdPath);
282
- if (forage) {
283
- printForageInstructions("codex");
284
- }
285
- console.log("\nShelbyMCP installed for Codex!");
286
- return;
320
+ // Codex CLI not found — write directly
287
321
  }
288
- console.log("Adding ShelbyMCP to Codex...\n");
289
- try {
290
- execSync("codex mcp add shelbymcp -- npx shelbymcp", { stdio: "inherit" });
291
- console.log("\nShelbyMCP added to Codex.");
322
+ if (!installed) {
323
+ mergeTomlConfig(configPath);
292
324
  }
293
- catch {
294
- console.log("\nCould not add automatically. Add to ~/.codex/config.toml:\n");
295
- console.log("[mcp_servers.shelbymcp]");
296
- console.log('command = "npx"');
297
- console.log('args = ["shelbymcp"]');
298
- }
299
- // Auto-append Memory Protocol to ~/.codex/AGENTS.md
300
- const agentsMdPath = resolve(homedir(), ".codex/AGENTS.md");
301
- appendProtocolToFile(agentsMdPath);
325
+ // Codex supports MCP prompts — no need to append to AGENTS.md.
326
+ console.log("\nMemory Protocol is available via MCP prompts (no rules file needed).");
302
327
  if (forage) {
303
328
  printForageInstructions("codex");
304
329
  }
305
- console.log("\nShelbyMCP installed for Codex!");
330
+ console.log("\nShelbyMCP installed for Codex (CLI, Desktop & IDE Extension)!");
306
331
  }
307
332
  function setupWindsurf(forage) {
308
333
  const configPath = resolve(homedir(), ".codeium/windsurf/mcp_config.json");
@@ -391,9 +416,23 @@ function setupAntigravity(forage) {
391
416
  // ---------------------------------------------------------------------------
392
417
  // Entry point
393
418
  // ---------------------------------------------------------------------------
394
- export function runSetup(agent, forage) {
419
+ function printOnboardInstructions() {
420
+ console.log("\n--- Get Started ---\n");
421
+ console.log("Your memory database is empty. To seed it with foundational context:");
422
+ console.log("");
423
+ console.log(" Option 1: Run the onboarding interview");
424
+ console.log(" Paste the output of `shelbymcp onboard` into a conversation.");
425
+ console.log(" It will ask a few questions and save 15-30 memories about you.");
426
+ console.log("");
427
+ console.log(" Option 2: Import from another AI tool");
428
+ console.log(" Run `shelbymcp migrate` and paste the prompt into ChatGPT/Gemini/etc.");
429
+ console.log(" Copy the response back into your ShelbyMCP-connected agent.");
430
+ console.log("");
431
+ console.log(" Or just start working — memories will accumulate naturally over time.");
432
+ }
433
+ export function runSetup(agent, forage, onboard) {
395
434
  if (!agent) {
396
- console.log("Usage: shelbymcp setup <agent> [--forage]\n");
435
+ console.log("Usage: shelbymcp setup <agent> [--forage] [--onboard]\n");
397
436
  console.log("Agents:");
398
437
  console.log(" claude-code Claude Code CLI");
399
438
  console.log(" claude-desktop Claude Desktop app");
@@ -404,6 +443,7 @@ export function runSetup(agent, forage) {
404
443
  console.log(" antigravity Antigravity (Google)");
405
444
  console.log("\nFlags:");
406
445
  console.log(" --forage Also set up the Forage enrichment skill");
446
+ console.log(" --onboard Show onboarding instructions after setup");
407
447
  return;
408
448
  }
409
449
  if (!isAgent(agent)) {
@@ -434,5 +474,8 @@ export function runSetup(agent, forage) {
434
474
  setupAntigravity(forage);
435
475
  break;
436
476
  }
477
+ if (onboard) {
478
+ printOnboardInstructions();
479
+ }
437
480
  }
438
481
  //# sourceMappingURL=setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -4,9 +4,10 @@ export interface ShelbyConfig {
4
4
  logFile: string | null;
5
5
  }
6
6
  export interface CliCommand {
7
- command: "help" | "setup" | "uninstall" | "protocol" | "forage";
7
+ command: "help" | "setup" | "uninstall" | "protocol" | "forage" | "onboard" | "migrate";
8
8
  agent?: string;
9
9
  forage?: boolean;
10
+ onboard?: boolean;
10
11
  }
11
12
  export declare function parseArgs(argv: string[]): ShelbyConfig | "version" | CliCommand;
12
13
  export declare function getDefaultDbPath(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAKD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,GAAG,SAAS,GAAG,UAAU,CAoD/E;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACxF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAKD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,GAAG,SAAS,GAAG,UAAU,CA6D/E;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC"}
package/dist/config.js CHANGED
@@ -10,8 +10,9 @@ export function parseArgs(argv) {
10
10
  }
11
11
  if (first === "setup") {
12
12
  const forage = argv.includes("--forage");
13
+ const onboard = argv.includes("--onboard");
13
14
  const agent = argv[1] && !argv[1].startsWith("--") ? argv[1] : undefined;
14
- return { command: "setup", agent, forage };
15
+ return { command: "setup", agent, forage, onboard };
15
16
  }
16
17
  if (first === "uninstall") {
17
18
  const agent = argv[1] && !argv[1].startsWith("--") ? argv[1] : undefined;
@@ -23,6 +24,12 @@ export function parseArgs(argv) {
23
24
  if (first === "forage") {
24
25
  return { command: "forage" };
25
26
  }
27
+ if (first === "onboard") {
28
+ return { command: "onboard" };
29
+ }
30
+ if (first === "migrate") {
31
+ return { command: "migrate" };
32
+ }
26
33
  // Parse flags for server mode
27
34
  const config = {
28
35
  dbPath: DEFAULT_DB_PATH,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAclC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AACxD,MAAM,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;AAE7D,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,0CAA0C;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAEtB,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzB,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,8BAA8B;IAC9B,MAAM,MAAM,GAAiB;QAC3B,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,IAAI;KACd,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,MAAM;gBACT,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC;gBACtD,MAAM;YACR,KAAK,WAAW;gBACd,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtB,MAAM;YACR,KAAK,YAAY;gBACf,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,WAAW;gBACd,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,cAAc,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,16 @@ export declare class ThoughtDatabase {
3
3
  readonly db: Database.Database;
4
4
  constructor(dbPath: string);
5
5
  getSchemaVersion(): number;
6
+ /**
7
+ * Return distinct values for a JSON array column (topics, people) that
8
+ * start with the given prefix. Used by MCP completion.
9
+ */
10
+ getDistinctArrayValues(column: "topics" | "people", prefix: string, limit?: number): string[];
11
+ /**
12
+ * Return distinct scalar column values that start with the given prefix.
13
+ * Used by MCP completion for project, source, type.
14
+ */
15
+ getDistinctValues(column: "project" | "source" | "type", prefix: string, limit?: number): string[];
6
16
  close(): void;
7
17
  }
8
18
  //# sourceMappingURL=database.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAKtC,qBAAa,eAAe;IAC1B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;gBAEnB,MAAM,EAAE,MAAM;IAc1B,gBAAgB,IAAI,MAAM;IAI1B,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAKtC,qBAAa,eAAe;IAC1B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;gBAEnB,MAAM,EAAE,MAAM;IAc1B,gBAAgB,IAAI,MAAM;IAI1B;;;OAGG;IACH,sBAAsB,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,MAAM,EAAE;IAgBzF;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,MAAM,EAAE;IAc9F,KAAK,IAAI,IAAI;CAGd"}
@@ -18,6 +18,36 @@ export class ThoughtDatabase {
18
18
  getSchemaVersion() {
19
19
  return getSchemaVersion(this.db);
20
20
  }
21
+ /**
22
+ * Return distinct values for a JSON array column (topics, people) that
23
+ * start with the given prefix. Used by MCP completion.
24
+ */
25
+ getDistinctArrayValues(column, prefix, limit = 20) {
26
+ // topics and people are stored as JSON arrays, so we use json_each to
27
+ // explode them and then filter/dedupe.
28
+ const rows = this.db
29
+ .prepare(`SELECT DISTINCT je.value AS val
30
+ FROM thoughts, json_each(thoughts.${column}) AS je
31
+ WHERE je.value LIKE @prefix
32
+ ORDER BY je.value
33
+ LIMIT @limit`)
34
+ .all({ prefix: `${prefix}%`, limit });
35
+ return rows.map((r) => r.val);
36
+ }
37
+ /**
38
+ * Return distinct scalar column values that start with the given prefix.
39
+ * Used by MCP completion for project, source, type.
40
+ */
41
+ getDistinctValues(column, prefix, limit = 20) {
42
+ const rows = this.db
43
+ .prepare(`SELECT DISTINCT ${column} AS val
44
+ FROM thoughts
45
+ WHERE ${column} IS NOT NULL AND ${column} LIKE @prefix
46
+ ORDER BY ${column}
47
+ LIMIT @limit`)
48
+ .all({ prefix: `${prefix}%`, limit });
49
+ return rows.map((r) => r.val);
50
+ }
21
51
  close() {
22
52
  this.db.close();
23
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAElE,MAAM,OAAO,eAAe;IACjB,EAAE,CAAoB;IAE/B,YAAY,MAAc;QACxB,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAEpC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IAED,gBAAgB;QACd,OAAO,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;CACF"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAElE,MAAM,OAAO,eAAe;IACjB,EAAE,CAAoB;IAE/B,YAAY,MAAc;QACxB,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAEpC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IAED,gBAAgB;QACd,OAAO,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED;;;OAGG;IACH,sBAAsB,CAAC,MAA2B,EAAE,MAAc,EAAE,KAAK,GAAG,EAAE;QAC5E,sEAAsE;QACtE,uCAAuC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CACN;6CACqC,MAAM;;;sBAG7B,CACf;aACA,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,EAAE,KAAK,EAAE,CAAsB,CAAC;QAE7D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,MAAqC,EAAE,MAAc,EAAE,KAAK,GAAG,EAAE;QACjF,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CACN,mBAAmB,MAAM;;iBAEhB,MAAM,oBAAoB,MAAM;oBAC7B,MAAM;sBACJ,CACf;aACA,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,EAAE,KAAK,EAAE,CAAsB,CAAC;QAE7D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;CACF"}
package/dist/index.js CHANGED
@@ -5,6 +5,8 @@ import { createServer } from "./mcp/server.js";
5
5
  import { printHelp } from "./cli/help.js";
6
6
  import { printProtocol } from "./cli/protocol.js";
7
7
  import { printForage } from "./cli/forage.js";
8
+ import { printOnboard } from "./cli/onboard.js";
9
+ import { printMigrate } from "./cli/migrate.js";
8
10
  import { runSetup } from "./cli/setup.js";
9
11
  import { runUninstall } from "./cli/uninstall.js";
10
12
  async function main() {
@@ -19,7 +21,7 @@ async function main() {
19
21
  printHelp();
20
22
  break;
21
23
  case "setup":
22
- runSetup(config.agent, config.forage ?? false);
24
+ runSetup(config.agent, config.forage ?? false, config.onboard);
23
25
  break;
24
26
  case "uninstall":
25
27
  runUninstall(config.agent);
@@ -30,6 +32,12 @@ async function main() {
30
32
  case "forage":
31
33
  printForage();
32
34
  break;
35
+ case "onboard":
36
+ printOnboard();
37
+ break;
38
+ case "migrate":
39
+ printMigrate();
40
+ break;
33
41
  }
34
42
  process.exit(0);
35
43
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;QACtD,QAAQ,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,KAAK,MAAM;gBACT,SAAS,EAAE,CAAC;gBACZ,MAAM;YACR,KAAK,OAAO;gBACV,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,WAAW;gBACd,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM;YACR,KAAK,UAAU;gBACb,aAAa,EAAE,CAAC;gBAChB,MAAM;YACR,KAAK,QAAQ;gBACX,WAAW,EAAE,CAAC;gBACd,MAAM;QACV,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;AACrD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;QACtD,QAAQ,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,KAAK,MAAM;gBACT,SAAS,EAAE,CAAC;gBACZ,MAAM;YACR,KAAK,OAAO;gBACV,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC/D,MAAM;YACR,KAAK,WAAW;gBACd,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM;YACR,KAAK,UAAU;gBACb,aAAa,EAAE,CAAC;gBAChB,MAAM;YACR,KAAK,QAAQ;gBACX,WAAW,EAAE,CAAC;gBACd,MAAM;YACR,KAAK,SAAS;gBACZ,YAAY,EAAE,CAAC;gBACf,MAAM;YACR,KAAK,SAAS;gBACZ,YAAY,EAAE,CAAC;gBACf,MAAM;QACV,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;AACrD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAapD,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,eAAe,CAAA;CAAE,CAkR7F"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAmBpD,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,eAAe,CAAA;CAAE,CAme7F"}
@@ -1,4 +1,5 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { CompleteRequestSchema, SetLevelRequestSchema } from "@modelcontextprotocol/sdk/types.js";
2
3
  import { z } from "zod";
3
4
  import { ThoughtDatabase } from "../db/database.js";
4
5
  import { VALID_EDGE_TYPES } from "../db/edges.js";
@@ -11,12 +12,59 @@ import { handleDeleteThought } from "../tools/delete.js";
11
12
  import { handleManageEdges, handleExploreGraph } from "../tools/graph.js";
12
13
  import { handleThoughtStats } from "../tools/stats.js";
13
14
  const VERSION = "0.1.0";
15
+ // Logging levels in order of severity (syslog-style)
16
+ const LOG_LEVELS = [
17
+ "debug", "info", "notice", "warning", "error", "critical", "alert", "emergency",
18
+ ];
14
19
  export function createServer(config) {
15
20
  const server = new McpServer({
16
21
  name: "shelbymcp",
17
22
  version: VERSION,
18
23
  });
19
24
  const db = new ThoughtDatabase(config.dbPath);
25
+ // ---------------------------------------------------------------------------
26
+ // Logging
27
+ // ---------------------------------------------------------------------------
28
+ // Register the logging capability so clients know we emit structured logs.
29
+ // The client can adjust verbosity via logging/setLevel.
30
+ let currentLogLevel = "info";
31
+ server.server.registerCapabilities({ logging: {} });
32
+ server.server.setRequestHandler(SetLevelRequestSchema, async (request) => {
33
+ currentLogLevel = request.params.level;
34
+ return {};
35
+ });
36
+ function shouldLog(level) {
37
+ return LOG_LEVELS.indexOf(level) >= LOG_LEVELS.indexOf(currentLogLevel);
38
+ }
39
+ function log(level, logger, data) {
40
+ if (!shouldLog(level))
41
+ return;
42
+ server.sendLoggingMessage({ level, logger, data }).catch(() => {
43
+ // Swallow — client may have disconnected
44
+ });
45
+ }
46
+ /**
47
+ * Wrap a tool handler to emit structured log messages on invocation and completion.
48
+ */
49
+ function withLogging(toolName, handler) {
50
+ return async (args) => {
51
+ log("debug", toolName, { event: "invoked", args });
52
+ try {
53
+ const result = await handler(args);
54
+ if (result.isError) {
55
+ log("warning", toolName, { event: "error", message: result.content[0]?.text });
56
+ }
57
+ else {
58
+ log("info", toolName, { event: "completed" });
59
+ }
60
+ return result;
61
+ }
62
+ catch (err) {
63
+ log("error", toolName, { event: "exception", message: String(err) });
64
+ throw err;
65
+ }
66
+ };
67
+ }
20
68
  // --- capture_thought ---
21
69
  server.registerTool("capture_thought", {
22
70
  title: "Capture Thought",
@@ -55,9 +103,7 @@ export function createServer(config) {
55
103
  .describe("Bulk capture: array of thoughts")
56
104
  .optional(),
57
105
  },
58
- }, async (args) => {
59
- return handleCaptureThought(db, args);
60
- });
106
+ }, withLogging("capture_thought", (args) => handleCaptureThought(db, args)));
61
107
  // --- search_thoughts ---
62
108
  server.registerTool("search_thoughts", {
63
109
  title: "Search Thoughts",
@@ -79,9 +125,7 @@ export function createServer(config) {
79
125
  type: z.string().describe("Filter by thought type").optional(),
80
126
  project: z.string().describe("Filter by project").optional(),
81
127
  },
82
- }, async (args) => {
83
- return handleSearchThoughts(db, args);
84
- });
128
+ }, withLogging("search_thoughts", (args) => handleSearchThoughts(db, args)));
85
129
  // --- list_thoughts ---
86
130
  server.registerTool("list_thoughts", {
87
131
  title: "List Thoughts",
@@ -104,9 +148,7 @@ export function createServer(config) {
104
148
  limit: z.number().describe("Max results (default 20, max 100)").optional(),
105
149
  offset: z.number().describe("Pagination offset").optional(),
106
150
  },
107
- }, async (args) => {
108
- return handleListThoughts(db, args);
109
- });
151
+ }, withLogging("list_thoughts", (args) => handleListThoughts(db, args)));
110
152
  // --- get_thought ---
111
153
  server.registerTool("get_thought", {
112
154
  title: "Get Thought",
@@ -120,9 +162,7 @@ export function createServer(config) {
120
162
  inputSchema: {
121
163
  id: z.string().describe("Thought UUID"),
122
164
  },
123
- }, async (args) => {
124
- return handleGetThought(db, args);
125
- });
165
+ }, withLogging("get_thought", (args) => handleGetThought(db, args)));
126
166
  // --- update_thought ---
127
167
  server.registerTool("update_thought", {
128
168
  title: "Update Thought",
@@ -146,9 +186,7 @@ export function createServer(config) {
146
186
  metadata: z.record(z.unknown()).describe("New metadata").optional(),
147
187
  visibility: z.string().describe("New visibility").optional(),
148
188
  },
149
- }, async (args) => {
150
- return handleUpdateThought(db, args);
151
- });
189
+ }, withLogging("update_thought", (args) => handleUpdateThought(db, args)));
152
190
  // --- delete_thought ---
153
191
  server.registerTool("delete_thought", {
154
192
  title: "Delete Thought",
@@ -162,9 +200,7 @@ export function createServer(config) {
162
200
  inputSchema: {
163
201
  id: z.string().describe("Thought UUID to delete"),
164
202
  },
165
- }, async (args) => {
166
- return handleDeleteThought(db, args);
167
- });
203
+ }, withLogging("delete_thought", (args) => handleDeleteThought(db, args)));
168
204
  // --- manage_edges ---
169
205
  server.registerTool("manage_edges", {
170
206
  title: "Manage Edges",
@@ -184,9 +220,7 @@ export function createServer(config) {
184
220
  .describe("Relationship type"),
185
221
  metadata: z.record(z.unknown()).describe("Edge metadata").optional(),
186
222
  },
187
- }, async (args) => {
188
- return handleManageEdges(db, args);
189
- });
223
+ }, withLogging("manage_edges", (args) => handleManageEdges(db, args)));
190
224
  // --- explore_graph ---
191
225
  server.registerTool("explore_graph", {
192
226
  title: "Explore Graph",
@@ -208,9 +242,7 @@ export function createServer(config) {
208
242
  .describe("Filter by edge types")
209
243
  .optional(),
210
244
  },
211
- }, async (args) => {
212
- return handleExploreGraph(db, args);
213
- });
245
+ }, withLogging("explore_graph", (args) => handleExploreGraph(db, args)));
214
246
  // --- thought_stats ---
215
247
  server.registerTool("thought_stats", {
216
248
  title: "Thought Stats",
@@ -222,9 +254,171 @@ export function createServer(config) {
222
254
  openWorldHint: false,
223
255
  },
224
256
  inputSchema: {},
225
- }, async () => {
226
- return handleThoughtStats(db);
257
+ }, withLogging("thought_stats", () => handleThoughtStats(db)));
258
+ // --- Resources ---
259
+ // Stub so that clients calling resources/list (e.g. Codex) get an empty
260
+ // list instead of "Method not found", which prevents them from registering
261
+ // the server.
262
+ server.registerResource("status", "shelbymcp://status", {
263
+ description: "ShelbyMCP server status",
264
+ }, async () => ({
265
+ contents: [{
266
+ uri: "shelbymcp://status",
267
+ text: JSON.stringify({ status: "ok", tools: 8, prompts: 3 }),
268
+ mimeType: "application/json",
269
+ }],
270
+ }));
271
+ // --- MCP Prompts ---
272
+ // These teach agents how to use ShelbyMCP effectively.
273
+ // Agents that support prompts get this automatically; the protocol
274
+ // appended to agent rules files (CLAUDE.md, AGENTS.md) is a fallback.
275
+ server.registerPrompt("memory-protocol", {
276
+ title: "Memory Protocol",
277
+ description: "Core rules for when and how to use ShelbyMCP. Read this at the start of every session.",
278
+ }, async () => ({
279
+ messages: [{
280
+ role: "user",
281
+ content: {
282
+ type: "text",
283
+ text: `# ShelbyMCP — Memory Protocol
284
+
285
+ You have persistent memory via ShelbyMCP tools. Memory survives across sessions and is shared across all AI tools the user works with. You MUST use it — do not rely on conversation context alone.
286
+
287
+ ## When to SAVE (mandatory)
288
+
289
+ Call \`capture_thought\` after any of these events:
290
+
291
+ - **Decisions**: Architecture choices, library selections, tradeoffs
292
+ - **Preferences**: User likes/dislikes, workflow habits, coding style
293
+ - **People & roles**: Who does what
294
+ - **Project context**: Goals, deadlines, constraints, scope changes
295
+ - **Bugs & fixes**: Root cause discoveries, workarounds
296
+ - **Architecture & patterns**: System design, data flow, conventions
297
+ - **Insights**: Non-obvious learnings, things that surprised you
298
+
299
+ Always include: a \`summary\` (one-line, <100 chars), a \`type\`, relevant \`topics\`, and link to \`related_to\` thoughts when applicable.
300
+
301
+ ## When to SEARCH (mandatory)
302
+
303
+ Call \`search_thoughts\` or \`list_thoughts\` before:
304
+
305
+ - Starting work on any task
306
+ - Making a decision — check for prior decisions on the same topic
307
+ - When something feels familiar — it probably is
308
+ - After context compaction — immediately search to recover session context
309
+ - When the user says "remember", "recall", "what do we know about", "what did we decide"
310
+
311
+ ## What NOT to save
312
+
313
+ - Ephemeral debugging output (stack traces, log lines)
314
+ - Code content already in git — save the *decision*, not the code
315
+ - Transient conversation — save the conclusion, not the process
316
+ - Duplicates — search first, use \`update_thought\` instead of creating new ones`,
317
+ },
318
+ }],
319
+ }));
320
+ server.registerPrompt("save-guide", {
321
+ title: "How to Save Thoughts Well",
322
+ description: "Best practices for creating high-quality, searchable memories. Read when saving important information.",
323
+ }, async () => ({
324
+ messages: [{
325
+ role: "user",
326
+ content: {
327
+ type: "text",
328
+ text: `# How to Save Thoughts Well
329
+
330
+ 1. **Summary first.** Search results only show summaries. A thought without a summary is invisible to future searches. Keep summaries under 100 characters.
331
+
332
+ 2. **Type accurately.** Use \`decision\`, \`task\`, \`question\`, \`reference\`, \`insight\`, or \`note\`. Don't default everything to \`note\`.
333
+
334
+ 3. **Tag topics and people.** These are the primary filters for \`list_thoughts\`. Use consistent topic names across thoughts (e.g., always "auth" not sometimes "authentication").
335
+
336
+ 4. **Link related thoughts.** Use \`manage_edges\` to connect decisions to the tasks they affect, references to the insights they support. Edge types: \`refines\`, \`cites\`, \`refuted_by\`, \`tags\`, \`related\`, \`follows\`.
337
+
338
+ 5. **Update, don't duplicate.** If a thought exists but is outdated, use \`update_thought\`. Don't create a new one.
339
+
340
+ 6. **Be specific.** "We discussed the API" is useless. "Chose REST over GraphQL for the public API because most consumers are mobile apps with bandwidth constraints" is searchable and actionable.
341
+
342
+ 7. **Capture the why.** Facts change; reasoning persists. "Using SQLite" is a fact you can see in the code. "Chose SQLite over Postgres because all 4 machines need offline access without a central server" is the decision worth saving.`,
343
+ },
344
+ }],
345
+ }));
346
+ server.registerPrompt("tool-guide", {
347
+ title: "ShelbyMCP Tool Guide",
348
+ description: "Quick reference for all available tools and when to use each one.",
349
+ }, async () => ({
350
+ messages: [{
351
+ role: "user",
352
+ content: {
353
+ type: "text",
354
+ text: `# ShelbyMCP Tool Guide
355
+
356
+ ## Capture & Update
357
+ - \`capture_thought\` — Save a new thought. Supports bulk capture via the \`thoughts\` array parameter.
358
+ - \`update_thought\` — Modify an existing thought. Supports bulk update via \`ids\` array. Use this instead of deleting and recreating.
359
+ - \`delete_thought\` — Remove a thought and all its edges. Use sparingly — prefer updating.
360
+
361
+ ## Search & Browse
362
+ - \`search_thoughts\` — Full-text search. Returns summaries only. Use \`get_thought\` to read full content of interesting results.
363
+ - \`list_thoughts\` — Filter by type, topic, person, project, date range, or summary presence. Good for browsing a category.
364
+ - \`get_thought\` — Fetch a single thought by ID with full content. Use after search/list to drill into details.
365
+
366
+ ## Graph
367
+ - \`manage_edges\` — Create or remove typed relationships between thoughts. Actions: \`link\`, \`unlink\`. Types: \`refines\`, \`cites\`, \`refuted_by\`, \`tags\`, \`related\`, \`follows\`.
368
+ - \`explore_graph\` — Traverse relationships from a starting thought. Set \`max_depth\` (1-5) and optionally filter by \`edge_types\`.
369
+
370
+ ## Stats
371
+ - \`thought_stats\` — Aggregate counts by type, top topics, recent activity. Good for understanding what's in memory.`,
372
+ },
373
+ }],
374
+ }));
375
+ // ---------------------------------------------------------------------------
376
+ // Completion
377
+ // ---------------------------------------------------------------------------
378
+ // Provides auto-complete suggestions for prompt arguments and resource
379
+ // template variables. Agents can call completion/complete to get matching
380
+ // topics, people, projects, types, and sources from the database.
381
+ server.server.registerCapabilities({ completions: {} });
382
+ server.server.setRequestHandler(CompleteRequestSchema, async (request) => {
383
+ const { argument } = request.params;
384
+ const prefix = argument.value ?? "";
385
+ let values = [];
386
+ switch (argument.name) {
387
+ case "topic":
388
+ case "topics":
389
+ values = db.getDistinctArrayValues("topics", prefix);
390
+ break;
391
+ case "person":
392
+ case "people":
393
+ values = db.getDistinctArrayValues("people", prefix);
394
+ break;
395
+ case "project":
396
+ values = db.getDistinctValues("project", prefix);
397
+ break;
398
+ case "type":
399
+ // Static list — filter by prefix
400
+ values = ["note", "decision", "task", "question", "reference", "insight"]
401
+ .filter((t) => t.startsWith(prefix.toLowerCase()));
402
+ break;
403
+ case "source":
404
+ values = db.getDistinctValues("source", prefix);
405
+ break;
406
+ case "edge_type":
407
+ values = VALID_EDGE_TYPES
408
+ .filter((t) => t.startsWith(prefix.toLowerCase()));
409
+ break;
410
+ default:
411
+ break;
412
+ }
413
+ return {
414
+ completion: {
415
+ values,
416
+ hasMore: false,
417
+ total: values.length,
418
+ },
419
+ };
227
420
  });
421
+ log("info", "server", { event: "started", version: VERSION, db: config.dbPath });
228
422
  return { server, db };
229
423
  }
230
424
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "shelbymcp",
3
3
  "mcpName": "io.github.Studio-Moser/shelbymcp",
4
- "version": "0.2.4",
4
+ "version": "0.2.6",
5
5
  "description": "Knowledge-graph memory server for AI tools via MCP",
6
6
  "type": "module",
7
7
  "bin": {
@@ -0,0 +1,151 @@
1
+ ---
2
+ name: shelby-onboard
3
+ description: One-time onboarding interview that seeds ShelbyMCP with foundational memories about the user. Run this when a user first installs ShelbyMCP, says "get to know me", "onboard", "set up my memory", or asks why their memory is empty. Also triggers when thought_stats shows zero or very few thoughts.
4
+ ---
5
+
6
+ # Shelby Onboard — First-Run Memory Seeding
7
+
8
+ You're running the ShelbyMCP onboarding interview. Your goal: learn enough about the user to make their AI tools immediately useful — then save it all as structured memories.
9
+
10
+ This is a conversation, not a form. Ask a few questions, listen carefully, capture what you learn, then ask smarter follow-ups based on what they told you. By the end, the user should have 15-30 well-tagged memories that make every future AI interaction better.
11
+
12
+ ## Before You Start
13
+
14
+ 1. Run `thought_stats` to check the current state of the memory database.
15
+ 2. **If the database has < 5 thoughts:** This is a fresh install. Start from Round 1.
16
+ 3. **If the database has 5+ thoughts:** The user already has some context saved. Run `list_thoughts` with `limit: 10` to see what's there, then tell the user what you already know and offer to fill gaps. Skip rounds that are already well-covered.
17
+ 4. Ask the user if they have a **migration export** from another AI tool they'd like to import (see "Importing Migration Data" below). If yes, handle that first — it gives you a head start and makes the interview smarter.
18
+
19
+ ## The Interview
20
+
21
+ Run through these rounds in order. After each round, capture the relevant thoughts immediately — don't batch them up for later. Give the user a brief confirmation of what you saved ("Got it — saved your role, team, and current project").
22
+
23
+ Adapt your questions based on what the user tells you. If someone says "I'm a solo founder," don't ask about team structure. If they mention three active projects, dig into each one.
24
+
25
+ ### Round 1: Who Are You?
26
+
27
+ Get the basics that shape every future interaction. Go beyond just the job title — understanding the whole person leads to better AI interactions.
28
+
29
+ Ask about:
30
+ - Name and what they go by
31
+ - Role and company (or if they're independent/student/hobbyist)
32
+ - Experience level — are they a senior engineer, a designer learning to code, a PM who scripts?
33
+ - What they're primarily building right now
34
+ - Where they're based (city/timezone — useful for deadline context and collaboration)
35
+ - Anything outside of work that's relevant — side projects, interests, or context they'd want AI to know about (keep this light and optional — some people want AI to know them as a whole person, others want to keep it professional)
36
+
37
+ **Capture as:**
38
+ - Type: `reference` — these are stable facts about the person
39
+ - Topics: `["identity"]` plus anything specific (e.g., `["identity", "ios", "startup"]`)
40
+ - Summary: one-line distillation (e.g., "Tim is a senior iOS engineer and solo founder building Shelby, based in Austin")
41
+
42
+ ### Round 2: What Are You Working On?
43
+
44
+ Understand their active projects and goals.
45
+
46
+ Ask about:
47
+ - Active projects — names, what they do, where they are in the lifecycle
48
+ - Goals and deadlines — what's the next milestone?
49
+ - Constraints — what's blocking progress, what are they worried about?
50
+ - The tech stack for each project — languages, frameworks, infrastructure
51
+
52
+ **Capture as:**
53
+ - Type: `reference` for project descriptions, `task` for active goals with deadlines
54
+ - Topics: project names, relevant tech (e.g., `["shelby", "swift", "cloudkit"]`)
55
+ - One thought per project is ideal — don't fragment a single project across many thoughts
56
+ - If they mention deadlines, convert relative dates to absolute (e.g., "next Thursday" becomes the actual date)
57
+
58
+ ### Round 3: Who Do You Work With?
59
+
60
+ Understand the people in their world (skip if they're solo).
61
+
62
+ Ask about:
63
+ - Key collaborators — names, roles, what they own
64
+ - Who makes decisions about what
65
+ - Any external stakeholders (clients, partners, contractors)
66
+
67
+ **Capture as:**
68
+ - Type: `reference`
69
+ - Topics: `["team"]` plus project names
70
+ - People: fill the `people` array with names mentioned
71
+ - Summary: role-focused (e.g., "Sarah owns backend auth, Mike handles DevOps and CI")
72
+
73
+ ### Round 4: How Do You Like to Work?
74
+
75
+ This is where the AI becomes personalized — understand both work preferences and the role AI should play.
76
+
77
+ Ask about:
78
+ - **AI role** — what do they want AI to be for them? A pair programmer who thinks out loud? A research assistant who digs deep? A terse code generator? A patient teacher? This shapes every future interaction, so get it right.
79
+ - Communication style — terse or detailed? Explain reasoning or just give the answer?
80
+ - Code style — functional vs OOP? Tabs vs spaces? Framework preferences?
81
+ - Output format — do they want bullet points, prose, code-first?
82
+ - **Learning goals** — what are they actively trying to get better at? (e.g., "learning Rust," "getting better at system design," "trying to write more tests"). This helps AI tailor explanations and suggest growth opportunities.
83
+
84
+ **Capture as:**
85
+ - Type: `decision` — these are choices the user has made about how they work
86
+ - Topics: `["preferences"]` plus specifics (e.g., `["preferences", "code-style"]`, `["preferences", "ai-role"]`)
87
+ - Capture the AI role definition as its own thought — it's high-value and worth finding later
88
+ - Summary: the preference itself (e.g., "Wants AI as a senior pair programmer — think out loud, challenge assumptions")
89
+
90
+ ### Round 5: What Should AI Never Do?
91
+
92
+ Anti-patterns are often more useful than preferences — they prevent the frustrations that make people abandon AI tools.
93
+
94
+ Ask about:
95
+ - Past frustrations with AI tools — what drove them crazy?
96
+ - Things AI should never assume or do unprompted
97
+ - **Corrections they've had to make repeatedly** — "I keep having to tell AI to..." is gold. These are the patterns AI gets wrong by default for this specific person.
98
+ - Any domain-specific rules (e.g., "never use Firebase," "always use snake_case")
99
+ - **Things they've changed their mind about** — "I used to do X but now I do Y." These are high-signal because they reveal how the user thinks and prevent AI from suggesting outdated approaches. (Keep this light — one or two is plenty.)
100
+
101
+ **Capture as:**
102
+ - Type: `decision`
103
+ - Topics: `["anti-patterns"]` plus context
104
+ - Summary: the rule itself (e.g., "Never add comments to code that wasn't changed")
105
+ - For changed-mind items, capture both the old and new position — this prevents AI from accidentally recommending the abandoned approach
106
+ - These are high-value — be specific and preserve the user's exact framing
107
+
108
+ ### Round 6: Anything Else?
109
+
110
+ Open-ended — let the user share whatever they think is important.
111
+
112
+ Ask:
113
+ - "Is there anything else you'd want a new team member to know on their first day?"
114
+ - "Anything I missed that would help me help you better?"
115
+
116
+ **Capture** with whatever type fits best.
117
+
118
+ ## Importing Migration Data
119
+
120
+ If the user has output from the migration prompt (from `shelbymcp migrate`), they'll paste a structured block of text. Parse it and capture each item as a thought:
121
+
122
+ 1. Read through the entire pasted content first to understand the structure
123
+ 2. For each distinct piece of information, create a thought with:
124
+ - Appropriate `type` (match to `reference`, `decision`, `insight`, `task`, or `note`)
125
+ - A concise `summary` (under 100 characters)
126
+ - Relevant `topics` and `people` arrays
127
+ - `source` set to `"migration"`
128
+ 3. After importing, run `search_thoughts` on a few key terms to verify the import worked
129
+ 4. Tell the user how many memories were imported and what topics they cover
130
+ 5. Use the imported data to skip interview rounds that are already well-covered — jump to filling gaps
131
+
132
+ Don't duplicate information that's already in the database. If the migration data overlaps with existing memories, update the existing ones rather than creating duplicates.
133
+
134
+ ## Wrapping Up
135
+
136
+ After the final round:
137
+
138
+ 1. Run `thought_stats` to show the user the final count
139
+ 2. Give a brief summary of what was captured — group by area (identity, projects, team, preferences, anti-patterns)
140
+ 3. Suggest connecting related thoughts: "I can run a quick pass to link related memories — want me to?" If yes, use `manage_edges` to create `related` edges between thoughts that reference the same projects, people, or topics.
141
+ 4. Mention Forage: "ShelbyMCP has a daily maintenance skill called Forage that will automatically enrich and connect your memories over time. If you haven't set it up yet, run `shelbymcp setup <your-agent> --forage`."
142
+ 5. End with something like: "You're all set. Your AI tools now have context about who you are, what you're building, and how you like to work. This will get better over time as more memories are captured naturally."
143
+
144
+ ## Guidelines
145
+
146
+ - **Be conversational.** This should feel like a first meeting with a thoughtful colleague, not a government form. Adapt your tone to the user — if they're casual, be casual. If they're precise, be precise.
147
+ - **Capture after each round.** The user should see memories being saved in real time. This makes the value tangible and builds trust in the tool.
148
+ - **Quality over quantity.** 20 well-structured memories beat 50 vague ones. Each thought should have a good summary, accurate type, and relevant topics.
149
+ - **Don't over-ask.** If the user gives short answers, take the hint. Not everyone has a large team or complex preferences. 3 excellent rounds are better than 6 awkward ones.
150
+ - **Respect boundaries.** If the user doesn't want to share something, move on. This is about making AI useful, not a personnel file.
151
+ - **Use `source: "onboard"`** on all thoughts captured during this session so they're identifiable later.