Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@memstate/setup

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@memstate/setup - npm Package Compare versions

Comparing version
1.0.2
to
2.0.0
+2
dist/__tests__/agents.test.d.ts
export {};
//# sourceMappingURL=agents.test.d.ts.map
{"version":3,"file":"agents.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/agents.test.ts"],"names":[],"mappings":""}
import { describe, it, beforeEach, afterEach } from "node:test";
import assert from "node:assert/strict";
import * as fs from "fs";
import * as path from "path";
import * as os from "os";
import { getAgents, writeMcpConfig, appendInstructionBlock, safeParseJson, mcpServerStanza, detectProjectId, } from "../agents.js";
/** Create a temporary directory for each test */
function makeTmpDir() {
return fs.mkdtempSync(path.join(os.tmpdir(), "memstate-test-"));
}
function cleanup(dir) {
fs.rmSync(dir, { recursive: true, force: true });
}
// ─── safeParseJson ──────────────────────────────────────────────────────────
describe("safeParseJson", () => {
it("parses valid JSON object", () => {
const result = safeParseJson('{"key": "value"}');
assert.deepEqual(result, { key: "value" });
});
it("returns null for invalid JSON", () => {
assert.equal(safeParseJson("{broken"), null);
assert.equal(safeParseJson(""), null);
assert.equal(safeParseJson("null"), null);
assert.equal(safeParseJson('"string"'), null);
assert.equal(safeParseJson("[1,2,3]"), null);
});
it("parses nested objects", () => {
const result = safeParseJson('{"mcpServers": {"memstate": {"command": "npx"}}}');
assert.ok(result);
assert.ok("mcpServers" in result);
});
});
// ─── mcpServerStanza ────────────────────────────────────────────────────────
describe("mcpServerStanza", () => {
it("returns valid stanza with default key", () => {
const stanza = mcpServerStanza();
assert.equal(stanza.command, "npx");
assert.deepEqual(stanza.args, ["-y", "@memstate/mcp"]);
assert.deepEqual(stanza.env, { MEMSTATE_API_KEY: "YOUR_API_KEY_HERE" });
});
it("uses provided API key", () => {
const stanza = mcpServerStanza("mst_test123");
assert.deepEqual(stanza.env, { MEMSTATE_API_KEY: "mst_test123" });
});
});
// ─── getAgents ──────────────────────────────────────────────────────────────
describe("getAgents", () => {
it("returns at least 12 agent configurations", () => {
const agents = getAgents("/tmp/fake-project");
assert.ok(agents.length >= 12, `Expected >= 12 agents, got ${agents.length}`);
});
it("includes all major agents", () => {
const agents = getAgents("/tmp/fake-project");
const ids = agents.map((a) => a.id);
const required = [
"claude-code", "claude-desktop", "cursor", "windsurf", "cline",
"kilo", "copilot", "gemini", "roo", "amazon-q", "zed", "agents-md", "other",
];
for (const id of required) {
assert.ok(ids.includes(id), `Missing agent: ${id}`);
}
});
it("each agent has required fields", () => {
const agents = getAgents("/tmp/fake-project");
for (const agent of agents) {
assert.ok(agent.id, `Agent missing id`);
assert.ok(agent.name, `Agent ${agent.id} missing name`);
assert.ok(agent.mcpConfigPath, `Agent ${agent.id} missing mcpConfigPath`);
assert.ok(agent.mcpKey === "mcpServers" || agent.mcpKey === "servers", `Agent ${agent.id} has invalid mcpKey: ${agent.mcpKey}`);
}
});
it("copilot uses 'servers' key", () => {
const agents = getAgents("/tmp/fake-project");
const copilot = agents.find((a) => a.id === "copilot");
assert.ok(copilot);
assert.equal(copilot.mcpKey, "servers");
});
it("claude-code uses correct config path", () => {
const agents = getAgents("/tmp/fake-project");
const claude = agents.find((a) => a.id === "claude-code");
assert.ok(claude);
assert.ok(claude.mcpConfigPath.endsWith(".claude.json"), `Expected .claude.json, got ${claude.mcpConfigPath}`);
assert.ok(!claude.mcpConfigPath.includes("claude_desktop_config"), `Claude Code should NOT use claude_desktop_config.json`);
});
it("detects agents based on filesystem", () => {
const tmp = makeTmpDir();
try {
// Create .cursor directory to simulate Cursor being installed
fs.mkdirSync(path.join(tmp, ".cursor"));
const agents = getAgents(tmp);
const cursor = agents.find((a) => a.id === "cursor");
assert.ok(cursor?.detected, "Cursor should be detected when .cursor exists");
// Agent without directory should not be detected
const roo = agents.find((a) => a.id === "roo");
assert.ok(!roo?.detected, "Roo should not be detected without .roo directory");
}
finally {
cleanup(tmp);
}
});
});
// ─── writeMcpConfig ─────────────────────────────────────────────────────────
describe("writeMcpConfig", () => {
let tmp;
beforeEach(() => {
tmp = makeTmpDir();
});
afterEach(() => {
cleanup(tmp);
});
it("creates new config file from scratch", () => {
const configPath = path.join(tmp, "mcp.json");
const result = writeMcpConfig(configPath, "mst_test123");
assert.ok(result.success);
assert.ok(result.created);
const content = JSON.parse(fs.readFileSync(configPath, "utf-8"));
assert.ok(content.mcpServers.memstate);
assert.equal(content.mcpServers.memstate.env.MEMSTATE_API_KEY, "mst_test123");
});
it("creates nested directories if needed", () => {
const configPath = path.join(tmp, "deep", "nested", "mcp.json");
const result = writeMcpConfig(configPath, "mst_test");
assert.ok(result.success);
assert.ok(fs.existsSync(configPath));
});
it("preserves existing servers", () => {
const configPath = path.join(tmp, "mcp.json");
const existing = {
mcpServers: {
"other-server": { command: "node", args: ["server.js"] },
},
};
fs.writeFileSync(configPath, JSON.stringify(existing));
const result = writeMcpConfig(configPath, "mst_key");
assert.ok(result.success);
const content = JSON.parse(fs.readFileSync(configPath, "utf-8"));
assert.ok(content.mcpServers["other-server"], "Existing server should be preserved");
assert.ok(content.mcpServers.memstate, "Memstate should be added");
});
it("updates existing memstate entry", () => {
const configPath = path.join(tmp, "mcp.json");
const existing = {
mcpServers: {
memstate: { command: "npx", args: ["-y", "@memstate/mcp"], env: { MEMSTATE_API_KEY: "old_key" } },
},
};
fs.writeFileSync(configPath, JSON.stringify(existing));
const result = writeMcpConfig(configPath, "new_key");
assert.ok(result.success);
assert.ok(result.message.includes("replaced"), `Expected 'replaced' in message, got: ${result.message}`);
const content = JSON.parse(fs.readFileSync(configPath, "utf-8"));
assert.equal(content.mcpServers.memstate.env.MEMSTATE_API_KEY, "new_key");
});
it("uses 'servers' key when specified", () => {
const configPath = path.join(tmp, "mcp.json");
const result = writeMcpConfig(configPath, "mst_test", "servers");
assert.ok(result.success);
const content = JSON.parse(fs.readFileSync(configPath, "utf-8"));
assert.ok(content.servers.memstate, "Should use 'servers' key");
assert.ok(!content.mcpServers, "Should NOT have 'mcpServers' key");
});
it("respects existing key format (servers vs mcpServers)", () => {
const configPath = path.join(tmp, "mcp.json");
// Pre-existing file using "servers" key
fs.writeFileSync(configPath, JSON.stringify({ servers: { "other": { command: "node" } } }));
// Even if agent says mcpServers, should use existing "servers" key
const result = writeMcpConfig(configPath, "mst_test", "mcpServers");
assert.ok(result.success);
const content = JSON.parse(fs.readFileSync(configPath, "utf-8"));
assert.ok(content.servers.memstate, "Should use existing 'servers' key");
assert.ok(content.servers.other, "Should preserve existing 'other' server");
});
it("handles malformed JSON with backup", () => {
const configPath = path.join(tmp, "mcp.json");
fs.writeFileSync(configPath, "{broken json here!!!}");
const result = writeMcpConfig(configPath, "mst_test");
assert.ok(result.success);
// Verify backup was created
const files = fs.readdirSync(tmp);
const backups = files.filter((f) => f.includes(".bak."));
assert.ok(backups.length > 0, "Should create backup of malformed file");
// Verify new valid config
const content = JSON.parse(fs.readFileSync(configPath, "utf-8"));
assert.ok(content.mcpServers.memstate);
});
it("handles empty file", () => {
const configPath = path.join(tmp, "mcp.json");
fs.writeFileSync(configPath, "");
const result = writeMcpConfig(configPath, "mst_test");
assert.ok(result.success);
assert.ok(result.created, "Empty file should be treated as new");
const content = JSON.parse(fs.readFileSync(configPath, "utf-8"));
assert.ok(content.mcpServers.memstate);
});
it("output is always valid JSON", () => {
const configPath = path.join(tmp, "mcp.json");
// Write complex existing config
const complex = {
mcpServers: {
"server-1": { command: "node", args: ["--flag", "value with spaces"] },
"server-2": { command: "python3", env: { KEY: "val\"ue" } },
},
someOtherConfig: true,
};
fs.writeFileSync(configPath, JSON.stringify(complex));
writeMcpConfig(configPath, "mst_test");
const raw = fs.readFileSync(configPath, "utf-8");
assert.doesNotThrow(() => JSON.parse(raw), "Output must be valid JSON");
});
it("is idempotent — running twice produces same result", () => {
const configPath = path.join(tmp, "mcp.json");
writeMcpConfig(configPath, "mst_test");
const first = fs.readFileSync(configPath, "utf-8");
writeMcpConfig(configPath, "mst_test");
const second = fs.readFileSync(configPath, "utf-8");
assert.equal(first, second, "Running twice should produce identical output");
});
it("preserves non-MCP config keys", () => {
const configPath = path.join(tmp, "settings.json");
fs.writeFileSync(configPath, JSON.stringify({
theme: "dark",
fontSize: 14,
mcpServers: {},
}));
writeMcpConfig(configPath, "mst_test");
const content = JSON.parse(fs.readFileSync(configPath, "utf-8"));
assert.equal(content.theme, "dark");
assert.equal(content.fontSize, 14);
assert.ok(content.mcpServers.memstate);
});
});
// ─── appendInstructionBlock ─────────────────────────────────────────────────
describe("appendInstructionBlock", () => {
let tmp;
beforeEach(() => {
tmp = makeTmpDir();
});
afterEach(() => {
cleanup(tmp);
});
it("creates new instruction file", () => {
const filePath = path.join(tmp, "CLAUDE.md");
const result = appendInstructionBlock(filePath, "my_app");
assert.ok(result.success);
assert.equal(result.message, "Created");
const content = fs.readFileSync(filePath, "utf-8");
assert.ok(content.includes("BEGIN MEMSTATE-AI INSTRUCTIONS"));
assert.ok(content.includes("END MEMSTATE-AI INSTRUCTIONS"));
assert.ok(content.includes("my_app"));
assert.ok(content.includes("memstate_get"));
});
it("creates nested directories", () => {
const filePath = path.join(tmp, ".cursor", "rules", "memstate.mdc");
const result = appendInstructionBlock(filePath, "my_app");
assert.ok(result.success);
assert.ok(fs.existsSync(filePath));
});
it("appends to existing file without memstate content", () => {
const filePath = path.join(tmp, "CLAUDE.md");
fs.writeFileSync(filePath, "# My Project\n\nExisting content here.\n");
const result = appendInstructionBlock(filePath, "my_app");
assert.ok(result.success);
assert.equal(result.message, "Appended");
const content = fs.readFileSync(filePath, "utf-8");
assert.ok(content.startsWith("# My Project"), "Original content should be preserved");
assert.ok(content.includes("BEGIN MEMSTATE-AI INSTRUCTIONS"));
});
it("updates existing instruction block in place", () => {
const filePath = path.join(tmp, "CLAUDE.md");
// First install
appendInstructionBlock(filePath, "old_project");
const firstContent = fs.readFileSync(filePath, "utf-8");
assert.ok(firstContent.includes("old_project"));
// Second install — should update, not append
const result = appendInstructionBlock(filePath, "new_project");
assert.ok(result.success);
assert.ok(result.message.includes("Updated"), `Expected 'Updated', got: ${result.message}`);
const content = fs.readFileSync(filePath, "utf-8");
assert.ok(content.includes("new_project"));
assert.ok(!content.includes("old_project"), "Old project ID should be replaced");
// Should only have one set of markers
const beginCount = (content.match(/BEGIN MEMSTATE-AI INSTRUCTIONS/g) || []).length;
assert.equal(beginCount, 1, "Should only have one instruction block");
});
it("skips files that already have manual memstate content", () => {
const filePath = path.join(tmp, "CLAUDE.md");
fs.writeFileSync(filePath, "# Project\n\nUse memstate_get before tasks.\n");
const result = appendInstructionBlock(filePath, "my_app");
assert.ok(result.success);
assert.ok(result.message.includes("already present"));
});
it("replaces legacy marker content", () => {
const filePath = path.join(tmp, "CLAUDE.md");
fs.writeFileSync(filePath, "# Project\n\n<!-- memstate-ai -->\nOld stuff\n");
const result = appendInstructionBlock(filePath, "my_app");
assert.ok(result.success);
assert.ok(result.message.includes("legacy"));
const content = fs.readFileSync(filePath, "utf-8");
assert.ok(content.includes("BEGIN MEMSTATE-AI INSTRUCTIONS"));
});
it("is idempotent — running twice is a no-op", () => {
const filePath = path.join(tmp, "CLAUDE.md");
appendInstructionBlock(filePath, "my_app");
const first = fs.readFileSync(filePath, "utf-8");
const result = appendInstructionBlock(filePath, "my_app");
assert.ok(result.success);
assert.equal(result.message, "Already up to date");
const second = fs.readFileSync(filePath, "utf-8");
assert.equal(first, second);
});
it("adds MDC frontmatter for .mdc files", () => {
const filePath = path.join(tmp, "memstate.mdc");
const result = appendInstructionBlock(filePath, "my_app");
assert.ok(result.success);
const content = fs.readFileSync(filePath, "utf-8");
assert.ok(content.startsWith("---\nalwaysApply: true\n---"), "MDC files should have frontmatter");
});
it("does NOT add MDC frontmatter for .md files", () => {
const filePath = path.join(tmp, "CLAUDE.md");
appendInstructionBlock(filePath, "my_app");
const content = fs.readFileSync(filePath, "utf-8");
assert.ok(!content.includes("alwaysApply"), "MD files should not have MDC frontmatter");
});
it("replaces project ID placeholders in custom content", () => {
const filePath = path.join(tmp, "CLAUDE.md");
const customContent = 'Call memstate_get(project_id="<your_project>") before tasks.';
appendInstructionBlock(filePath, "acme_api", customContent);
const content = fs.readFileSync(filePath, "utf-8");
assert.ok(content.includes("acme_api"));
assert.ok(!content.includes("<your_project>"));
});
it("handles file with only whitespace", () => {
const filePath = path.join(tmp, "CLAUDE.md");
fs.writeFileSync(filePath, " \n\n ");
const result = appendInstructionBlock(filePath, "my_app");
assert.ok(result.success);
assert.equal(result.message, "Appended");
});
});
// ─── detectProjectId ────────────────────────────────────────────────────────
describe("detectProjectId", () => {
it("returns null for non-git directories", () => {
const tmp = makeTmpDir();
try {
const result = detectProjectId(tmp);
assert.equal(result, null);
}
finally {
cleanup(tmp);
}
});
it("normalizes names to snake_case", () => {
// Test the normalization logic directly
const normalize = (s) => s.toLowerCase().replace(/[^a-z0-9_]/g, "_");
assert.equal(normalize("My-App"), "my_app");
assert.equal(normalize("UPPER_CASE"), "upper_case");
assert.equal(normalize("special!chars@here"), "special_chars_here");
});
});
//# sourceMappingURL=agents.test.js.map
{"version":3,"file":"agents.test.js","sourceRoot":"","sources":["../../src/__tests__/agents.test.ts"],"names":[],"mappings":"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"}
+20
-3

@@ -0,1 +1,5 @@

/** Canonical instruction content URL — single source of truth */
export declare const INSTRUCTIONS_URL = "https://memstate.ai/files/use-memstate-memory.md";
/** Version embedded in instruction blocks — bump when format changes */
export declare const INSTRUCTION_VERSION = "v2";
export interface Agent {

@@ -12,2 +16,4 @@ id: string;

mcpConfigLabel: string;
/** JSON key for MCP servers — "mcpServers" or "servers" */
mcpKey: "mcpServers" | "servers";
/** Absolute path to the agent instruction file (CLAUDE.md, .clinerules, etc.) */

@@ -26,7 +32,13 @@ instructionPath?: string;

/**
* Safely parse JSON with detailed error reporting.
* Returns the parsed object or null if invalid.
*/
export declare function safeParseJson(content: string): Record<string, unknown> | null;
/**
* Write or update an MCP config file to include the memstate server.
* Handles both `{ mcpServers: {...} }` and `{ servers: {...} }` shapes.
* Preserves existing servers. Validates JSON output before writing.
* Returns { success, message, created }
*/
export declare function writeMcpConfig(configPath: string, apiKey: string): {
export declare function writeMcpConfig(configPath: string, apiKey: string, mcpKey?: "mcpServers" | "servers"): {
success: boolean;

@@ -41,4 +53,9 @@ message: string;

};
/** Append the Memstate workflow block to an agent instruction file */
export declare function appendInstructionBlock(filePath: string, projectId: string): {
/**
* Fetch the latest instructions from the hosted URL.
* Falls back to the bundled version if network is unavailable.
*/
export declare function fetchInstructions(): Promise<string>;
/** Append or update the Memstate instruction block in an agent file */
export declare function appendInstructionBlock(filePath: string, projectId: string, instructionContent?: string): {
success: boolean;

@@ -45,0 +62,0 @@ message: string;

+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,QAAQ,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,CAqH/C;AAED,gEAAgE;AAChE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAa1D;AAED,sCAAsC;AACtC,wBAAgB,eAAe,CAAC,MAAM,SAAsB,GAAG,MAAM,CAQpE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAwCzD;AAED,gDAAgD;AAChD,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAiBvC;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAiEvC"}
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AAKA,iEAAiE;AACjE,eAAO,MAAM,gBAAgB,qDAAqD,CAAC;AAEnF,wEAAwE;AACxE,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,QAAQ,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IACjC,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,CAgM/C;AAED,gEAAgE;AAChE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAa1D;AAED,sCAAsC;AACtC,wBAAgB,eAAe,CAAC,MAAM,SAAsB,GAAG,MAAM,CAQpE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAU7E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,YAAY,GAAG,SAAwB,GAC9C;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAkEzD;AAED,gDAAgD;AAChD,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAkBvC;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAWzD;AAED,uEAAuE;AACvE,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,GAC1B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAuEvC"}

@@ -5,2 +5,6 @@ import * as fs from "fs";

import { execSync } from "child_process";
/** Canonical instruction content URL — single source of truth */
export const INSTRUCTIONS_URL = "https://memstate.ai/files/use-memstate-memory.md";
/** Version embedded in instruction blocks — bump when format changes */
export const INSTRUCTION_VERSION = "v2";
export function getAgents(root) {

@@ -10,3 +14,2 @@ const home = os.homedir();

const isWin = process.platform === "win32";
// Claude Desktop config path varies by OS
const claudeDesktopConfig = isMac

@@ -17,2 +20,14 @@ ? path.join(home, "Library", "Application Support", "Claude", "claude_desktop_config.json")

: path.join(home, ".config", "Claude", "claude_desktop_config.json");
// Cline stores MCP settings deep in VS Code extension storage
const clineConfigPath = isMac
? path.join(home, "Library", "Application Support", "Code", "User", "globalStorage", "saoudrizwan.claude-dev", "settings", "cline_mcp_settings.json")
: isWin
? path.join(home, "AppData", "Roaming", "Code", "User", "globalStorage", "saoudrizwan.claude-dev", "settings", "cline_mcp_settings.json")
: path.join(home, ".config", "Code", "User", "globalStorage", "saoudrizwan.claude-dev", "settings", "cline_mcp_settings.json");
// VS Code global MCP config (used by Copilot, Roo Code, etc.)
const vscodeGlobalMcp = isMac
? path.join(home, "Library", "Application Support", "Code", "User", "mcp.json")
: isWin
? path.join(home, "AppData", "Roaming", "Code", "User", "mcp.json")
: path.join(home, ".config", "Code", "User", "mcp.json");
return [

@@ -25,29 +40,19 @@ // ── Claude Code ──────────────────────────────────────────────────────────

skillPath: path.join(root, ".claude", "skills", "memstate-ai", "SKILL.md"),
mcpConfigPath: path.join(home, ".claude", "claude_desktop_config.json"),
mcpConfigLabel: "~/.claude/claude_desktop_config.json",
mcpConfigPath: path.join(home, ".claude.json"),
mcpConfigLabel: "~/.claude.json",
mcpKey: "mcpServers",
instructionPath: path.join(root, "CLAUDE.md"),
instructionLabel: "CLAUDE.md",
},
// ── AGENTS.md (Generic standard) ─────────────────────────────────────────
// ── Claude Desktop ───────────────────────────────────────────────────────
{
id: "agents-md",
name: "AGENTS.md (Generic)",
detected: fs.existsSync(path.join(root, "AGENTS.md")),
skillPath: path.join(root, ".agents", "skills", "memstate-ai", "SKILL.md"),
mcpConfigPath: path.join(root, "mcp.json"),
mcpConfigLabel: "mcp.json",
instructionPath: path.join(root, "AGENTS.md"),
instructionLabel: "AGENTS.md",
id: "claude-desktop",
name: "Claude Desktop",
detected: fs.existsSync(claudeDesktopConfig) || fs.existsSync(path.dirname(claudeDesktopConfig)),
skillPath: path.join(home, ".claude", "skills", "memstate-ai", "SKILL.md"),
mcpConfigPath: claudeDesktopConfig,
mcpConfigLabel: claudeDesktopConfig.replace(home, "~"),
mcpKey: "mcpServers",
isGlobal: true,
},
// ── GEMINI.md ────────────────────────────────────────────────────────────
{
id: "gemini-md",
name: "GEMINI.md",
detected: fs.existsSync(path.join(root, "GEMINI.md")),
skillPath: path.join(root, ".gemini", "skills", "memstate-ai", "SKILL.md"),
mcpConfigPath: path.join(root, "mcp.json"),
mcpConfigLabel: "mcp.json",
instructionPath: path.join(root, "GEMINI.md"),
instructionLabel: "GEMINI.md",
},
// ── Cursor ───────────────────────────────────────────────────────────────

@@ -62,17 +67,6 @@ {

mcpConfigLabel: ".cursor/mcp.json",
// For MCP installs, we just want a standard markdown rule, not an MDC skill file
instructionPath: path.join(root, ".cursor", "rules", "memstate-ai-mcp.mdc"),
instructionLabel: ".cursor/rules/memstate-ai-mcp.mdc",
mcpKey: "mcpServers",
instructionPath: path.join(root, ".cursor", "rules", "use-memstate-memory.mdc"),
instructionLabel: ".cursor/rules/use-memstate-memory.mdc",
},
// ── Cline ────────────────────────────────────────────────────────────────
{
id: "cline",
name: "Cline (VS Code)",
detected: fs.existsSync(path.join(root, ".clinerules")),
skillPath: path.join(root, ".clinerules", "memstate-ai.md"),
mcpConfigPath: path.join(home, ".vscode", "cline_mcp_settings.json"),
mcpConfigLabel: "~/.vscode/cline_mcp_settings.json",
instructionPath: path.join(root, ".clinerules", "memstate-ai.md"),
instructionLabel: ".clinerules/memstate-ai.md",
},
// ── Windsurf ─────────────────────────────────────────────────────────────

@@ -87,5 +81,19 @@ {

mcpConfigLabel: "~/.codeium/windsurf/mcp_config.json",
mcpKey: "mcpServers",
instructionPath: path.join(root, ".windsurf", "rules", "memstate-ai.md"),
instructionLabel: ".windsurf/rules/memstate-ai.md",
},
// ── Cline ────────────────────────────────────────────────────────────────
{
id: "cline",
name: "Cline (VS Code)",
detected: fs.existsSync(path.join(root, ".clinerules")) ||
fs.existsSync(path.dirname(clineConfigPath)),
skillPath: path.join(root, ".clinerules", "memstate-ai.md"),
mcpConfigPath: clineConfigPath,
mcpConfigLabel: clineConfigPath.replace(home, "~"),
mcpKey: "mcpServers",
instructionPath: path.join(root, ".clinerules", "memstate-ai.md"),
instructionLabel: ".clinerules/memstate-ai.md",
},
// ── Kilo Code ────────────────────────────────────────────────────────────

@@ -100,15 +108,81 @@ {

mcpConfigLabel: ".kilocode/mcp.json",
mcpKey: "mcpServers",
instructionPath: path.join(root, ".kilocode", "rules", "memstate-ai.md"),
instructionLabel: ".kilocode/rules/memstate-ai.md",
},
// ── Claude Desktop ───────────────────────────────────────────────────────
// ── GitHub Copilot ───────────────────────────────────────────────────────
{
id: "claude-desktop",
name: "Claude Desktop",
detected: fs.existsSync(claudeDesktopConfig),
skillPath: path.join(home, ".claude", "skills", "memstate-ai", "SKILL.md"),
mcpConfigPath: claudeDesktopConfig,
mcpConfigLabel: claudeDesktopConfig.replace(home, "~"),
isGlobal: true,
id: "copilot",
name: "GitHub Copilot",
detected: fs.existsSync(path.join(root, ".vscode")) ||
fs.existsSync(path.join(root, ".github", "copilot-instructions.md")),
skillPath: path.join(root, ".github", "memstate-ai-skill.md"),
mcpConfigPath: path.join(root, ".vscode", "mcp.json"),
mcpConfigLabel: ".vscode/mcp.json",
mcpKey: "servers",
instructionPath: path.join(root, ".github", "copilot-instructions.md"),
instructionLabel: ".github/copilot-instructions.md",
},
// ── Gemini CLI ───────────────────────────────────────────────────────────
{
id: "gemini",
name: "Gemini CLI",
detected: fs.existsSync(path.join(home, ".gemini")),
skillPath: path.join(root, ".gemini", "skills", "memstate-ai", "SKILL.md"),
mcpConfigPath: path.join(home, ".gemini", "settings.json"),
mcpConfigLabel: "~/.gemini/settings.json",
mcpKey: "mcpServers",
instructionPath: path.join(root, "GEMINI.md"),
instructionLabel: "GEMINI.md",
},
// ── Roo Code ─────────────────────────────────────────────────────────────
{
id: "roo",
name: "Roo Code",
detected: fs.existsSync(path.join(root, ".roo")) ||
fs.existsSync(path.join(root, ".roomodes")),
skillPath: path.join(root, ".roo", "rules", "memstate-ai.md"),
mcpConfigPath: path.join(root, ".roo", "mcp.json"),
mcpConfigLabel: ".roo/mcp.json",
mcpKey: "mcpServers",
instructionPath: path.join(root, ".roo", "rules", "memstate-ai.md"),
instructionLabel: ".roo/rules/memstate-ai.md",
},
// ── Amazon Q Developer ───────────────────────────────────────────────────
{
id: "amazon-q",
name: "Amazon Q Developer",
detected: fs.existsSync(path.join(home, ".aws", "amazonq")),
skillPath: path.join(root, ".amazonq", "rules", "memstate-ai.md"),
mcpConfigPath: path.join(home, ".aws", "amazonq", "mcp.json"),
mcpConfigLabel: "~/.aws/amazonq/mcp.json",
mcpKey: "mcpServers",
instructionPath: path.join(root, ".amazonq", "rules", "memstate-ai.md"),
instructionLabel: ".amazonq/rules/memstate-ai.md",
},
// ── Zed ──────────────────────────────────────────────────────────────────
{
id: "zed",
name: "Zed",
detected: fs.existsSync(path.join(home, ".config", "zed")) ||
fs.existsSync(path.join(root, ".zed")),
skillPath: path.join(root, ".zed", "memstate-ai.md"),
mcpConfigPath: path.join(root, ".zed", "settings.json"),
mcpConfigLabel: ".zed/settings.json",
mcpKey: "mcpServers",
instructionPath: path.join(root, ".zed", "rules", "memstate-ai.md"),
instructionLabel: ".zed/rules/memstate-ai.md",
},
// ── AGENTS.md (Generic standard) ─────────────────────────────────────────
{
id: "agents-md",
name: "AGENTS.md (Codex / Other)",
detected: fs.existsSync(path.join(root, "AGENTS.md")),
skillPath: path.join(root, ".agents", "skills", "memstate-ai", "SKILL.md"),
mcpConfigPath: path.join(root, "mcp.json"),
mcpConfigLabel: "mcp.json",
mcpKey: "mcpServers",
instructionPath: path.join(root, "AGENTS.md"),
instructionLabel: "AGENTS.md",
},
// ── Generic / Other ──────────────────────────────────────────────────────

@@ -122,2 +196,3 @@ {

mcpConfigLabel: "mcp.json",
mcpKey: "mcpServers",
},

@@ -153,23 +228,52 @@ ];

/**
* Safely parse JSON with detailed error reporting.
* Returns the parsed object or null if invalid.
*/
export function safeParseJson(content) {
try {
const parsed = JSON.parse(content);
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
return null;
}
return parsed;
}
catch {
return null;
}
}
/**
* Write or update an MCP config file to include the memstate server.
* Handles both `{ mcpServers: {...} }` and `{ servers: {...} }` shapes.
* Preserves existing servers. Validates JSON output before writing.
* Returns { success, message, created }
*/
export function writeMcpConfig(configPath, apiKey) {
export function writeMcpConfig(configPath, apiKey, mcpKey = "mcpServers") {
try {
const dir = path.dirname(configPath);
fs.mkdirSync(dir, { recursive: true });
// Resolve symlinks if the file exists to ensure we're editing the real target
// Resolve symlinks to avoid writing to the wrong file
let resolvedPath = configPath;
if (fs.existsSync(configPath)) {
configPath = fs.realpathSync(configPath);
resolvedPath = fs.realpathSync(configPath);
}
let config = {};
let created = false;
if (fs.existsSync(configPath)) {
try {
config = JSON.parse(fs.readFileSync(configPath, "utf-8"));
let hadExistingMemstate = false;
if (fs.existsSync(resolvedPath)) {
const rawContent = fs.readFileSync(resolvedPath, "utf-8").trim();
if (rawContent === "") {
// Empty file — treat as new
created = true;
}
catch {
// Malformed JSON — start fresh but keep a backup
fs.copyFileSync(configPath, configPath + ".bak");
else {
const parsed = safeParseJson(rawContent);
if (parsed === null) {
// Malformed JSON — backup and start fresh
const backupPath = resolvedPath + ".bak." + Date.now();
fs.copyFileSync(resolvedPath, backupPath);
created = true;
}
else {
config = parsed;
}
}

@@ -180,10 +284,20 @@ }

}
// Support both common MCP config shapes
const key = "mcpServers" in config ? "mcpServers" : "mcpServers";
// Detect which key the file already uses
const existingKey = "servers" in config ? "servers" : "mcpServers" in config ? "mcpServers" : mcpKey;
const key = existingKey;
if (!config[key] || typeof config[key] !== "object") {
config[key] = {};
}
config[key]["memstate"] = mcpServerStanza(apiKey);
fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n", "utf-8");
return { success: true, message: created ? "Created" : "Updated", created };
const servers = config[key];
hadExistingMemstate = "memstate" in servers;
servers["memstate"] = mcpServerStanza(apiKey);
// Validate output JSON before writing
const output = JSON.stringify(config, null, 2) + "\n";
const reparse = safeParseJson(output);
if (reparse === null) {
return { success: false, message: "Internal error: generated invalid JSON", created: false };
}
fs.writeFileSync(resolvedPath, output, "utf-8");
const message = created ? "Created" : hadExistingMemstate ? "Updated (replaced existing memstate entry)" : "Updated (added memstate)";
return { success: true, message, created };
}

@@ -203,6 +317,7 @@ catch (err) {

fs.mkdirSync(dir, { recursive: true });
let resolvedPath = skillPath;
if (fs.existsSync(skillPath)) {
skillPath = fs.realpathSync(skillPath);
resolvedPath = fs.realpathSync(skillPath);
}
fs.writeFileSync(skillPath, content, "utf-8");
fs.writeFileSync(resolvedPath, content, "utf-8");
return { success: true, message: "Installed" };

@@ -217,34 +332,46 @@ }

}
/** Append the Memstate workflow block to an agent instruction file */
export function appendInstructionBlock(filePath, projectId) {
/**
* Fetch the latest instructions from the hosted URL.
* Falls back to the bundled version if network is unavailable.
*/
export async function fetchInstructions() {
try {
const res = await fetch(INSTRUCTIONS_URL, { signal: AbortSignal.timeout(5000) });
if (res.ok) {
const text = await res.text();
if (text.includes("memstate_get"))
return text;
}
}
catch {
// Network unavailable — use fallback
}
return FALLBACK_INSTRUCTIONS;
}
/** Append or update the Memstate instruction block in an agent file */
export function appendInstructionBlock(filePath, projectId, instructionContent) {
const BEGIN_MARKER = "<!-- BEGIN MEMSTATE-AI INSTRUCTIONS -->";
const END_MARKER = "<!-- END MEMSTATE-AI INSTRUCTIONS -->";
const VERSION = "v1"; // Used to track instruction block versions in the future if needed
const block = `${BEGIN_MARKER}
## Memory (Memstate AI)
This project uses [Memstate AI](https://memstate.ai) for persistent, versioned memory.
### Before each task
\`\`\`
memstate_get(project_id="${projectId}")
\`\`\`
### After each task
\`\`\`
memstate_remember(
project_id="${projectId}",
content="## Task Summary\\n- What was done\\n- Key decisions\\n- Files modified",
source="agent"
)
\`\`\`
${END_MARKER}`;
// Build the instruction content, replacing placeholders with actual project ID
let content = instructionContent || FALLBACK_INSTRUCTIONS;
content = content
.replace(/<your_project>/g, projectId)
.replace(/my_project/g, projectId);
// For Cursor .mdc files, prepend the frontmatter
const isMdc = filePath.endsWith(".mdc");
const mdcFrontmatter = "---\nalwaysApply: true\n---\n\n";
const block = `${BEGIN_MARKER}\n${content}\n${END_MARKER}`;
const fullBlock = isMdc ? mdcFrontmatter + block : block;
try {
const dir = path.dirname(filePath);
fs.mkdirSync(dir, { recursive: true });
let resolvedPath = filePath;
if (fs.existsSync(filePath)) {
filePath = fs.realpathSync(filePath);
const existing = fs.readFileSync(filePath, "utf-8");
// If the block exists, replace it
resolvedPath = fs.realpathSync(filePath);
}
if (fs.existsSync(resolvedPath)) {
const existing = fs.readFileSync(resolvedPath, "utf-8");
// If our markers exist, replace the block (update in place)
if (existing.includes(BEGIN_MARKER) && existing.includes(END_MARKER)) {
const regex = new RegExp(`${BEGIN_MARKER}[\\s\\S]*?${END_MARKER}`, "g");
const regex = new RegExp(`${escapeRegex(BEGIN_MARKER)}[\\s\\S]*?${escapeRegex(END_MARKER)}`, "g");
const updated = existing.replace(regex, block);

@@ -254,19 +381,24 @@ if (existing === updated) {

}
fs.writeFileSync(filePath, updated, "utf-8");
return { success: true, message: "Updated" };
fs.writeFileSync(resolvedPath, updated, "utf-8");
return { success: true, message: "Updated to latest instructions" };
}
// Handle legacy marker
// Handle legacy marker from older versions
const LEGACY_MARKER = "<!-- memstate-ai -->";
if (existing.includes(LEGACY_MARKER)) {
// We can't safely regex the legacy block since it had no end marker,
// but we can append the new one and warn the user.
fs.appendFileSync(filePath, "\n" + block + "\n", "utf-8");
return { success: true, message: "Appended (legacy block detected)" };
const legacy = existing.replace(LEGACY_MARKER, "");
fs.writeFileSync(resolvedPath, legacy.trimEnd() + "\n\n" + block + "\n", "utf-8");
return { success: true, message: "Replaced legacy instructions" };
}
// Otherwise, just append
fs.appendFileSync(filePath, "\n" + block + "\n", "utf-8");
// Check for existing memstate content without markers
if (existing.includes("memstate_get") || existing.includes("Memstate MCP")) {
// Don't double-add — wrap existing content in markers on next run
return { success: true, message: "Memstate instructions already present (manual)" };
}
// Append to existing file
fs.appendFileSync(resolvedPath, "\n\n" + block + "\n", "utf-8");
return { success: true, message: "Appended" };
}
else {
fs.writeFileSync(filePath, block + "\n", "utf-8");
// Create new file
fs.writeFileSync(resolvedPath, fullBlock + "\n", "utf-8");
return { success: true, message: "Created" };

@@ -282,2 +414,37 @@ }

}
function escapeRegex(s) {
return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
}
/** Bundled fallback instructions — used when network is unavailable */
const FALLBACK_INSTRUCTIONS = `# Memstate MCP - Memory Storage
This project uses Memstate MCP for persistent, versioned memory across sessions.
## REQUIRED: Start and end every task with memory
**BEFORE starting any task**, load existing context so you don't redo past work or revert intentional decisions:
\`\`\`
memstate_get(project_id="<your_project>")
\`\`\`
**AFTER completing any task**, save what you did so the next session has context:
\`\`\`
memstate_remember(project_id="<your_project>", content="## Task Summary\\n- What was done\\n- Key decisions made\\n- Files modified", source="agent")
\`\`\`
These two calls are mandatory. Skipping them means the next session starts blind.
## Tool reference
| Tool | When to use |
|------|-------------|
| memstate_get | **Start of every task.** Browse project tree or fetch content at a keypath. |
| memstate_remember | **End of every task.** Save markdown summaries, notes, decisions. |
| memstate_search | Find memories by meaning when you don't know the exact keypath. |
| memstate_set | Store a single key=value fact (e.g. config.port). Not for summaries. |
| memstate_history | View version history of a keypath. |
| memstate_delete | Soft-delete a keypath (history preserved). |
## Project naming
Use a short snake_case name matching your repo or topic (e.g. my_app, api_service). All related memories should share the same project_id.`;
//# sourceMappingURL=agents.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}

@@ -11,2 +11,3 @@ #!/usr/bin/env node

*/
import * as fs from "fs";
import minimist from "minimist";

@@ -88,3 +89,5 @@ import { c, LOGO_COMPACT, hr } from "./theme.js";

function showVersion() {
console.log("1.0.2");
// eslint-disable-next-line @typescript-eslint/no-require-imports
const pkg = JSON.parse(fs.readFileSync(new URL("../package.json", import.meta.url), "utf-8"));
console.log(pkg.version);
}

@@ -91,0 +94,0 @@ async function main() {

@@ -1,1 +0,1 @@

{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}

@@ -7,4 +7,4 @@ /**

export { runSetup, type SetupOptions } from "./setup.js";
export { getAgents, detectProjectId, writeMcpConfig, writeSkillFile, appendInstructionBlock, mcpServerStanza, type Agent, } from "./agents.js";
export { getAgents, detectProjectId, writeMcpConfig, writeSkillFile, appendInstructionBlock, fetchInstructions, mcpServerStanza, safeParseJson, INSTRUCTIONS_URL, INSTRUCTION_VERSION, type Agent, } from "./agents.js";
export { SKILL_MD_CONTENT } from "./skill-content.js";
//# sourceMappingURL=index.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EACL,SAAS,EACT,eAAe,EACf,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,KAAK,KAAK,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EACL,SAAS,EACT,eAAe,EACf,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,KAAK,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}

@@ -7,4 +7,4 @@ /**

export { runSetup } from "./setup.js";
export { getAgents, detectProjectId, writeMcpConfig, writeSkillFile, appendInstructionBlock, mcpServerStanza, } from "./agents.js";
export { getAgents, detectProjectId, writeMcpConfig, writeSkillFile, appendInstructionBlock, fetchInstructions, mcpServerStanza, safeParseJson, INSTRUCTIONS_URL, INSTRUCTION_VERSION, } from "./agents.js";
export { SKILL_MD_CONTENT } from "./skill-content.js";
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAqB,MAAM,YAAY,CAAC;AACzD,OAAO,EACL,SAAS,EACT,eAAe,EACf,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,eAAe,GAEhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAqB,MAAM,YAAY,CAAC;AACzD,OAAO,EACL,SAAS,EACT,eAAe,EACf,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,mBAAmB,GAEpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}

@@ -1,1 +0,1 @@

{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AA0BA,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,GAAG,EAAE,OAAO,CAAC;IACb,8DAA8D;IAC9D,KAAK,EAAE,OAAO,CAAC;IACf,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,2BAA2B;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,GAAG,EAAE,OAAO,CAAC;CACd;AAoBD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAuUhE"}
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,GAAG,EAAE,OAAO,CAAC;IACb,8DAA8D;IAC9D,KAAK,EAAE,OAAO,CAAC;IACf,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,2BAA2B;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,GAAG,EAAE,OAAO,CAAC;CACd;AAoBD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgShE"}

@@ -7,3 +7,3 @@ import * as fs from "fs";

import { ask, multiSelect, closeReadline } from "./prompt.js";
import { getAgents, detectProjectId, writeMcpConfig, writeSkillFile, appendInstructionBlock, } from "./agents.js";
import { getAgents, detectProjectId, writeMcpConfig, writeSkillFile, appendInstructionBlock, fetchInstructions, } from "./agents.js";
import { SKILL_MD_CONTENT } from "./skill-content.js";

@@ -44,3 +44,2 @@ function openBrowser(url) {

let installSkill = opts.skill;
// If explicit flags were passed via CLI, skip the interactive selection step
const skipInstallStep = opts.mcp || opts.skill;

@@ -50,3 +49,2 @@ if (!skipInstallStep && !opts.yes) {

console.log();
// Default: MCP is on, Skill is off (MCP is the recommended path)
const choices = [

@@ -56,3 +54,3 @@ "MCP server config " + c.muted("(recommended — works with all agents)"),

];
const defaults = [0]; // MCP selected by default
const defaults = [0];
if (installSkill)

@@ -65,3 +63,2 @@ defaults.push(1);

else if (!skipInstallStep && opts.yes) {
// --yes with no explicit flags: default to MCP only
installMcp = true;

@@ -80,3 +77,3 @@ }

if (detectedAgents.length > 0) {
console.log(info(`Found ${c.bold(String(detectedAgents.length))} agent environment(s) for ${c.code(root)}:`));
console.log(info(`Found ${c.bold(String(detectedAgents.length))} agent environment(s):`));
detectedAgents.forEach((a) => {

@@ -99,3 +96,2 @@ console.log(tick(a.name));

console.log();
// Build selection list
const agentOptions = allAgents.map((a) => {

@@ -106,3 +102,2 @@ const detected = a.detected ? c.success(" ✓ detected") : "";

});
// Default: all detected agents (or first if none detected)
const defaultAgentIndices = detectedAgents.length > 0

@@ -133,5 +128,3 @@ ? detectedAgents.map((a) => allAgents.findIndex((x) => x.id === a.id))

console.log(info(`You are not inside a git repository (${c.code(root)}).`));
console.log(hint(" For best results, Memstate should be installed at the root of a project."));
console.log(hint(" If you want to install for a specific project, exit and run:"));
console.log(hint(" npx @memstate/setup --path /path/to/your/project"));
console.log(hint(" For best results, run this from the root of a project."));
console.log();

@@ -171,13 +164,23 @@ }

else {
console.log(hint(" You can add it later by editing the MCP config file."));
console.log(hint(" You can add it later by editing the MCP config file(s)."));
}
}
}
// ── Step 5: Install ───────────────────────────────────────────────────────
console.log(step(5, "Installing"));
// ── Step 5: Fetch latest instructions ─────────────────────────────────────
console.log(step(5, "Fetching latest agent instructions"));
console.log();
const instructions = await fetchInstructions();
if (instructions.includes("REQUIRED")) {
console.log(tick("Fetched latest instructions from memstate.ai"));
}
else {
console.log(info("Using bundled instructions (offline mode)"));
}
// ── Step 6: Install ───────────────────────────────────────────────────────
console.log(step(6, "Installing"));
console.log();
const mcpResults = [];
const skillResults = [];
const instructionResults = [];
// Track already-written paths to avoid duplicates (using realpath to handle symlinks)
// Track already-written paths to avoid duplicates
const writtenMcpPaths = new Set();

@@ -187,3 +190,3 @@ const writtenSkillPaths = new Set();

for (const agent of selectedAgents) {
// ── MCP config ────────────────────────────────────────────────────────────────
// ── MCP config ──────────────────────────────────────────────────────────
const realMcpPath = fs.existsSync(agent.mcpConfigPath)

@@ -194,14 +197,9 @@ ? fs.realpathSync(agent.mcpConfigPath)

writtenMcpPaths.add(realMcpPath);
const result = writeMcpConfig(agent.mcpConfigPath, apiKey);
const result = writeMcpConfig(agent.mcpConfigPath, apiKey, agent.mcpKey);
const label = result.success ? tick : cross;
console.log(label(`${c.bold(agent.name)} MCP config ${c.muted(result.message)}`));
console.log(arrow(agent.mcpConfigLabel));
mcpResults.push({
agent,
configPath: agent.mcpConfigPath,
success: result.success,
message: result.message,
});
mcpResults.push({ agent, success: result.success, message: result.message });
}
// ── Skill file ────────────────────────────────────────────────────────────────
// ── Skill file ──────────────────────────────────────────────────────────
const realSkillPath = fs.existsSync(agent.skillPath)

@@ -216,12 +214,5 @@ ? fs.realpathSync(agent.skillPath)

console.log(arrow(agent.skillPath.replace(os.homedir(), "~")));
skillResults.push({
agent,
skillPath: agent.skillPath,
success: result.success,
message: result.message,
});
skillResults.push({ agent, success: result.success, message: result.message });
}
// ── Instruction file ──────────────────────────────────────────────────────────
// Always write instruction rules when installing MCP or Skill — the agent
// needs to know to call memstate_get/memstate_remember before/after tasks.
// ── Instruction file ────────────────────────────────────────────────────
const realInstructionPath = agent.instructionPath && fs.existsSync(agent.instructionPath)

@@ -236,3 +227,3 @@ ? fs.realpathSync(agent.instructionPath)

writtenInstructionPaths.add(realInstructionPath);
const iResult = appendInstructionBlock(agent.instructionPath, projectId);
const iResult = appendInstructionBlock(agent.instructionPath, projectId, instructions);
const iLabel = iResult.success ? tick : cross;

@@ -243,16 +234,8 @@ console.log(iLabel(`${c.bold(agent.name)} instructions ${c.muted(iResult.message)}`));

}
instructionResults.push({
agent,
filePath: agent.instructionPath,
success: iResult.success,
message: iResult.message,
});
instructionResults.push({ agent, success: iResult.success, message: iResult.message });
}
}
// ── Summary ───────────────────────────────────────────────────────────────
const allSucceeded = [
...mcpResults,
...skillResults,
...instructionResults,
].every((r) => r.success);
const allResults = [...mcpResults, ...skillResults, ...instructionResults];
const allSucceeded = allResults.every((r) => r.success);
console.log("\n" + hr("═"));

@@ -259,0 +242,0 @@ if (allSucceeded) {

@@ -1,1 +0,1 @@

{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
{
"name": "@memstate/setup",
"version": "1.0.2",
"version": "2.0.0",
"description": "Set up Memstate AI persistent memory for your AI coding agent in seconds",

@@ -16,2 +16,7 @@ "keywords": [

"kilo",
"copilot",
"gemini",
"roo-code",
"amazon-q",
"zed",
"setup",

@@ -41,3 +46,4 @@ "install"

"dev": "tsx src/cli.ts",
"prepublishOnly": "npm run build"
"test": "node --import tsx --test src/__tests__/*.test.ts",
"prepublishOnly": "npm run build && npm test"
},

@@ -44,0 +50,0 @@ "dependencies": {