lemma-mcp 0.17.2 → 0.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +14 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/install-skill.d.ts +21 -0
- package/dist/server/install-skill.d.ts.map +1 -0
- package/dist/server/install-skill.js +70 -0
- package/dist/server/install-skill.js.map +1 -0
- package/dist/server/skill-content.d.ts +6 -0
- package/dist/server/skill-content.d.ts.map +1 -0
- package/dist/server/skill-content.js +84 -0
- package/dist/server/skill-content.js.map +1 -0
- package/package.json +3 -1
- package/scripts/postinstall.mjs +21 -0
package/dist/index.js
CHANGED
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
import { spawn } from "child_process";
|
|
3
3
|
import { startServer, runLibMode } from "./server/index.js";
|
|
4
4
|
import { startVisualizeServer } from "./server/visualize.js";
|
|
5
|
+
import { installSkill } from "./server/install-skill.js";
|
|
5
6
|
import { VERSION } from "./version.js";
|
|
6
7
|
const args = process.argv.slice(2);
|
|
7
8
|
const hasHelp = args.includes("--help") || args.includes("-h") || args.includes("help");
|
|
8
9
|
const hasVersion = args.includes("--version") || args.includes("-V");
|
|
9
10
|
const hasLib = args.includes("-lib") || args.includes("--library");
|
|
10
11
|
const hasVisualizer = args.includes("-vis") || args.includes("--visualize");
|
|
12
|
+
const hasInstallSkill = args.includes("--install-skill");
|
|
11
13
|
function printHelp() {
|
|
12
14
|
console.log(`Lemma ${VERSION}
|
|
13
15
|
|
|
@@ -18,6 +20,7 @@ Usage:
|
|
|
18
20
|
lemma -vis --fg Start the visualizer in the foreground
|
|
19
21
|
lemma -vis -p 8080 Start the visualizer on a custom port
|
|
20
22
|
lemma --version Print the version
|
|
23
|
+
lemma --install-skill Install/update the Lemma skill at ~/.agents/skills/lemma/
|
|
21
24
|
lemma --help Show this help
|
|
22
25
|
`);
|
|
23
26
|
}
|
|
@@ -44,6 +47,11 @@ async function main() {
|
|
|
44
47
|
else if (hasLib) {
|
|
45
48
|
await runLibMode();
|
|
46
49
|
}
|
|
50
|
+
else if (hasInstallSkill) {
|
|
51
|
+
const result = installSkill();
|
|
52
|
+
console.log(`[lemma] skill: ${result.reason ?? "done"} -> ${result.path}`);
|
|
53
|
+
process.exit(0);
|
|
54
|
+
}
|
|
47
55
|
else if (hasVisualizer) {
|
|
48
56
|
const port = parsePortArg();
|
|
49
57
|
if (!args.includes("--fg")) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACxF,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACnE,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAyBnE,eAAO,IAAI,eAAe,EAAE,MAAM,GAAG,IAAW,CAAC;AAKjD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAEzD;AAkMD,wBAAgB,SAAS,IAAI,MAAM,CAKlC;AAqFD,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAUhD;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAkEjD"}
|
package/dist/server/index.js
CHANGED
|
@@ -7,6 +7,7 @@ import * as guides from "../guides/index.js";
|
|
|
7
7
|
import * as virtualSession from "../sessions/virtual.js";
|
|
8
8
|
import { BASE_SYSTEM_PROMPT, buildInstructions, buildInjectedTools } from "./system-prompt.js";
|
|
9
9
|
import { handleCallTool, autoStartSession, autoEndSession } from "./handlers.js";
|
|
10
|
+
import { installSkill } from "./install-skill.js";
|
|
10
11
|
import { triggerHook, HookTypes } from "./hooks.js";
|
|
11
12
|
import * as core_config from "../memory/config.js";
|
|
12
13
|
import { initDatabase, getDb } from "../db/index.js";
|
|
@@ -293,6 +294,19 @@ export async function startServer() {
|
|
|
293
294
|
return origStdoutWrite.apply(process.stdout, [data, ...args]);
|
|
294
295
|
};
|
|
295
296
|
await initializeContext();
|
|
297
|
+
// Runtime safety net: ensure the Lemma SKILL.md exists and is current for
|
|
298
|
+
// skill-format clients (e.g. Codex, which does not inject MCP `instructions`
|
|
299
|
+
// into the system prompt). Idempotent — a no-op when already up to date.
|
|
300
|
+
try {
|
|
301
|
+
const skillResult = installSkill();
|
|
302
|
+
logger.flow("server", "skill_install", skillResult);
|
|
303
|
+
if (skillResult.installed) {
|
|
304
|
+
logger.info(`Skill installed: ${skillResult.path} (${skillResult.reason})`);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
catch (e) {
|
|
308
|
+
logger.warn("Skill install failed", e.message);
|
|
309
|
+
}
|
|
296
310
|
const activeServer = createServer(buildInstructions(detectedProject));
|
|
297
311
|
server = activeServer;
|
|
298
312
|
logger.flow("server", "creating_transport");
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const SKILL_DIR: string;
|
|
2
|
+
export declare const SKILL_FILE: string;
|
|
3
|
+
export interface InstallSkillResult {
|
|
4
|
+
/** True if the file was written/updated during this call. */
|
|
5
|
+
installed: boolean;
|
|
6
|
+
/** True if no write was needed (already current, or skipped on error). */
|
|
7
|
+
skipped: boolean;
|
|
8
|
+
path: string;
|
|
9
|
+
reason?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function getSkillPath(): string;
|
|
12
|
+
/**
|
|
13
|
+
* Write the SKILL.md unless it is already current.
|
|
14
|
+
*
|
|
15
|
+
* @param opts.skillDir Override the target directory (used by tests to sandbox
|
|
16
|
+
* writes away from the real `~/.agents/skills/lemma/`). Defaults to SKILL_DIR.
|
|
17
|
+
*/
|
|
18
|
+
export declare function installSkill(opts?: {
|
|
19
|
+
skillDir?: string;
|
|
20
|
+
}): InstallSkillResult;
|
|
21
|
+
//# sourceMappingURL=install-skill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-skill.d.ts","sourceRoot":"","sources":["../../src/server/install-skill.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,SAAS,QAAwD,CAAC;AAC/E,eAAO,MAAM,UAAU,QAAmC,CAAC;AAE3D,MAAM,WAAW,kBAAkB;IACjC,6DAA6D;IAC7D,SAAS,EAAE,OAAO,CAAC;IACnB,0EAA0E;IAC1E,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,kBAAkB,CA6B7E"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Installs Lemma's SKILL.md to `~/.agents/skills/lemma/SKILL.md`.
|
|
3
|
+
*
|
|
4
|
+
* Used in two places:
|
|
5
|
+
* - npm `postinstall` (and `lemma --install-skill`): writes on install/upgrade.
|
|
6
|
+
* - Server startup (runtime safety net): re-checks every launch so the file
|
|
7
|
+
* stays current even for users who run via `npx` or never reinstall.
|
|
8
|
+
*
|
|
9
|
+
* Idempotent + version-aware: if the installed file's version stamp already
|
|
10
|
+
* matches the running VERSION, it is left untouched. On upgrade the stamp
|
|
11
|
+
* diverges and the file is overwritten. Errors are swallowed (warned) — this
|
|
12
|
+
* is a side effect and must never break the MCP server or CLI flow.
|
|
13
|
+
*/
|
|
14
|
+
import fs from "fs";
|
|
15
|
+
import os from "os";
|
|
16
|
+
import path from "path";
|
|
17
|
+
import { pathToFileURL } from "url";
|
|
18
|
+
import { buildSkillContent, parseSkillVersion } from "./skill-content.js";
|
|
19
|
+
import { VERSION } from "../version.js";
|
|
20
|
+
export const SKILL_DIR = path.join(os.homedir(), ".agents", "skills", "lemma");
|
|
21
|
+
export const SKILL_FILE = path.join(SKILL_DIR, "SKILL.md");
|
|
22
|
+
export function getSkillPath() {
|
|
23
|
+
return SKILL_FILE;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Write the SKILL.md unless it is already current.
|
|
27
|
+
*
|
|
28
|
+
* @param opts.skillDir Override the target directory (used by tests to sandbox
|
|
29
|
+
* writes away from the real `~/.agents/skills/lemma/`). Defaults to SKILL_DIR.
|
|
30
|
+
*/
|
|
31
|
+
export function installSkill(opts) {
|
|
32
|
+
const skillDir = opts?.skillDir ?? SKILL_DIR;
|
|
33
|
+
const skillFile = path.join(skillDir, "SKILL.md");
|
|
34
|
+
try {
|
|
35
|
+
const content = buildSkillContent();
|
|
36
|
+
// Idempotent + version-aware: skip if the current version is already installed.
|
|
37
|
+
if (fs.existsSync(skillFile)) {
|
|
38
|
+
try {
|
|
39
|
+
const existing = fs.readFileSync(skillFile, "utf-8");
|
|
40
|
+
const installedVersion = parseSkillVersion(existing);
|
|
41
|
+
if (installedVersion === VERSION) {
|
|
42
|
+
return { installed: false, skipped: true, path: skillFile, reason: `up to date (v${VERSION})` };
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
// unreadable/unparseable → fall through and overwrite below
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (!fs.existsSync(skillDir)) {
|
|
50
|
+
fs.mkdirSync(skillDir, { recursive: true });
|
|
51
|
+
}
|
|
52
|
+
fs.writeFileSync(skillFile, content, "utf-8");
|
|
53
|
+
return { installed: true, skipped: false, path: skillFile, reason: `installed v${VERSION}` };
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
57
|
+
console.warn(`[lemma] skill install skipped: ${msg}`);
|
|
58
|
+
return { installed: false, skipped: true, path: skillFile, reason: `error: ${msg}` };
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// CLI entry point: `node dist/server/install-skill.js` (postinstall) or `lemma --install-skill`.
|
|
62
|
+
const invokedAs = process.argv[1];
|
|
63
|
+
const isMain = !!invokedAs && import.meta.url === pathToFileURL(invokedAs).href;
|
|
64
|
+
if (isMain) {
|
|
65
|
+
const result = installSkill();
|
|
66
|
+
const tag = result.installed ? "skill installed" : "skill";
|
|
67
|
+
console.log(`[lemma] ${tag}: ${result.reason ?? "skipped"} -> ${result.path}`);
|
|
68
|
+
process.exit(0);
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=install-skill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-skill.js","sourceRoot":"","sources":["../../src/server/install-skill.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Marker embedded in the installed file so installSkill() can detect the version. */
|
|
2
|
+
export declare const SKILL_VERSION_STAMP: string;
|
|
3
|
+
export declare function buildSkillContent(): string;
|
|
4
|
+
/** Extract the version stamp from an installed skill file, or null if absent/unparseable. */
|
|
5
|
+
export declare function parseSkillVersion(content: string): string | null;
|
|
6
|
+
//# sourceMappingURL=skill-content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-content.d.ts","sourceRoot":"","sources":["../../src/server/skill-content.ts"],"names":[],"mappings":"AAgBA,sFAAsF;AACtF,eAAO,MAAM,mBAAmB,QAA6B,CAAC;AAE9D,wBAAgB,iBAAiB,IAAI,MAAM,CA4D1C;AAED,6FAA6F;AAC7F,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGhE"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SKILL.md content installed to `~/.agents/skills/lemma/SKILL.md` so that
|
|
3
|
+
* clients using the open skill format (Codex, and Claude Code) load Lemma's
|
|
4
|
+
* usage rules into the system prompt.
|
|
5
|
+
*
|
|
6
|
+
* Why this exists: Codex does NOT inject the MCP server `instructions` field
|
|
7
|
+
* into the system prompt (unlike Claude Code); it only uses it as a namespace
|
|
8
|
+
* tool description. The skill file is the reliable channel for Lemma's
|
|
9
|
+
* "recall → act → persist" rules on Codex.
|
|
10
|
+
*
|
|
11
|
+
* The frontmatter `description` is the progressive-disclosure TRIGGER and is
|
|
12
|
+
* itself injected into the model context. Keep it an accurate, balanced "what
|
|
13
|
+
* this is" — not an overlong directive, not too terse.
|
|
14
|
+
*/
|
|
15
|
+
import { VERSION } from "../version.js";
|
|
16
|
+
/** Marker embedded in the installed file so installSkill() can detect the version. */
|
|
17
|
+
export const SKILL_VERSION_STAMP = `lemma:skill:v=${VERSION}`;
|
|
18
|
+
export function buildSkillContent() {
|
|
19
|
+
return `---
|
|
20
|
+
name: lemma
|
|
21
|
+
description: Persistent memory and learning layer for AI agents via MCP. Remembers knowledge across sessions — recall what you already know with memory_read, save new knowledge with memory_add. Applies to any task (coding, debugging, refactoring, research, documentation, optimization) across all languages. Distills reusable skills (guides) from experience.
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
<!-- ${SKILL_VERSION_STAMP} -->
|
|
25
|
+
|
|
26
|
+
# Lemma — Persistent Memory & Learning
|
|
27
|
+
|
|
28
|
+
Lemma is a persistent memory server for AI agents over the Model Context Protocol.
|
|
29
|
+
Every session starts blank — knowledge survives ONLY through tool calls. If you
|
|
30
|
+
learn something and don't save it (\`memory_add\`), it is gone permanently.
|
|
31
|
+
|
|
32
|
+
## Workflow
|
|
33
|
+
1. **RECALL** — \`memory_read\` / \`semantic_search\`: load what's already known for this
|
|
34
|
+
project/task. Never re-explore code or re-derive facts that are already saved.
|
|
35
|
+
2. **ACT** — do the task.
|
|
36
|
+
3. **PERSIST** — \`memory_add\` for new insights; \`guide_practice\` for guides applied;
|
|
37
|
+
\`session_attempt\` for abandoned/dead-end approaches (the most valuable records).
|
|
38
|
+
|
|
39
|
+
## Two knowledge layers
|
|
40
|
+
- **Memory fragments** (\`memory_read\` / \`memory_add\`): atomic facts. Types: \`fact\`,
|
|
41
|
+
\`pattern\`, \`lesson\`, \`warning\`, \`context\`. Confidence evolves with use and feedback.
|
|
42
|
+
- **Guides** (\`guide_get\` / \`guide_distill\` / \`guide_practice\`): procedural skills
|
|
43
|
+
distilled from fragments. Track usage count + success/failure rate.
|
|
44
|
+
Pipeline: \`experience -> memory_add -> pattern/lesson -> guide_distill -> guide_practice\`.
|
|
45
|
+
|
|
46
|
+
## Tools at a glance
|
|
47
|
+
- **Recall & search**: \`memory_read\`, \`semantic_search\`, \`memory_library\` (full
|
|
48
|
+
snapshot + maintenance signals), \`memory_stats\`, \`memory_audit\`.
|
|
49
|
+
- **Write & maintain**: \`memory_add\`, \`memory_update\`, \`memory_forget\`,
|
|
50
|
+
\`memory_merge\`, \`memory_relate\` (supports / contradicts / supersedes / related_to),
|
|
51
|
+
\`memory_feedback\`.
|
|
52
|
+
- **Guides**: \`guide_get\`, \`guide_create\`, \`guide_distill\`, \`guide_practice\`,
|
|
53
|
+
\`guide_update\`, \`guide_forget\`, \`guide_merge\`.
|
|
54
|
+
- **Sessions & reasoning**: \`session_start\`, \`session_end\`, \`session_attempt\`,
|
|
55
|
+
\`session_stats\`, \`suggestion_respond\`.
|
|
56
|
+
- **Background intelligence**: \`conflict_scan\`, \`proactive_analysis\`,
|
|
57
|
+
\`project_analytics\` (run automatically; act on signals when sensible).
|
|
58
|
+
|
|
59
|
+
## Writing a fragment
|
|
60
|
+
\`\`\`
|
|
61
|
+
## [Topic Title]
|
|
62
|
+
### Context
|
|
63
|
+
[1-2 sentences: what and why it matters]
|
|
64
|
+
### [Content Section]
|
|
65
|
+
- [Key fact 1]
|
|
66
|
+
- [Key fact 2]
|
|
67
|
+
### Rules (optional)
|
|
68
|
+
- [Absolute constraint]
|
|
69
|
+
\`\`\`
|
|
70
|
+
One idea per fragment, 30-2000 chars, structured markdown (not prose). **Store
|
|
71
|
+
fragments in ENGLISH** (required for search/retrieval). Never ask permission to save.
|
|
72
|
+
|
|
73
|
+
## Background intelligence
|
|
74
|
+
Conflict detection, distill/merge/refine suggestions, and auto-linking run
|
|
75
|
+
automatically. From the CLI, \`lemma -lib\` prints a full knowledge-base snapshot
|
|
76
|
+
and \`lemma -vis\` launches a visualizer.
|
|
77
|
+
`;
|
|
78
|
+
}
|
|
79
|
+
/** Extract the version stamp from an installed skill file, or null if absent/unparseable. */
|
|
80
|
+
export function parseSkillVersion(content) {
|
|
81
|
+
const m = content.match(/lemma:skill:v=(\S+)/);
|
|
82
|
+
return m ? m[1] : null;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=skill-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-content.js","sourceRoot":"","sources":["../../src/server/skill-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,sFAAsF;AACtF,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,OAAO,EAAE,CAAC;AAE9D,MAAM,UAAU,iBAAiB;IAC/B,OAAO;;;;;OAKF,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDzB,CAAC;AACF,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC/C,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACzB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lemma-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.1",
|
|
4
4
|
"description": "Persistent memory layer for LLMs via MCP",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
},
|
|
16
16
|
"files": [
|
|
17
17
|
"dist",
|
|
18
|
+
"scripts/postinstall.mjs",
|
|
18
19
|
"assets/visualizer.html",
|
|
19
20
|
"assets/visualizer-demo.gif",
|
|
20
21
|
"README.md",
|
|
@@ -24,6 +25,7 @@
|
|
|
24
25
|
"scripts": {
|
|
25
26
|
"build": "tsc && node -e \"const fs=require('fs');const p=require('path');const s=p.join('assets','visualizer.html');const d=p.join('dist','server','visualizer.html');if(fs.existsSync(s)){fs.mkdirSync(p.dirname(d),{recursive:true});fs.copyFileSync(s,d);console.log('Copied visualizer.html to dist/server/')}else{console.warn('Warning: assets/visualizer.html not found')}\"",
|
|
26
27
|
"prepare": "npm run build",
|
|
28
|
+
"postinstall": "node scripts/postinstall.mjs",
|
|
27
29
|
"typecheck": "tsc --noEmit --project tsconfig.test.json",
|
|
28
30
|
"start": "node dist/index.js",
|
|
29
31
|
"prepublishOnly": "npm run build",
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Postinstall bootstrap: writes Lemma's SKILL.md to ~/.agents/skills/lemma/ so
|
|
2
|
+
// skill-format clients (Codex, Claude Code) load Lemma's usage rules.
|
|
3
|
+
//
|
|
4
|
+
// Guarded: no-op when dist/ is absent — e.g. cloning the source repo (where
|
|
5
|
+
// dist/ is gitignored) or running `npm ci` before `npm run build` in CI.
|
|
6
|
+
// Published packages always ship dist/, so real consumers always run this.
|
|
7
|
+
//
|
|
8
|
+
// Never throws: a side-effect skill file must not fail the install.
|
|
9
|
+
import fs from "node:fs";
|
|
10
|
+
|
|
11
|
+
try {
|
|
12
|
+
if (fs.existsSync("dist/server/install-skill.js")) {
|
|
13
|
+
const { installSkill } = await import("../dist/server/install-skill.js");
|
|
14
|
+
const result = installSkill();
|
|
15
|
+
if (result.installed) {
|
|
16
|
+
console.log(`[lemma] skill: ${result.reason} -> ${result.path}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
} catch {
|
|
20
|
+
// Swallow — never fail the install over a skill file.
|
|
21
|
+
}
|