pmem-ai 0.7.3 → 0.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +29 -27
  3. package/dist/commands/capture.d.ts +8 -0
  4. package/dist/commands/capture.d.ts.map +1 -0
  5. package/dist/commands/capture.js +69 -0
  6. package/dist/commands/capture.js.map +1 -0
  7. package/dist/commands/context.d.ts +5 -0
  8. package/dist/commands/context.d.ts.map +1 -0
  9. package/dist/commands/context.js +109 -0
  10. package/dist/commands/context.js.map +1 -0
  11. package/dist/commands/install.d.ts +5 -0
  12. package/dist/commands/install.d.ts.map +1 -1
  13. package/dist/commands/install.js +54 -35
  14. package/dist/commands/install.js.map +1 -1
  15. package/dist/commands/mcp.d.ts +1 -1
  16. package/dist/commands/mcp.d.ts.map +1 -1
  17. package/dist/commands/mcp.js +2 -2
  18. package/dist/commands/mcp.js.map +1 -1
  19. package/dist/commands/verify.d.ts +1 -0
  20. package/dist/commands/verify.d.ts.map +1 -1
  21. package/dist/commands/verify.js +6 -3
  22. package/dist/commands/verify.js.map +1 -1
  23. package/dist/core/agentRules.d.ts +13 -0
  24. package/dist/core/agentRules.d.ts.map +1 -0
  25. package/dist/core/agentRules.js +131 -0
  26. package/dist/core/agentRules.js.map +1 -0
  27. package/dist/core/capture.d.ts +15 -0
  28. package/dist/core/capture.d.ts.map +1 -0
  29. package/dist/core/capture.js +380 -0
  30. package/dist/core/capture.js.map +1 -0
  31. package/dist/core/query/context.d.ts +3 -0
  32. package/dist/core/query/context.d.ts.map +1 -0
  33. package/dist/core/query/context.js +158 -0
  34. package/dist/core/query/context.js.map +1 -0
  35. package/dist/index.js +46 -4
  36. package/dist/index.js.map +1 -1
  37. package/dist/mcp/security.d.ts +4 -0
  38. package/dist/mcp/security.d.ts.map +1 -1
  39. package/dist/mcp/security.js +35 -0
  40. package/dist/mcp/security.js.map +1 -1
  41. package/dist/mcp/server.d.ts +1 -1
  42. package/dist/mcp/server.d.ts.map +1 -1
  43. package/dist/mcp/server.js +73 -5
  44. package/dist/mcp/server.js.map +1 -1
  45. package/dist/types.d.ts +31 -0
  46. package/dist/types.d.ts.map +1 -1
  47. package/package.json +5 -2
  48. package/skills/pmem/SKILL.md +11 -19
package/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  All notable changes to pmem are documented here.
4
4
 
5
+ ## v0.7.4 — Agent UX Release (2026-06-26)
6
+
7
+ ### Added
8
+
9
+ - **`pmem context` Command & `pmem_context` MCP Tool**: Consolidate recall, task-aware ask, and status queries into a single budget-aware context. Save active task to `.pmem/session.json`.
10
+ - **`pmem capture --auto` Command & `pmem_capture` MCP Tool**: Automatically scan changed files, mark affected cards as dirty, write date-based traces, resolve dirty flags in database, and perform incremental rebuild.
11
+ - **Controlled Write Mode (`--write=append-only`)**: Controlled MCP write boundary allowing trace cards generation and `next.md` managed block updates while strictly blocking direct edits to core cards.
12
+ - **Agent Rules Installer**: `pmem install --agent-rules` generates unified, compact guidelines (under 30 lines) for AGENTS.md, CLAUDE.md, GEMINI.md, Codex instructions, Cursor rules, Cline rules, and optionally Aider/Windsurf conventions.
13
+ - **Duplicate Prevention**: Exclude `.pmem/` updates from git diff hash calculations to prevent duplicate/empty captures.
14
+ - **Safety boundaries**: Prevent path/directory traversal and control characters in capture inputs.
15
+
16
+ ### Fixed
17
+
18
+ - Support running programmatic verify check without exiting Node process via `noExit` option.
19
+
5
20
  ## v0.7.3 — `rebuild --full` Edge Cleanup (closes #6)
6
21
 
7
22
  ### Fixed
package/README.md CHANGED
@@ -10,13 +10,14 @@ Coding agents lose project context quickly. A repository has source files, docs,
10
10
 
11
11
  `pmem` gives the project a small, explicit memory layer:
12
12
 
13
- - `pmem recall` restores the hot project context.
13
+ - `pmem context "<task>"` restores and aggregates task-specific memory and file context.
14
+ - `pmem capture --auto` automatically synchronizes modified files and memory status.
15
+ - `pmem install --agent-rules` installs compact rules files (AGENTS.md, Cursor rules, etc.) to guide coding agents.
14
16
  - `pmem ask "<query>"` finds relevant memory cards.
15
17
  - `pmem discover` auto-discovers project relationships (tech stack, file deps, imports) across 6 languages.
16
- - `pmem status` maps changed files back to affected cards.
17
- - `pmem update --suggest` tells an agent what memory likely needs attention.
18
18
  - `pmem verify` checks that Markdown cards and runtime indexes still agree.
19
19
 
20
+
20
21
  The design is intentionally local and Git-friendly. Markdown cards remain the source of truth. SQLite is a rebuildable runtime index, not a separate knowledge base.
21
22
 
22
23
  ## Who It Is For
@@ -81,8 +82,8 @@ Create project memory in a repository:
81
82
  ```bash
82
83
  pmem init my-project
83
84
  pmem rebuild
84
- pmem recall --budget 2000
85
- pmem verify
85
+ pmem context "Implement core setup"
86
+ pmem capture --auto
86
87
  ```
87
88
 
88
89
  For a richer setup:
@@ -337,6 +338,9 @@ Installed integration templates are available under:
337
338
  ```bash
338
339
  pmem init [project-name] [--guided] [--description <text>] [--stage <text>] [--next <text>] [--answers <path>] [--domain software|novel|research]
339
340
 
341
+ pmem context <task> [--budget N] [--format compact|json]
342
+ pmem capture [--auto] [-s <summary>] [-n <next>] [--full] [--force]
343
+
340
344
  pmem recall [--budget N] [--format compact|json|paths|pack] [--since <duration>]
341
345
  pmem ask <query> [--format compact|json|paths|pack]
342
346
  pmem discover [--dry-run] [--format compact|json] [--min-confidence <n>]
@@ -365,8 +369,8 @@ pmem migrate [--to <version>] [--dry-run] [--backup]
365
369
  pmem session start [-a <agent-name>]
366
370
  pmem session end [-s <summary>]
367
371
  pmem integration list|install <framework>|verify
368
- pmem install [--skills] [--claude] [--codex] [--gemini] [--all]
369
- pmem mcp
372
+ pmem install [--skills] [--agent-rules] [--claude] [--codex] [--gemini] [--cursor] [--cline] [--aider] [--windsurf] [--all]
373
+ pmem mcp [--write readonly|append-only]
370
374
  ```
371
375
 
372
376
  ## Exit Codes
@@ -384,36 +388,34 @@ Agents should parse structured JSON output (`--format json`) to decide next step
384
388
 
385
389
  > **Breaking change from v0.6.1:** `pmem update --suggest` and `pmem distill --suggest` previously exited with code `1` when suggestions existed. Scripts that checked `$? -eq 1` must now parse JSON output instead.
386
390
 
387
- ## pmem-rt — MCP Runtime for AI Agents (v0.7.2)
391
+ ## pmem-rt — MCP Runtime for AI Agents
388
392
 
389
- pmem-rt is a read-only stdio MCP adapter that lets AI coding agents use pmem as a low-latency memory backend directly in their tool loop.
393
+ pmem-rt is a stdio MCP server that lets AI coding agents interact with pmem directly in their tool loop.
390
394
 
391
- ### Quick Start
395
+ Default mode is read-only:
392
396
 
393
397
  ```bash
394
- # In your project
395
- npm install pmem-ai
396
- npx pmem init --guided
397
- npx pmem rebuild
398
+ pmem mcp
399
+ ```
398
400
 
399
- # Configure your agent (e.g. Claude Code settings.json):
400
- # {
401
- # "mcpServers": {
402
- # "pmem": { "command": "npx", "args": ["pmem", "mcp"], "cwd": "/absolute/path/to/your-project" }
403
- # }
404
- # }
401
+ Append-only capture mode:
402
+
403
+ ```bash
404
+ pmem mcp --write=append-only
405
405
  ```
406
406
 
407
407
  ### MCP Tools
408
408
 
409
- | Tool | Description |
410
- |------|-------------|
411
- | `pmem_recall` | Restore project context: name, stage, focus, next, active cards, recent updates |
412
- | `pmem_ask` | 6-step search: ID → alias → tag → graph expansion → FTS5 → LIKE |
413
- | `pmem_related` | Graph neighbors of a card, grouped by edge type with direction/confidence |
414
- | `pmem_status` | Changed files → affected memory cards |
409
+ | Tool | Mode | Description |
410
+ | -------------- | ----------- | --------------------------------------------- |
411
+ | `pmem_recall` | readonly | Restore project context |
412
+ | `pmem_ask` | readonly | Search memory cards |
413
+ | `pmem_related` | readonly | Query graph neighbors |
414
+ | `pmem_status` | readonly | Detect changed files |
415
+ | `pmem_context` | readonly | Get task-aware context package |
416
+ | `pmem_capture` | append-only | Append trace and update managed next.md block |
415
417
 
416
- All tools are read-only. Writes continue through the CLI (`pmem update --confirm`, `pmem sync`). Every card carries `content_trust: "untrusted_project_data"`.
418
+ All read-only tools are safe to execute and do not perform any side effects on the workspace. In `append-only` mode, the agent can call `pmem_capture` to create new traces and update `next.md` managed blocks, while direct modifications to core cards remain strictly blocked. Every card object returned carries `content_trust: "untrusted_project_data"`.
417
419
 
418
420
  [Full integration guide →](docs/pmem-rt.md)
419
421
 
@@ -0,0 +1,8 @@
1
+ export declare function captureCommand(options: {
2
+ auto?: boolean;
3
+ summary?: string;
4
+ next?: string;
5
+ full?: boolean;
6
+ force?: boolean;
7
+ }): void;
8
+ //# sourceMappingURL=capture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../src/commands/capture.ts"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,CAAC,OAAO,EAAE;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,IAAI,CA+BP"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.captureCommand = captureCommand;
37
+ const path = __importStar(require("path"));
38
+ const fs_1 = require("../core/fs");
39
+ const capture_1 = require("../core/capture");
40
+ function captureCommand(options) {
41
+ const cwd = process.cwd();
42
+ const pmemPath = path.join(cwd, '.pmem');
43
+ if (!(0, fs_1.fileExists)(pmemPath)) {
44
+ console.error('Error: No .pmem directory found. Run `pmem init` first.');
45
+ process.exit(2);
46
+ }
47
+ // Execute core capture
48
+ const result = (0, capture_1.captureCore)(pmemPath, {
49
+ auto: options.auto,
50
+ summary: options.summary,
51
+ next: options.next,
52
+ full: options.full,
53
+ force: options.force
54
+ });
55
+ if (!result.success) {
56
+ console.error(`Error: ${result.message}`);
57
+ process.exit(2);
58
+ }
59
+ if (result.skipped) {
60
+ console.log(result.message);
61
+ }
62
+ else {
63
+ console.log(result.message);
64
+ if (result.tracePath) {
65
+ console.log(`Trace card written: ${path.relative(cwd, result.tracePath)}`);
66
+ }
67
+ }
68
+ }
69
+ //# sourceMappingURL=capture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/commands/capture.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,wCAqCC;AAzCD,2CAA6B;AAC7B,mCAAwC;AACxC,6CAA8C;AAE9C,SAAgB,cAAc,CAAC,OAM9B;IACC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAEzC,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,uBAAuB;IACvB,MAAM,MAAM,GAAG,IAAA,qBAAW,EAAC,QAAQ,EAAE;QACnC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function contextCommand(task: string, options: {
2
+ budget?: number;
3
+ format?: string;
4
+ }): void;
5
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA4EhG"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.contextCommand = contextCommand;
37
+ const path = __importStar(require("path"));
38
+ const fs_1 = require("../core/fs");
39
+ const context_1 = require("../core/query/context");
40
+ function contextCommand(task, options) {
41
+ const cwd = process.cwd();
42
+ const pmemPath = path.join(cwd, '.pmem');
43
+ if (!(0, fs_1.fileExists)(pmemPath)) {
44
+ console.error('Error: No .pmem directory found. Run `pmem init` first.');
45
+ process.exit(2);
46
+ }
47
+ const budget = options.budget ? Number(options.budget) : 4000;
48
+ const format = options.format || 'compact';
49
+ // 1. Run core context query
50
+ const result = (0, context_1.contextQuery)(pmemPath, task, budget);
51
+ // 2. Save task metadata to session.json
52
+ const sessionPath = path.join(pmemPath, 'session.json');
53
+ const sessionData = {
54
+ latest_task: task,
55
+ latest_context_query: task,
56
+ latest_context_cards: result.relevant_memory.map(c => c.id),
57
+ updated_at: new Date().toISOString()
58
+ };
59
+ try {
60
+ (0, fs_1.writeFile)(sessionPath, JSON.stringify(sessionData, null, 2));
61
+ }
62
+ catch (err) {
63
+ console.error(`Warning: Failed to save session metadata: ${err.message}`);
64
+ }
65
+ // 3. Print output based on format
66
+ if (format === 'json') {
67
+ console.log(JSON.stringify(result, null, 2));
68
+ }
69
+ else {
70
+ // Beautiful human/agent readable Markdown output
71
+ console.log(`# PMEM_CONTEXT_READY: ${task}`);
72
+ console.log('');
73
+ console.log(`- **Project Stage**: ${result.project_stage || 'Not recorded'}`);
74
+ console.log(`- **Current Focus**: ${result.current_focus}`);
75
+ console.log('');
76
+ console.log('## Suggested Reads');
77
+ for (const item of result.must_read) {
78
+ console.log(`- [${path.basename(item.path)}](file://${path.resolve(item.path)}) — ${item.reason}`);
79
+ }
80
+ console.log('');
81
+ if (result.relevant_memory.length > 0) {
82
+ console.log('## Relevant Memory Cards');
83
+ for (const card of result.relevant_memory) {
84
+ console.log(`- **${card.id}** (${card.type}): [${card.title}](file://${path.resolve(card.file_path)})`);
85
+ if (card.summary) {
86
+ console.log(` > ${card.summary}`);
87
+ }
88
+ }
89
+ console.log('');
90
+ }
91
+ if (result.changed_files.length > 0) {
92
+ console.log('## Changed Files');
93
+ for (const file of result.changed_files) {
94
+ console.log(`- [${file.path}](file://${path.resolve(file.path)}) [${file.status}]`);
95
+ }
96
+ console.log('');
97
+ }
98
+ if (result.warnings.length > 0) {
99
+ console.log('## Warnings / Status');
100
+ for (const warning of result.warnings) {
101
+ console.log(`- ${warning}`);
102
+ }
103
+ console.log('');
104
+ }
105
+ console.log('## Recommended Next Action');
106
+ console.log(result.recommended_next_action);
107
+ }
108
+ }
109
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,13 @@
1
1
  export declare function installCommand(options: {
2
2
  skills?: boolean;
3
+ agentRules?: boolean;
3
4
  claude?: boolean;
4
5
  codex?: boolean;
5
6
  gemini?: boolean;
7
+ cursor?: boolean;
8
+ cline?: boolean;
9
+ aider?: boolean;
10
+ windsurf?: boolean;
6
11
  all?: boolean;
7
12
  }): void;
8
13
  //# sourceMappingURL=install.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAkBA,wBAAgB,cAAc,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAiDtI"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAmBA,wBAAgB,cAAc,CAAC,OAAO,EAAE;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,GAAG,IAAI,CAmEP"}
@@ -37,6 +37,7 @@ exports.installCommand = installCommand;
37
37
  const path = __importStar(require("path"));
38
38
  const fs = __importStar(require("fs"));
39
39
  const os = __importStar(require("os"));
40
+ const agentRules_1 = require("../core/agentRules");
40
41
  const SKILLS_SRC_DIR = path.join(__dirname, '..', '..', 'skills', 'pmem');
41
42
  const AGENT_TARGETS = [
42
43
  { name: 'Claude Code', flag: 'claude', skillsDir: path.join(os.homedir(), '.claude', 'skills') },
@@ -44,49 +45,67 @@ const AGENT_TARGETS = [
44
45
  { name: 'Gemini', flag: 'gemini', skillsDir: path.join(os.homedir(), '.gemini', 'skills') },
45
46
  ];
46
47
  function installCommand(options) {
47
- if (!options.skills) {
48
- console.log('Usage: pmem install --skills [--claude] [--codex] [--gemini] [--all]');
48
+ if (!options.skills && !options.agentRules) {
49
+ console.log('Usage:');
50
+ console.log(' pmem install --skills [--claude] [--codex] [--gemini] [--all]');
51
+ console.log(' pmem install --agent-rules [--claude] [--codex] [--gemini] [--cursor] [--cline] [--aider] [--windsurf] [--all]');
49
52
  console.log('');
50
- console.log('Install pmem skills to agent global skills directories:');
51
- console.log(' --claude → ~/.claude/skills/pmem/');
52
- console.log(' --codex → ~/.codex/skills/pmem/');
53
- console.log(' --gemini → ~/.gemini/skills/pmem/');
54
- console.log(' --all → all detected agents');
53
+ console.log('Install options:');
54
+ console.log(' --skills Install global agent skill files');
55
+ console.log(' --agent-rules Install compact agent workspace guidelines (AGENTS.md, etc.)');
55
56
  return;
56
57
  }
57
- // Verify skills source exists
58
- if (!fs.existsSync(SKILLS_SRC_DIR)) {
59
- console.error('Skills source directory not found. Make sure pmem-ai is installed correctly.');
60
- console.error(`Expected: ${SKILLS_SRC_DIR}`);
61
- process.exit(2);
62
- }
63
- // Resolve targets
64
- const targets = resolveTargets(options);
65
- if (targets.length === 0) {
66
- console.log('No agent targets specified. Use --claude, --codex, --gemini, or --all.');
67
- console.log('Detected agents:');
68
- for (const t of AGENT_TARGETS) {
69
- const detected = fs.existsSync(t.skillsDir);
70
- console.log(` ${t.name}: ${detected ? 'detected' : 'not detected'} (${t.skillsDir})`);
58
+ // Handle agent rules installation
59
+ if (options.agentRules) {
60
+ console.log('Installing agent guidelines/rules in workspace...');
61
+ const written = (0, agentRules_1.writeAgentRules)(process.cwd(), options);
62
+ if (written.length > 0) {
63
+ console.log('\n✓ Rules files written successfully:');
64
+ for (const file of written) {
65
+ console.log(` - ${file}`);
66
+ }
67
+ }
68
+ else {
69
+ console.log('No rules files written (check option flags).');
71
70
  }
72
71
  return;
73
72
  }
74
- let installed = 0;
75
- for (const target of targets) {
76
- const destDir = path.join(target.skillsDir, 'pmem');
77
- console.log(`Installing pmem skills for ${target.name}...`);
78
- try {
79
- copyDir(SKILLS_SRC_DIR, destDir);
80
- console.log(` ✓ ${destDir}`);
81
- installed++;
73
+ // Handle skills installation
74
+ if (options.skills) {
75
+ // Verify skills source exists
76
+ if (!fs.existsSync(SKILLS_SRC_DIR)) {
77
+ console.error('Skills source directory not found. Make sure pmem-ai is installed correctly.');
78
+ console.error(`Expected: ${SKILLS_SRC_DIR}`);
79
+ process.exit(2);
82
80
  }
83
- catch (err) {
84
- console.error(` ✗ Failed: ${err?.message || err}`);
81
+ // Resolve targets
82
+ const targets = resolveTargets(options);
83
+ if (targets.length === 0) {
84
+ console.log('No agent targets specified. Use --claude, --codex, --gemini, or --all.');
85
+ console.log('Detected agents:');
86
+ for (const t of AGENT_TARGETS) {
87
+ const detected = fs.existsSync(t.skillsDir);
88
+ console.log(` ${t.name}: ${detected ? 'detected' : 'not detected'} (${t.skillsDir})`);
89
+ }
90
+ return;
91
+ }
92
+ let installed = 0;
93
+ for (const target of targets) {
94
+ const destDir = path.join(target.skillsDir, 'pmem');
95
+ console.log(`Installing pmem skills for ${target.name}...`);
96
+ try {
97
+ copyDir(SKILLS_SRC_DIR, destDir);
98
+ console.log(` ✓ ${destDir}`);
99
+ installed++;
100
+ }
101
+ catch (err) {
102
+ console.error(` ✗ Failed: ${err?.message || err}`);
103
+ }
104
+ }
105
+ console.log(`\nInstalled ${installed}/${targets.length} agent(s).`);
106
+ if (installed > 0) {
107
+ console.log('Agents will now discover pmem skills automatically.');
85
108
  }
86
- }
87
- console.log(`\nInstalled ${installed}/${targets.length} agent(s).`);
88
- if (installed > 0) {
89
- console.log('Agents will now discover pmem skills automatically.');
90
109
  }
91
110
  }
92
111
  function resolveTargets(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,5 @@
5
5
  * MCP protocol transport channel. Any non-JSON output will cause protocol
6
6
  * errors. Use stderr for diagnostics if absolutely necessary.
7
7
  */
8
- export declare function mcpCommand(): Promise<void>;
8
+ export declare function mcpCommand(writeMode?: 'readonly' | 'append-only'): Promise<void>;
9
9
  //# sourceMappingURL=mcp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAmBhD"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,SAAS,GAAE,UAAU,GAAG,aAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBlG"}
@@ -45,7 +45,7 @@ const server_1 = require("../mcp/server");
45
45
  * MCP protocol transport channel. Any non-JSON output will cause protocol
46
46
  * errors. Use stderr for diagnostics if absolutely necessary.
47
47
  */
48
- async function mcpCommand() {
48
+ async function mcpCommand(writeMode = 'readonly') {
49
49
  const cwd = process.cwd();
50
50
  const pmemPath = path.join(cwd, '.pmem');
51
51
  if (!(0, fs_1.fileExists)(pmemPath)) {
@@ -59,6 +59,6 @@ async function mcpCommand() {
59
59
  }
60
60
  // Security: validate path scope before starting
61
61
  (0, security_1.validatePathScope)(pmemPath);
62
- await (0, server_1.startMcpServer)(pmemPath);
62
+ await (0, server_1.startMcpServer)(pmemPath, writeMode);
63
63
  }
64
64
  //# sourceMappingURL=mcp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,gCAmBC;AA/BD,2CAA6B;AAC7B,mCAAwC;AACxC,8CAAoD;AACpD,0CAA+C;AAE/C;;;;;;GAMG;AACI,KAAK,UAAU,UAAU;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAEzC,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAA,eAAU,EAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,gDAAgD;IAChD,IAAA,4BAAiB,EAAC,QAAQ,CAAC,CAAC;IAE5B,MAAM,IAAA,uBAAc,EAAC,QAAQ,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,gCAmBC;AA/BD,2CAA6B;AAC7B,mCAAwC;AACxC,8CAAoD;AACpD,0CAA+C;AAE/C;;;;;;GAMG;AACI,KAAK,UAAU,UAAU,CAAC,YAAwC,UAAU;IACjF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAEzC,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAA,eAAU,EAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,gDAAgD;IAChD,IAAA,4BAAiB,EAAC,QAAQ,CAAC,CAAC;IAE5B,MAAM,IAAA,uBAAc,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC"}
@@ -3,5 +3,6 @@ export declare function verifyCommand(options: {
3
3
  fixLocks?: boolean;
4
4
  fixStale?: boolean;
5
5
  relaxed?: boolean;
6
+ noExit?: boolean;
6
7
  }): void;
7
8
  //# sourceMappingURL=verify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAaA,wBAAgB,aAAa,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAiYzH"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAaA,wBAAgB,aAAa,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAmY3I"}
@@ -388,10 +388,13 @@ function verifyCommand(options) {
388
388
  // but if a stale lock was found and not cleaned (e.g., --fix-locks not passed),
389
389
  // we provide guidance here.
390
390
  const hasErrors = issues.some(i => i.severity === 'error');
391
- const hasWarnings = issues.some(i => i.severity === 'warning');
392
- // v0.6.2: warnings no longer trigger exit 1. Only errors exit non-zero.
393
- if (hasErrors)
391
+ if (hasErrors) {
392
+ if (options.noExit)
393
+ return;
394
394
  process.exit(2);
395
+ }
396
+ if (options.noExit)
397
+ return;
395
398
  process.exit(0);
396
399
  }
397
400
  function updateFrontmatterTimestamp(filePath, field) {
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}