@neuranix/mcp-server 1.2.0 → 1.3.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.
package/README.md CHANGED
@@ -1,12 +1,24 @@
1
1
  # @neuranix/mcp-server
2
2
 
3
- Plug-in MCP de memória persistente para agentes de IA em IDEs.
3
+ Plug-in MCP de memória persistente **autônoma** para agentes de IA em qualquer IDE compatível com MCP.
4
4
 
5
- **Produção:** `https://neuranix.com.br/api/neuranix`
5
+ **Produção:** `https://neuranix.com.br/api/neuranix` · **Versão:** 1.3.0
6
6
 
7
- ## Instalação (Cursor / VS Code / Claude Code)
7
+ ## O que já vem incluído (sem configurar regras manualmente)
8
8
 
9
- Obtenha a configuração pronta em [neuranix.com.br/neuranix](https://neuranix.com.br/neuranix) ou use:
9
+ Ao importar o MCP, o agente recebe automaticamente:
10
+
11
+ - **Instruções do servidor** (`instructions`) — protocolo: context no início, recall antes de tarefas, store/checkpoint no fim
12
+ - **Tools** com `alwaysLoad: true` — `neuranix_context`, `neuranix_recall`, `neuranix_store`, `neuranix_checkpoint`
13
+ - **Resources** — `neuranix://agent-guide`, `neuranix://ide-setup`
14
+ - **Prompts** — `session_start`, `before_task`, `save_decision`, `session_end`, `after_compaction`
15
+
16
+ O usuário **não precisa pedir** para salvar ou recuperar memória.
17
+
18
+ ## Instalação (2 passos)
19
+
20
+ 1. Cole a configuração MCP do [Dashboard Neuranix](https://neuranix.com.br/neuranix)
21
+ 2. Reinicie o IDE
10
22
 
11
23
  ```json
12
24
  {
@@ -17,15 +29,24 @@ Obtenha a configuração pronta em [neuranix.com.br/neuranix](https://neuranix.c
17
29
  "env": {
18
30
  "NEURANIX_API_URL": "https://neuranix.com.br/api/neuranix",
19
31
  "NEURANIX_API_KEY": "ak_sua_chave_aqui"
20
- }
32
+ },
33
+ "alwaysLoad": true
21
34
  }
22
35
  }
23
36
  }
24
37
  ```
25
38
 
26
- ### Claude Code (recomendado)
39
+ ### Reforço opcional no repositório (todos os IDEs)
40
+
41
+ ```bash
42
+ npx -y @neuranix/mcp-server setup
43
+ ```
44
+
45
+ Grava `AGENTS.md`, `.cursor/rules/neuranix.mdc`, `CLAUDE.md`, `.github/copilot-instructions.md`, `.windsurfrules`.
27
46
 
28
- Use `alwaysLoad: true` para manter a tool sempre visível e adicione o bloco `CLAUDE.md` do dashboard:
47
+ Use `--force` para sobrescrever arquivos existentes.
48
+
49
+ ### Claude Code
29
50
 
30
51
  ```bash
31
52
  claude mcp add --scope project neuranix \
@@ -34,36 +55,24 @@ claude mcp add --scope project neuranix \
34
55
  -- npx -y @neuranix/mcp-server
35
56
  ```
36
57
 
37
- Comandos proativos no Claude Code:
38
-
39
- | Comando | Uso |
40
- |---------|-----|
41
- | `/mcp__neuranix__session_start` | Carregar contexto no início da sessão |
42
- | `/mcp__neuranix__before_task` | Recall antes de tarefa complexa |
43
- | `/mcp__neuranix__save_decision` | Gravar decisão importante |
44
-
45
- ## Segurança de domínio
46
-
47
- Por padrão, o MCP só aceita requisições para hosts autorizados:
58
+ Prompts MCP (agente pode invocar automaticamente):
48
59
 
49
- - `neuranix.com.br` / `www.neuranix.com.br` (HTTPS obrigatório)
50
- - `localhost` / `127.0.0.1` (desenvolvimento)
51
-
52
- Para túneis locais (ngrok, etc.) em desenvolvimento:
53
-
54
- ```bash
55
- NEURANIX_ALLOW_CUSTOM_HOST=true
56
- NEURANIX_API_URL=https://seu-tunel.ngrok-free.app/api/neuranix
57
- ```
60
+ | Prompt | Uso |
61
+ |--------|-----|
62
+ | `/mcp__neuranix__session_start` | Contexto no início |
63
+ | `/mcp__neuranix__before_task` | Recall antes de tarefa |
64
+ | `/mcp__neuranix__save_decision` | Gravar decisão |
65
+ | `/mcp__neuranix__session_end` | Checkpoint de fim de sessão |
66
+ | `/mcp__neuranix__after_compaction` | Recarregar após compactação |
58
67
 
59
68
  ## Variáveis de ambiente
60
69
 
61
70
  | Variável | Descrição |
62
71
  |----------|-----------|
63
- | `NEURANIX_API_URL` | URL base (padrão produção: `https://neuranix.com.br/api/neuranix`) |
72
+ | `NEURANIX_API_URL` | URL base da API |
64
73
  | `NEURANIX_API_KEY` | Chave API (`ak_...`) — **obrigatória** |
65
- | `NEURANIX_ENV` | `local` para usar `http://127.0.0.1:8000/api/neuranix` |
66
- | `NEURANIX_ALLOW_CUSTOM_HOST` | `true` para permitir hosts de dev (ngrok) |
74
+ | `NEURANIX_ENV` | `local` para `http://127.0.0.1:8000/api/neuranix` |
75
+ | `NEURANIX_ALLOW_CUSTOM_HOST` | `true` para hosts de dev (ngrok) |
67
76
 
68
77
  ## Desenvolvimento local
69
78
 
@@ -71,4 +80,5 @@ NEURANIX_API_URL=https://seu-tunel.ngrok-free.app/api/neuranix
71
80
  npm install
72
81
  npm run build
73
82
  NEURANIX_ENV=local NEURANIX_API_KEY=ak_... npm start
83
+ npm run setup
74
84
  ```
@@ -0,0 +1,17 @@
1
+ export interface IdeFile {
2
+ relativePath: string;
3
+ label: string;
4
+ content: string;
5
+ merge?: "append-marked" | "skip-if-exists";
6
+ }
7
+ export declare function allIdeFiles(): IdeFile[];
8
+ export interface SetupResult {
9
+ written: string[];
10
+ skipped: string[];
11
+ updated: string[];
12
+ }
13
+ export declare function writeIdeFiles(cwd: string, options?: {
14
+ force?: boolean;
15
+ }): SetupResult;
16
+ export declare function ideSetupMarkdown(): string;
17
+ //# sourceMappingURL=ide-files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ide-files.d.ts","sourceRoot":"","sources":["../src/ide-files.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,eAAe,GAAG,gBAAgB,CAAC;CAC5C;AAED,wBAAgB,WAAW,IAAI,OAAO,EAAE,CAsCvC;AAeD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,WAAW,CAwCzF;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAsBzC"}
@@ -0,0 +1,106 @@
1
+ import { AGENTS_MD_FOOTER, CLAUDE_COMMANDS, COPILOT_FOOTER, CORE_PROTOCOL, } from "./rules.js";
2
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
3
+ import { dirname, join } from "path";
4
+ const NEURANIX_MARKER_START = "<!-- NEURANIX:START -->";
5
+ const NEURANIX_MARKER_END = "<!-- NEURANIX:END -->";
6
+ export function allIdeFiles() {
7
+ return [
8
+ {
9
+ relativePath: "AGENTS.md",
10
+ label: "AGENTS.md (universal)",
11
+ content: CORE_PROTOCOL + AGENTS_MD_FOOTER,
12
+ merge: "skip-if-exists",
13
+ },
14
+ {
15
+ relativePath: ".cursor/rules/neuranix.mdc",
16
+ label: "Cursor Rules",
17
+ content: "---\n" +
18
+ "description: Neuranix — memória persistente automática\n" +
19
+ "alwaysApply: true\n" +
20
+ "---\n\n" +
21
+ CORE_PROTOCOL,
22
+ merge: "skip-if-exists",
23
+ },
24
+ {
25
+ relativePath: ".github/copilot-instructions.md",
26
+ label: "GitHub Copilot",
27
+ content: CORE_PROTOCOL + COPILOT_FOOTER,
28
+ merge: "skip-if-exists",
29
+ },
30
+ {
31
+ relativePath: ".windsurfrules",
32
+ label: "Windsurf",
33
+ content: CORE_PROTOCOL,
34
+ merge: "append-marked",
35
+ },
36
+ {
37
+ relativePath: "CLAUDE.md",
38
+ label: "Claude Code",
39
+ content: CORE_PROTOCOL + "\n" + CLAUDE_COMMANDS,
40
+ merge: "append-marked",
41
+ },
42
+ ];
43
+ }
44
+ function mergeMarked(existing, block) {
45
+ const start = existing.indexOf(NEURANIX_MARKER_START);
46
+ const end = existing.indexOf(NEURANIX_MARKER_END);
47
+ const wrapped = `${NEURANIX_MARKER_START}\n${block}\n${NEURANIX_MARKER_END}`;
48
+ if (start !== -1 && end !== -1 && end > start) {
49
+ return existing.slice(0, start) + wrapped + existing.slice(end + NEURANIX_MARKER_END.length);
50
+ }
51
+ const separator = existing.trim() ? "\n\n" : "";
52
+ return existing.trimEnd() + separator + wrapped + "\n";
53
+ }
54
+ export function writeIdeFiles(cwd, options = {}) {
55
+ const result = { written: [], skipped: [], updated: [] };
56
+ const force = options.force ?? false;
57
+ for (const file of allIdeFiles()) {
58
+ const fullPath = join(cwd, file.relativePath);
59
+ const dir = dirname(fullPath);
60
+ if (!existsSync(dir)) {
61
+ mkdirSync(dir, { recursive: true });
62
+ }
63
+ if (existsSync(fullPath) && !force) {
64
+ if (file.merge === "append-marked") {
65
+ const existing = readFileSync(fullPath, "utf8");
66
+ const merged = mergeMarked(existing, file.content);
67
+ if (merged !== existing) {
68
+ writeFileSync(fullPath, merged, "utf8");
69
+ result.updated.push(file.relativePath);
70
+ }
71
+ else {
72
+ result.skipped.push(file.relativePath);
73
+ }
74
+ continue;
75
+ }
76
+ result.skipped.push(file.relativePath);
77
+ continue;
78
+ }
79
+ if (existsSync(fullPath) && force && file.merge === "append-marked") {
80
+ const existing = readFileSync(fullPath, "utf8");
81
+ writeFileSync(fullPath, mergeMarked(existing, file.content), "utf8");
82
+ result.updated.push(file.relativePath);
83
+ continue;
84
+ }
85
+ writeFileSync(fullPath, file.content, "utf8");
86
+ result.written.push(file.relativePath);
87
+ }
88
+ return result;
89
+ }
90
+ export function ideSetupMarkdown() {
91
+ const lines = [
92
+ "# Neuranix — arquivos opcionais por IDE",
93
+ "",
94
+ "O protocolo automático **já vem no MCP** (`instructions` + tools + resources).",
95
+ "Estes arquivos reforçam o comportamento no repositório:",
96
+ "",
97
+ "| IDE | Arquivo |",
98
+ "|-----|---------|",
99
+ ];
100
+ for (const f of allIdeFiles()) {
101
+ lines.push(`| ${f.label} | \`${f.relativePath}\` |`);
102
+ }
103
+ lines.push("", "Instale com: `npx -y @neuranix/mcp-server setup` na raiz do projeto.", "Use `--force` para sobrescrever arquivos existentes.");
104
+ return lines.join("\n");
105
+ }
106
+ //# sourceMappingURL=ide-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ide-files.js","sourceRoot":"","sources":["../src/ide-files.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4,7 +4,8 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
4
4
  import { CallToolRequestSchema, GetPromptRequestSchema, ListPromptsRequestSchema, ListResourcesRequestSchema, ListToolsRequestSchema, ReadResourceRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
5
5
  import { MCP_USER_AGENT, resolveApiBaseUrl, validateApiKey, } from "./config.js";
6
6
  import { NEURANIX_PROMPTS, SERVER_INSTRUCTIONS } from "./prompts.js";
7
- import { USAGE_GUIDE_MARKDOWN, USAGE_GUIDE_URI } from "./resources.js";
7
+ import { ideSetupMarkdown } from "./ide-files.js";
8
+ import { IDE_SETUP_URI, USAGE_GUIDE_MARKDOWN, USAGE_GUIDE_URI } from "./resources.js";
8
9
  import { NEURANIX_TOOLS, resolveToolCall } from "./tools.js";
9
10
  const API_BASE = resolveApiBaseUrl();
10
11
  const API_KEY = process.env.NEURANIX_API_KEY || "";
@@ -46,7 +47,7 @@ function promptArg(args, key) {
46
47
  const value = args?.[key];
47
48
  return typeof value === "string" && value.trim() !== "" ? value : undefined;
48
49
  }
49
- const server = new Server({ name: "@neuranix/mcp-server", version: "1.2.0" }, {
50
+ const server = new Server({ name: "@neuranix/mcp-server", version: "1.3.0" }, {
50
51
  capabilities: { tools: {}, prompts: {}, resources: {} },
51
52
  instructions: SERVER_INSTRUCTIONS,
52
53
  });
@@ -58,24 +59,41 @@ server.setRequestHandler(ListResourcesRequestSchema, async () => ({
58
59
  {
59
60
  uri: USAGE_GUIDE_URI,
60
61
  name: "Neuranix Agent Guide",
61
- description: "When and how agents MUST use Neuranix memory tools",
62
+ description: "Autonomous memory protocol — included with MCP for all IDEs",
63
+ mimeType: "text/markdown",
64
+ },
65
+ {
66
+ uri: IDE_SETUP_URI,
67
+ name: "Neuranix IDE Setup",
68
+ description: "Optional repo files per IDE (npx @neuranix/mcp-server setup)",
62
69
  mimeType: "text/markdown",
63
70
  },
64
71
  ],
65
72
  }));
66
73
  server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
67
- if (request.params.uri !== USAGE_GUIDE_URI) {
68
- throw new Error(`Unknown resource: ${request.params.uri}`);
74
+ if (request.params.uri === USAGE_GUIDE_URI) {
75
+ return {
76
+ contents: [
77
+ {
78
+ uri: USAGE_GUIDE_URI,
79
+ mimeType: "text/markdown",
80
+ text: USAGE_GUIDE_MARKDOWN,
81
+ },
82
+ ],
83
+ };
69
84
  }
70
- return {
71
- contents: [
72
- {
73
- uri: USAGE_GUIDE_URI,
74
- mimeType: "text/markdown",
75
- text: USAGE_GUIDE_MARKDOWN,
76
- },
77
- ],
78
- };
85
+ if (request.params.uri === IDE_SETUP_URI) {
86
+ return {
87
+ contents: [
88
+ {
89
+ uri: IDE_SETUP_URI,
90
+ mimeType: "text/markdown",
91
+ text: ideSetupMarkdown(),
92
+ },
93
+ ],
94
+ };
95
+ }
96
+ throw new Error(`Unknown resource: ${request.params.uri}`);
79
97
  });
80
98
  server.setRequestHandler(ListPromptsRequestSchema, async () => ({
81
99
  prompts: NEURANIX_PROMPTS,
@@ -145,6 +163,50 @@ server.setRequestHandler(GetPromptRequestSchema, async (request) => {
145
163
  ],
146
164
  };
147
165
  }
166
+ if (name === "session_end") {
167
+ const summary = promptArg(args, "summary");
168
+ if (!summary) {
169
+ throw new Error("Argument 'summary' is required for session_end");
170
+ }
171
+ const result = await apiCall("/memory", "POST", {
172
+ content: summary,
173
+ workspace_path: promptArg(args, "workspace_path"),
174
+ action: "store",
175
+ tags: ["session_checkpoint", "auto_capture"],
176
+ metadata: { source: "session_end", auto: true },
177
+ });
178
+ const memory = (result.data?.memory ?? {});
179
+ return {
180
+ description: "Session checkpoint saved to Neuranix",
181
+ messages: [
182
+ {
183
+ role: "user",
184
+ content: {
185
+ type: "text",
186
+ text: `Session checkpoint saved: ${memory.summary ?? memory.id ?? "ok"}`,
187
+ },
188
+ },
189
+ ],
190
+ };
191
+ }
192
+ if (name === "after_compaction") {
193
+ const result = await apiCall("/memory", "POST", {
194
+ query: promptArg(args, "task") ??
195
+ "reload project context after compaction — recent decisions and patterns",
196
+ workspace_path: promptArg(args, "workspace_path"),
197
+ action: "context",
198
+ mode: "conversation",
199
+ });
200
+ return {
201
+ description: "Neuranix context reloaded after compaction",
202
+ messages: [
203
+ {
204
+ role: "user",
205
+ content: { type: "text", text: formatContext(result.data ?? {}) },
206
+ },
207
+ ],
208
+ };
209
+ }
148
210
  throw new Error(`Unknown prompt: ${name}`);
149
211
  }
150
212
  catch (error) {
@@ -171,11 +233,12 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
171
233
  return { content: [{ type: "text", text: formatContext(data) }] };
172
234
  }
173
235
  if (data.action === "store") {
236
+ const label = toolName === "neuranix_checkpoint" ? "Checkpoint saved" : "Memory saved";
174
237
  return {
175
238
  content: [
176
239
  {
177
240
  type: "text",
178
- text: `Memory saved: ${data.memory?.summary ?? data.memory?.id}`,
241
+ text: `${label}: ${data.memory?.summary ?? data.memory?.id}`,
179
242
  },
180
243
  ],
181
244
  };
@@ -205,9 +268,14 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
205
268
  }
206
269
  });
207
270
  async function main() {
271
+ const sub = process.argv[2];
272
+ if (sub === "setup") {
273
+ const { runSetup } = await import("./setup.js");
274
+ process.exit(runSetup(process.argv.slice(3)));
275
+ }
208
276
  const transport = new StdioServerTransport();
209
277
  await server.connect(transport);
210
- console.error(`Neuranix MCP v1.2 — ${API_BASE}`);
278
+ console.error(`Neuranix MCP v1.3 — ${API_BASE}`);
211
279
  }
212
280
  main().catch((error) => {
213
281
  console.error("Server error:", error);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;AACrC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;AAEnD,IAAI,CAAC;IACH,cAAc,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC;AAAC,OAAO,KAAc,EAAE,CAAC;IACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,CAAC,KAAK,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,QAAgB,EAAE,SAAiB,KAAK,EAAE,IAA8B;IAC7F,MAAM,GAAG,GAAG,GAAG,QAAQ,GAAG,QAAQ,EAAE,CAAC;IACrC,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,YAAY,EAAE,cAAc;QAC5B,aAAa,EAAE,UAAU,OAAO,EAAE;KACnC,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM;QACN,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAC9C,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,IAA6B;IAClD,OAAO;QACL,wBAAwB,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY;QAC1D,YAAa,IAAI,CAAC,OAA6B,EAAE,IAAI,IAAI,SAAS,EAAE;QACpE,EAAE;QACF,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,6BAA6B,CAAC;KACtD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,IAAyC,EAAE,GAAW;IACvE,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,OAAO,EAAE,EAClD;IACE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IACvD,YAAY,EAAE,mBAAmB;CAClC,CACF,CAAC;AAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC5D,KAAK,EAAE,cAAc;CACtB,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAChE,SAAS,EAAE;QACT;YACE,GAAG,EAAE,eAAe;YACpB,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,6DAA6D;YAC1E,QAAQ,EAAE,eAAe;SAC1B;QACD;YACE,GAAG,EAAE,aAAa;YAClB,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,8DAA8D;YAC3E,QAAQ,EAAE,eAAe;SAC1B;KACF;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IACpE,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,eAAe,EAAE,CAAC;QAC3C,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,eAAe;oBACpB,QAAQ,EAAE,eAAe;oBACzB,IAAI,EAAE,oBAAoB;iBAC3B;aACF;SACF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,aAAa,EAAE,CAAC;QACzC,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,aAAa;oBAClB,QAAQ,EAAE,eAAe;oBACzB,IAAI,EAAE,gBAAgB,EAAE;iBACzB;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC9D,OAAO,EAAE,gBAAgB;CAC1B,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IACjE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,IAAI,CAAC;QACH,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE;gBAC9C,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,2DAA2D;gBAC7F,cAAc,EAAE,SAAS,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBACjD,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,cAAc;aACrB,CAAC,CAAC;YAEH,OAAO;gBACL,WAAW,EAAE,iCAAiC;gBAC9C,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE;qBAClE;iBACF;aACF,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAClE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE;gBAC9C,KAAK;gBACL,cAAc,EAAE,SAAS,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBACjD,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,SAAS;aAC3C,CAAC,CAAC;YAEH,OAAO;gBACL,WAAW,EAAE,2BAA2B;gBACxC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE;qBAClE;iBACF;aACF,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACtE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE;gBAC9C,OAAO;gBACP,cAAc,EAAE,SAAS,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBACjD,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAsC,CAAC;YAEhF,OAAO;gBACL,WAAW,EAAE,4BAA4B;gBACzC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,6BAA6B,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE;yBACzE;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE;gBAC9C,OAAO,EAAE,OAAO;gBAChB,cAAc,EAAE,SAAS,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBACjD,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,CAAC,oBAAoB,EAAE,cAAc,CAAC;gBAC5C,QAAQ,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;aAChD,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAsC,CAAC;YAEhF,OAAO;gBACL,WAAW,EAAE,sCAAsC;gBACnD,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,6BAA6B,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE;yBACzE;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE;gBAC9C,KAAK,EACH,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;oBACvB,yEAAyE;gBAC3E,cAAc,EAAE,SAAS,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBACjD,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,cAAc;aACrB,CAAC,CAAC;YAEH,OAAO;gBACL,WAAW,EAAE,4CAA4C;gBACzD,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE;qBAClE;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,WAAW,EAAE,uBAAuB;YACpC,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,OAAO,EAAE,EAAE;iBAC9D;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,SAAgD,CAAC;IAE7E,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QAE/B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACpE,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,QAAQ,KAAK,qBAAqB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc,CAAC;YACvF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,GAAG,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE;qBAC7D;iBACF;aACF,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAInD,CAAC;YACH,MAAM,KAAK,GAAG;gBACZ,uBAAuB,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,WAAW;gBAC/D,UAAU,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE;gBAC7B,EAAE;aACH,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,QAAQ,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACjE,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;SACjE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,OAAO,EAAE,EAAE,CAAC;YAC/D,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI;IACjB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAEjE,eAAO,MAAM,gBAAgB,EAAE,MAAM,EAwDpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAQrB,CAAC"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAGjE,eAAO,MAAM,gBAAgB,EAAE,MAAM,EA0FpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAUrB,CAAC"}
package/dist/prompts.js CHANGED
@@ -1,7 +1,8 @@
1
+ import { PROTOCOL_VERSION } from "./rules.js";
1
2
  export const NEURANIX_PROMPTS = [
2
3
  {
3
4
  name: "session_start",
4
- description: "Load Neuranix project context at session start. Run at the beginning of each coding session or after context compaction.",
5
+ description: "AUTOMATIC: load Neuranix context at session start. Agent should invoke without user asking.",
5
6
  arguments: [
6
7
  {
7
8
  name: "task",
@@ -17,7 +18,7 @@ export const NEURANIX_PROMPTS = [
17
18
  },
18
19
  {
19
20
  name: "before_task",
20
- description: "Recall relevant memories before a complex task (refactor, debug, architecture, code review).",
21
+ description: "AUTOMATIC: recall memories before a complex task (refactor, debug, architecture, code review).",
21
22
  arguments: [
22
23
  {
23
24
  name: "query",
@@ -38,7 +39,7 @@ export const NEURANIX_PROMPTS = [
38
39
  },
39
40
  {
40
41
  name: "save_decision",
41
- description: "Persist an important technical decision, fix, or pattern to Neuranix memory.",
42
+ description: "AUTOMATIC: persist a technical decision, fix, or pattern — no user confirmation needed.",
42
43
  arguments: [
43
44
  {
44
45
  name: "content",
@@ -52,14 +53,48 @@ export const NEURANIX_PROMPTS = [
52
53
  },
53
54
  ],
54
55
  },
56
+ {
57
+ name: "session_end",
58
+ description: "AUTOMATIC: checkpoint session summary before ending. Captures decisions, changes, and pending work.",
59
+ arguments: [
60
+ {
61
+ name: "summary",
62
+ description: "Concise session summary",
63
+ required: true,
64
+ },
65
+ {
66
+ name: "workspace_path",
67
+ description: "Absolute path to the project workspace",
68
+ required: false,
69
+ },
70
+ ],
71
+ },
72
+ {
73
+ name: "after_compaction",
74
+ description: "AUTOMATIC: reload Neuranix context after IDE context compaction so memory is not lost.",
75
+ arguments: [
76
+ {
77
+ name: "workspace_path",
78
+ description: "Absolute path to the project workspace",
79
+ required: false,
80
+ },
81
+ {
82
+ name: "task",
83
+ description: "Current task focus after compaction",
84
+ required: false,
85
+ },
86
+ ],
87
+ },
55
88
  ];
56
89
  export const SERVER_INSTRUCTIONS = [
57
- "Neuranix persistent memory for all IDE agents (Cursor, VS Code, Claude Code, Windsurf).",
58
- "SESSION START: call neuranix_context with workspace_path.",
90
+ `Neuranix v${PROTOCOL_VERSION} — persistent cognitive memory for ALL IDE agents (Cursor, VS Code, Claude Code, Windsurf, Antigravity).`,
91
+ "AUTONOMOUS PROTOCOL — the user must NEVER be told to manually save or recall memory. You do it.",
92
+ "SESSION START (mandatory): call neuranix_context with absolute workspace_path.",
93
+ "AFTER context compaction: call neuranix_context again (or prompt after_compaction).",
59
94
  "BEFORE complex tasks: call neuranix_recall with query + workspace_path.",
60
- "AFTER decisions/fixes: call neuranix_store with content + workspace_path.",
61
- "Resource neuranix://agent-guide has full usage rules — read when unsure.",
62
- "Never skip memory on multi-file changes. Use mode=debug|code_review|architecture as needed.",
63
- "Claude Code: /mcp__neuranix__session_start, /mcp__neuranix__before_task, /mcp__neuranix__save_decision.",
95
+ "AFTER decisions/fixes/patterns: call neuranix_store with content + workspace_path.",
96
+ "SESSION END or major task done: call neuranix_checkpoint with summary + workspace_path.",
97
+ "Read resource neuranix://agent-guide when unsure. Optional repo files: npx -y @neuranix/mcp-server setup",
98
+ "Claude Code prompts: session_start, before_task, save_decision, session_end, after_compaction.",
64
99
  ].join(" ");
65
100
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAa;IACxC;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,0HAA0H;QAC5H,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,wDAAwD;gBACrE,QAAQ,EAAE,KAAK;aAChB;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,wCAAwC;gBACrD,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,8FAA8F;QAChG,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,8BAA8B;gBAC3C,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,0EAA0E;gBACvF,QAAQ,EAAE,KAAK;aAChB;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,wCAAwC;gBACrD,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,8EAA8E;QAC3F,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,kCAAkC;gBAC/C,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,wCAAwC;gBACrD,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,yFAAyF;IACzF,2DAA2D;IAC3D,yEAAyE;IACzE,2EAA2E;IAC3E,0EAA0E;IAC1E,6FAA6F;IAC7F,yGAAyG;CAC1G,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,CAAC,MAAM,gBAAgB,GAAa;IACxC;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,6FAA6F;QAC/F,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,wDAAwD;gBACrE,QAAQ,EAAE,KAAK;aAChB;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,wCAAwC;gBACrD,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,gGAAgG;QAClG,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,8BAA8B;gBAC3C,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,0EAA0E;gBACvF,QAAQ,EAAE,KAAK;aAChB;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,wCAAwC;gBACrD,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,yFAAyF;QACtG,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,kCAAkC;gBAC/C,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,wCAAwC;gBACrD,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,qGAAqG;QACvG,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,yBAAyB;gBACtC,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,wCAAwC;gBACrD,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,wFAAwF;QAC1F,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,wCAAwC;gBACrD,QAAQ,EAAE,KAAK;aAChB;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,qCAAqC;gBAClD,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,aAAa,gBAAgB,0GAA0G;IACvI,iGAAiG;IACjG,gFAAgF;IAChF,qFAAqF;IACrF,yEAAyE;IACzE,oFAAoF;IACpF,yFAAyF;IACzF,0GAA0G;IAC1G,gGAAgG;CACjG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export declare const USAGE_GUIDE_URI = "neuranix://agent-guide";
2
- export declare const USAGE_GUIDE_MARKDOWN = "# Neuranix \u2014 Guia do agente\n\n## Quando chamar (obrigat\u00F3rio)\n\n| Momento | Tool MCP |\n|---------|----------|\n| In\u00EDcio da sess\u00E3o / ap\u00F3s compacta\u00E7\u00E3o | `neuranix_context` |\n| Antes de refactor, debug, review, arquitetura | `neuranix_recall` |\n| Ap\u00F3s decis\u00E3o t\u00E9cnica, fix ou padr\u00E3o descoberto | `neuranix_store` |\n\nSempre passe `workspace_path` com o caminho absoluto do reposit\u00F3rio.\n\n## Perfis (mode)\n- `debug` \u2014 erros e troubleshooting\n- `code_review` \u2014 revis\u00E3o de c\u00F3digo\n- `architecture` \u2014 decis\u00F5es de design\n- `code_generation` \u2014 implementa\u00E7\u00E3o\n- `conversation` \u2014 contexto geral\n\n## Prompts (Claude Code)\n- `/mcp__neuranix__session_start`\n- `/mcp__neuranix__before_task`\n- `/mcp__neuranix__save_decision`\n\n## Regra de ouro\nN\u00E3o espere o usu\u00E1rio pedir mem\u00F3ria. Use proativamente em toda tarefa n\u00E3o trivial.\n";
2
+ export declare const IDE_SETUP_URI = "neuranix://ide-setup";
3
+ export declare const USAGE_GUIDE_MARKDOWN = "# Neuranix \u2014 Guia do agente (v1.3)\n\nMem\u00F3ria autom\u00E1tica: ao conectar o MCP, o agente j\u00E1 recebe instru\u00E7\u00F5es para recuperar contexto no in\u00EDcio e salvar no fim \u2014 voc\u00EA n\u00E3o precisa pedir.\n\n## Ciclo autom\u00E1tico (obrigat\u00F3rio \u2014 sem pedido do usu\u00E1rio)\n\n| Momento | Tool MCP |\n|---------|----------|\n| In\u00EDcio da sess\u00E3o / ap\u00F3s compacta\u00E7\u00E3o | `neuranix_context` |\n| Antes de refactor, debug, review, arquitetura | `neuranix_recall` |\n| Ap\u00F3s decis\u00E3o t\u00E9cnica, fix ou padr\u00E3o | `neuranix_store` |\n| Fim de sess\u00E3o ou tarefa grande conclu\u00EDda | `neuranix_checkpoint` |\n\nSempre passe `workspace_path` absoluto do reposit\u00F3rio.\n\n## Perfis (mode)\n- `debug` \u2014 erros e troubleshooting\n- `code_review` \u2014 revis\u00E3o de c\u00F3digo\n- `architecture` \u2014 decis\u00F5es de design\n- `code_generation` \u2014 implementa\u00E7\u00E3o\n- `conversation` \u2014 contexto geral\n\n## Prompts MCP (Claude Code e compat\u00EDveis)\n- `/mcp__neuranix__session_start`\n- `/mcp__neuranix__before_task`\n- `/mcp__neuranix__save_decision`\n- `/mcp__neuranix__session_end`\n- `/mcp__neuranix__after_compaction`\n\n## Regra de ouro\nN\u00E3o espere o usu\u00E1rio pedir mem\u00F3ria. Em toda tarefa n\u00E3o trivial: context \u2192 trabalho \u2192 store/checkpoint.\n\n## Protocolo completo\n\n## Mem\u00F3ria persistente (Neuranix) \u2014 protocolo autom\u00E1tico\n\nVoc\u00EA tem mem\u00F3ria cognitiva em nuvem via MCP. **O usu\u00E1rio N\u00C3O precisa pedir para salvar ou recuperar** \u2014 isso \u00E9 sua responsabilidade.\n\n### Ciclo autom\u00E1tico (obrigat\u00F3rio)\n\n| Momento | Tool MCP | Quem dispara |\n|---------|----------|--------------|\n| In\u00EDcio da sess\u00E3o ou ap\u00F3s compacta\u00E7\u00E3o de contexto | `neuranix_context` | Agente, sem pedido do usu\u00E1rio |\n| Antes de refactor, debug, review, arquitetura ou mudan\u00E7as multi-arquivo | `neuranix_recall` | Agente, antes de agir |\n| Ap\u00F3s decis\u00E3o t\u00E9cnica, fix n\u00E3o trivial ou padr\u00E3o reutiliz\u00E1vel | `neuranix_store` | Agente, ao concluir a tarefa |\n| Fim de sess\u00E3o, troca de tarefa grande ou antes de encerrar | `neuranix_checkpoint` | Agente, resumo da sess\u00E3o |\n\n### Regras\n\n- Sempre informe `workspace_path` com o caminho **absoluto** do reposit\u00F3rio aberto.\n- Use `mode`: `debug`, `code_review`, `architecture`, `code_generation`, `conversation`.\n- Resource MCP `neuranix://agent-guide` \u2014 guia completo (j\u00E1 inclu\u00EDdo no servidor MCP).\n- **Nunca** diga ao usu\u00E1rio que ele precisa \"pedir para lembrar\" \u2014 voc\u00EA j\u00E1 faz isso.\n\n### Regra de ouro\n\nSe a tarefa envolve c\u00F3digo existente, hist\u00F3rico do projeto ou decis\u00F5es passadas \u2192 **chame Neuranix antes de responder**.\nAo terminar trabalho significativo \u2192 **chame `neuranix_checkpoint` ou `neuranix_store`** sem esperar confirma\u00E7\u00E3o.\n\n";
3
4
  //# sourceMappingURL=resources.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,2BAA2B,CAAC;AAExD,eAAO,MAAM,oBAAoB,m8BA0BhC,CAAC"}
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,2BAA2B,CAAC;AACxD,eAAO,MAAM,aAAa,yBAAyB,CAAC;AAEpD,eAAO,MAAM,oBAAoB,y8FAmChC,CAAC"}
package/dist/resources.js CHANGED
@@ -1,15 +1,20 @@
1
+ import { CORE_PROTOCOL, PROTOCOL_VERSION, USER_FACING_NOTE } from "./rules.js";
1
2
  export const USAGE_GUIDE_URI = "neuranix://agent-guide";
2
- export const USAGE_GUIDE_MARKDOWN = `# Neuranix — Guia do agente
3
+ export const IDE_SETUP_URI = "neuranix://ide-setup";
4
+ export const USAGE_GUIDE_MARKDOWN = `# Neuranix — Guia do agente (v${PROTOCOL_VERSION})
3
5
 
4
- ## Quando chamar (obrigatório)
6
+ ${USER_FACING_NOTE}
7
+
8
+ ## Ciclo automático (obrigatório — sem pedido do usuário)
5
9
 
6
10
  | Momento | Tool MCP |
7
11
  |---------|----------|
8
12
  | Início da sessão / após compactação | \`neuranix_context\` |
9
13
  | Antes de refactor, debug, review, arquitetura | \`neuranix_recall\` |
10
- | Após decisão técnica, fix ou padrão descoberto | \`neuranix_store\` |
14
+ | Após decisão técnica, fix ou padrão | \`neuranix_store\` |
15
+ | Fim de sessão ou tarefa grande concluída | \`neuranix_checkpoint\` |
11
16
 
12
- Sempre passe \`workspace_path\` com o caminho absoluto do repositório.
17
+ Sempre passe \`workspace_path\` absoluto do repositório.
13
18
 
14
19
  ## Perfis (mode)
15
20
  - \`debug\` — erros e troubleshooting
@@ -18,12 +23,18 @@ Sempre passe \`workspace_path\` com o caminho absoluto do repositório.
18
23
  - \`code_generation\` — implementação
19
24
  - \`conversation\` — contexto geral
20
25
 
21
- ## Prompts (Claude Code)
26
+ ## Prompts MCP (Claude Code e compatíveis)
22
27
  - \`/mcp__neuranix__session_start\`
23
28
  - \`/mcp__neuranix__before_task\`
24
29
  - \`/mcp__neuranix__save_decision\`
30
+ - \`/mcp__neuranix__session_end\`
31
+ - \`/mcp__neuranix__after_compaction\`
25
32
 
26
33
  ## Regra de ouro
27
- Não espere o usuário pedir memória. Use proativamente em toda tarefa não trivial.
34
+ Não espere o usuário pedir memória. Em toda tarefa não trivial: context → trabalho → store/checkpoint.
35
+
36
+ ## Protocolo completo
37
+
38
+ ${CORE_PROTOCOL}
28
39
  `;
29
40
  //# sourceMappingURL=resources.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAExD,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BnC,CAAC"}
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG/E,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC;AACxD,MAAM,CAAC,MAAM,aAAa,GAAG,sBAAsB,CAAC;AAEpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,iCAAiC,gBAAgB;;EAEnF,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgChB,aAAa;CACd,CAAC"}
@@ -0,0 +1,8 @@
1
+ /** Single source of truth for Neuranix agent protocol (all IDEs). */
2
+ export declare const PROTOCOL_VERSION = "1.3";
3
+ export declare const CORE_PROTOCOL = "## Mem\u00F3ria persistente (Neuranix) \u2014 protocolo autom\u00E1tico\n\nVoc\u00EA tem mem\u00F3ria cognitiva em nuvem via MCP. **O usu\u00E1rio N\u00C3O precisa pedir para salvar ou recuperar** \u2014 isso \u00E9 sua responsabilidade.\n\n### Ciclo autom\u00E1tico (obrigat\u00F3rio)\n\n| Momento | Tool MCP | Quem dispara |\n|---------|----------|--------------|\n| In\u00EDcio da sess\u00E3o ou ap\u00F3s compacta\u00E7\u00E3o de contexto | `neuranix_context` | Agente, sem pedido do usu\u00E1rio |\n| Antes de refactor, debug, review, arquitetura ou mudan\u00E7as multi-arquivo | `neuranix_recall` | Agente, antes de agir |\n| Ap\u00F3s decis\u00E3o t\u00E9cnica, fix n\u00E3o trivial ou padr\u00E3o reutiliz\u00E1vel | `neuranix_store` | Agente, ao concluir a tarefa |\n| Fim de sess\u00E3o, troca de tarefa grande ou antes de encerrar | `neuranix_checkpoint` | Agente, resumo da sess\u00E3o |\n\n### Regras\n\n- Sempre informe `workspace_path` com o caminho **absoluto** do reposit\u00F3rio aberto.\n- Use `mode`: `debug`, `code_review`, `architecture`, `code_generation`, `conversation`.\n- Resource MCP `neuranix://agent-guide` \u2014 guia completo (j\u00E1 inclu\u00EDdo no servidor MCP).\n- **Nunca** diga ao usu\u00E1rio que ele precisa \"pedir para lembrar\" \u2014 voc\u00EA j\u00E1 faz isso.\n\n### Regra de ouro\n\nSe a tarefa envolve c\u00F3digo existente, hist\u00F3rico do projeto ou decis\u00F5es passadas \u2192 **chame Neuranix antes de responder**.\nAo terminar trabalho significativo \u2192 **chame `neuranix_checkpoint` ou `neuranix_store`** sem esperar confirma\u00E7\u00E3o.\n";
4
+ export declare const AGENTS_MD_FOOTER: string;
5
+ export declare const CLAUDE_COMMANDS = "### Comandos MCP (Claude Code)\n\n| Comando | Quando (autom\u00E1tico pelo agente) |\n|---------|--------------------------------|\n| `/mcp__neuranix__session_start` | In\u00EDcio da sess\u00E3o |\n| `/mcp__neuranix__before_task` | Antes de tarefa complexa |\n| `/mcp__neuranix__save_decision` | Ap\u00F3s decis\u00E3o ou fix |\n| `/mcp__neuranix__session_end` | Fim da sess\u00E3o \u2014 checkpoint |\n| `/mcp__neuranix__after_compaction` | Ap\u00F3s compacta\u00E7\u00E3o de contexto |\n";
6
+ export declare const COPILOT_FOOTER = "\nTools MCP: `neuranix_context`, `neuranix_recall`, `neuranix_store`, `neuranix_checkpoint`, `neuranix_memory`.\n";
7
+ export declare const USER_FACING_NOTE = "Mem\u00F3ria autom\u00E1tica: ao conectar o MCP, o agente j\u00E1 recebe instru\u00E7\u00F5es para recuperar contexto no in\u00EDcio e salvar no fim \u2014 voc\u00EA n\u00E3o precisa pedir.";
8
+ //# sourceMappingURL=rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAErE,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC,eAAO,MAAM,aAAa,wkDAwBzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAGmF,CAAC;AAEjH,eAAO,MAAM,eAAe,8eAS3B,CAAC;AAEF,eAAO,MAAM,cAAc,sHAC0F,CAAC;AAEtH,eAAO,MAAM,gBAAgB,kMAAqJ,CAAC"}
package/dist/rules.js ADDED
@@ -0,0 +1,43 @@
1
+ /** Single source of truth for Neuranix agent protocol (all IDEs). */
2
+ export const PROTOCOL_VERSION = "1.3";
3
+ export const CORE_PROTOCOL = `## Memória persistente (Neuranix) — protocolo automático
4
+
5
+ Você tem memória cognitiva em nuvem via MCP. **O usuário NÃO precisa pedir para salvar ou recuperar** — isso é sua responsabilidade.
6
+
7
+ ### Ciclo automático (obrigatório)
8
+
9
+ | Momento | Tool MCP | Quem dispara |
10
+ |---------|----------|--------------|
11
+ | Início da sessão ou após compactação de contexto | \`neuranix_context\` | Agente, sem pedido do usuário |
12
+ | Antes de refactor, debug, review, arquitetura ou mudanças multi-arquivo | \`neuranix_recall\` | Agente, antes de agir |
13
+ | Após decisão técnica, fix não trivial ou padrão reutilizável | \`neuranix_store\` | Agente, ao concluir a tarefa |
14
+ | Fim de sessão, troca de tarefa grande ou antes de encerrar | \`neuranix_checkpoint\` | Agente, resumo da sessão |
15
+
16
+ ### Regras
17
+
18
+ - Sempre informe \`workspace_path\` com o caminho **absoluto** do repositório aberto.
19
+ - Use \`mode\`: \`debug\`, \`code_review\`, \`architecture\`, \`code_generation\`, \`conversation\`.
20
+ - Resource MCP \`neuranix://agent-guide\` — guia completo (já incluído no servidor MCP).
21
+ - **Nunca** diga ao usuário que ele precisa "pedir para lembrar" — você já faz isso.
22
+
23
+ ### Regra de ouro
24
+
25
+ Se a tarefa envolve código existente, histórico do projeto ou decisões passadas → **chame Neuranix antes de responder**.
26
+ Ao terminar trabalho significativo → **chame \`neuranix_checkpoint\` ou \`neuranix_store\`** sem esperar confirmação.
27
+ `;
28
+ export const AGENTS_MD_FOOTER = "\n> Protocolo Neuranix v" +
29
+ PROTOCOL_VERSION +
30
+ " — incluído no MCP `@neuranix/mcp-server`. Compatível com Cursor, VS Code, Claude Code, Windsurf e outros.\n";
31
+ export const CLAUDE_COMMANDS = `### Comandos MCP (Claude Code)
32
+
33
+ | Comando | Quando (automático pelo agente) |
34
+ |---------|--------------------------------|
35
+ | \`/mcp__neuranix__session_start\` | Início da sessão |
36
+ | \`/mcp__neuranix__before_task\` | Antes de tarefa complexa |
37
+ | \`/mcp__neuranix__save_decision\` | Após decisão ou fix |
38
+ | \`/mcp__neuranix__session_end\` | Fim da sessão — checkpoint |
39
+ | \`/mcp__neuranix__after_compaction\` | Após compactação de contexto |
40
+ `;
41
+ export const COPILOT_FOOTER = "\nTools MCP: `neuranix_context`, `neuranix_recall`, `neuranix_store`, `neuranix_checkpoint`, `neuranix_memory`.\n";
42
+ export const USER_FACING_NOTE = `Memória automática: ao conectar o MCP, o agente já recebe instruções para recuperar contexto no início e salvar no fim — você não precisa pedir.`;
43
+ //# sourceMappingURL=rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAErE,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAEtC,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwB5B,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAC3B,0BAA0B;IAC1B,gBAAgB;IAChB,8GAA8G,CAAC;AAEjH,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;CAS9B,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GACzB,mHAAmH,CAAC;AAEtH,MAAM,CAAC,MAAM,gBAAgB,GAAG,kJAAkJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export declare function runSetup(args: string[]): number;
3
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";AAKA,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAiC/C"}
package/dist/setup.js ADDED
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/env node
2
+ import { writeIdeFiles } from "./ide-files.js";
3
+ import { USER_FACING_NOTE } from "./rules.js";
4
+ export function runSetup(args) {
5
+ if (args.includes("--help") || args.includes("-h")) {
6
+ console.log(`Neuranix MCP setup — grava regras do agente no repositório (todos os IDEs)
7
+
8
+ Uso:
9
+ npx -y @neuranix/mcp-server setup [--force]
10
+
11
+ --force Sobrescreve arquivos que já existem (padrão: pula ou mescla CLAUDE.md/.windsurfrules)
12
+
13
+ ${USER_FACING_NOTE}
14
+ `);
15
+ return 0;
16
+ }
17
+ const force = args.includes("--force");
18
+ const result = writeIdeFiles(process.cwd(), { force });
19
+ for (const p of result.written) {
20
+ console.log(`[neuranix] criado: ${p}`);
21
+ }
22
+ for (const p of result.updated) {
23
+ console.log(`[neuranix] atualizado: ${p}`);
24
+ }
25
+ for (const p of result.skipped) {
26
+ console.log(`[neuranix] ignorado (já existe): ${p}`);
27
+ }
28
+ if (result.written.length === 0 && result.updated.length === 0) {
29
+ console.log("[neuranix] Nada alterado. Use --force para sobrescrever.");
30
+ }
31
+ console.log(`\n${USER_FACING_NOTE}`);
32
+ return 0;
33
+ }
34
+ const invokedDirectly = process.argv[1]?.replace(/\\/g, "/").includes("/setup.js");
35
+ if (invokedDirectly) {
36
+ process.exit(runSetup(process.argv.slice(2)));
37
+ }
38
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,UAAU,QAAQ,CAAC,IAAc;IACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC;;;;;;;EAOd,gBAAgB;CACjB,CAAC,CAAC;QACC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAEvD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,gBAAgB,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACnF,IAAI,eAAe,EAAE,CAAC;IACpB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAe/D,eAAO,MAAM,cAAc,EAAE,IAAI,EA6EhC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE1D,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACxC;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAoDzD"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAe/D,eAAO,MAAM,cAAc,EAAE,IAAI,EAoGhC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE1D,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACxC;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAkEzD"}
package/dist/tools.js CHANGED
@@ -9,10 +9,28 @@ const modeEnum = {
9
9
  description: "Context profile — auto-detected if omitted",
10
10
  };
11
11
  export const NEURANIX_TOOLS = [
12
+ {
13
+ name: "neuranix_context",
14
+ description: "AUTOMATIC at session start and after context compaction — do NOT wait for user request. " +
15
+ "Loads project memories into working context.",
16
+ inputSchema: {
17
+ type: "object",
18
+ properties: {
19
+ query: {
20
+ type: "string",
21
+ description: "Optional session focus (defaults to project overview)",
22
+ },
23
+ workspace_path: workspacePath,
24
+ mode: modeEnum,
25
+ },
26
+ required: ["workspace_path"],
27
+ },
28
+ _meta: ALWAYS_LOAD,
29
+ },
12
30
  {
13
31
  name: "neuranix_recall",
14
- description: "REQUIRED before refactor, debug, code review, architecture work, or multi-file changes. " +
15
- "Recalls relevant memories from past sessions for the current project.",
32
+ description: "AUTOMATIC before refactor, debug, code review, architecture, or multi-file changes. " +
33
+ "Recalls relevant memories from past sessions.",
16
34
  inputSchema: {
17
35
  type: "object",
18
36
  properties: {
@@ -29,8 +47,8 @@ export const NEURANIX_TOOLS = [
29
47
  },
30
48
  {
31
49
  name: "neuranix_store",
32
- description: "REQUIRED after technical decisions, non-trivial bug fixes, architecture choices, or reusable patterns. " +
33
- "Persists learning to Neuranix cloud memory.",
50
+ description: "AUTOMATIC after technical decisions, non-trivial bug fixes, architecture choices, or reusable patterns. " +
51
+ "User must NOT be asked to save — persist proactively.",
34
52
  inputSchema: {
35
53
  type: "object",
36
54
  properties: {
@@ -49,25 +67,29 @@ export const NEURANIX_TOOLS = [
49
67
  _meta: ALWAYS_LOAD,
50
68
  },
51
69
  {
52
- name: "neuranix_context",
53
- description: "REQUIRED at session start and after context compaction. Builds enriched project context from memories.",
70
+ name: "neuranix_checkpoint",
71
+ description: "AUTOMATIC at end of session, major task completion, or before conversation ends. " +
72
+ "Stores a concise session summary (decisions, fixes, pending items). Never ask the user to request this.",
54
73
  inputSchema: {
55
74
  type: "object",
56
75
  properties: {
57
- query: {
76
+ summary: {
58
77
  type: "string",
59
- description: "Optional session focus (defaults to project overview)",
78
+ description: "Concise session summary: decisions, changes, bugs fixed, pending work",
60
79
  },
61
80
  workspace_path: workspacePath,
62
- mode: modeEnum,
81
+ project_name: {
82
+ type: "string",
83
+ description: "Optional project name override",
84
+ },
63
85
  },
64
- required: ["workspace_path"],
86
+ required: ["summary", "workspace_path"],
65
87
  },
66
88
  _meta: ALWAYS_LOAD,
67
89
  },
68
90
  {
69
91
  name: "neuranix_memory",
70
- description: "Unified Neuranix memory (legacy). Prefer neuranix_recall, neuranix_store, neuranix_context when possible.",
92
+ description: "Unified Neuranix memory (legacy). Prefer neuranix_context, neuranix_recall, neuranix_store, neuranix_checkpoint.",
71
93
  inputSchema: {
72
94
  type: "object",
73
95
  properties: {
@@ -107,6 +129,18 @@ export function resolveToolCall(toolName, args) {
107
129
  action: "store",
108
130
  },
109
131
  };
132
+ case "neuranix_checkpoint":
133
+ return {
134
+ action: "store",
135
+ body: {
136
+ content: args?.summary ?? args?.content,
137
+ workspace_path,
138
+ project_name,
139
+ action: "store",
140
+ tags: ["session_checkpoint", "auto_capture"],
141
+ metadata: { source: "checkpoint", auto: true },
142
+ },
143
+ };
110
144
  case "neuranix_context":
111
145
  return {
112
146
  action: "context",
@@ -129,6 +163,8 @@ export function resolveToolCall(toolName, args) {
129
163
  project_name,
130
164
  action: args?.action,
131
165
  mode: args?.mode,
166
+ tags: args?.tags,
167
+ metadata: args?.metadata,
132
168
  },
133
169
  };
134
170
  }
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,20 +1,21 @@
1
1
  {
2
2
  "name": "@neuranix/mcp-server",
3
- "version": "1.2.0",
4
- "description": "Neuranix MCP Server — persistent cognitive memory for IDE AI agents (Cursor, VS Code, Claude Code, Windsurf)",
3
+ "version": "1.3.0",
4
+ "description": "Neuranix MCP Server — autonomous persistent memory for IDE AI agents (Cursor, VS Code, Claude Code, Windsurf)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "bin": {
8
- "neuranix-mcp": "./dist/index.js"
8
+ "neuranix-mcp": "dist/index.js"
9
9
  },
10
10
  "files": [
11
11
  "dist",
12
12
  "README.md"
13
13
  ],
14
14
  "scripts": {
15
- "build": "tsc && node -e \"const fs=require('fs');const p='dist/index.js';let c=fs.readFileSync(p,'utf8');if(!c.startsWith('#!'))fs.writeFileSync(p,'#!/usr/bin/env node\\n'+c)\"",
15
+ "build": "tsc && node -e \"const fs=require('fs');['dist/index.js','dist/setup.js'].forEach(p=>{let c=fs.readFileSync(p,'utf8');if(!c.startsWith('#!'))fs.writeFileSync(p,'#!/usr/bin/env node\\n'+c)})\"",
16
16
  "prepublishOnly": "npm run build",
17
17
  "start": "node dist/index.js",
18
+ "setup": "node dist/setup.js",
18
19
  "dev": "tsx watch src/index.ts"
19
20
  },
20
21
  "dependencies": {
@@ -44,9 +45,10 @@
44
45
  "homepage": "https://neuranix.com.br",
45
46
  "repository": {
46
47
  "type": "git",
47
- "url": "https://github.com/neuranix/neuranix"
48
+ "url": "git+https://github.com/neuranix/neuranix.git"
48
49
  },
49
50
  "publishConfig": {
50
- "access": "public"
51
+ "access": "public",
52
+ "registry": "https://registry.npmjs.org/"
51
53
  }
52
54
  }