pmem-ai 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/README.md +75 -17
- package/dist/commands/ask.d.ts.map +1 -1
- package/dist/commands/ask.js +14 -1
- package/dist/commands/ask.js.map +1 -1
- package/dist/commands/doctor.d.ts +3 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +164 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/init.d.ts +4 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +111 -6
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/install.d.ts +8 -0
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/commands/install.js +119 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/integration.d.ts.map +1 -1
- package/dist/commands/integration.js +113 -35
- package/dist/commands/integration.js.map +1 -1
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +3 -1
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +71 -2
- package/dist/commands/update.js.map +1 -1
- package/dist/index.js +39 -2
- package/dist/index.js.map +1 -1
- package/docs/project-roadmap.md +58 -25
- package/docs/release-checklist-v0.6.md +72 -0
- package/docs/usage.md +374 -0
- package/docs/v0.6 pre-design.md +550 -0
- package/package.json +9 -2
- package/skills/pmem/SKILL.md +194 -0
- package/skills/pmem/references/first-init.md +90 -0
- package/skills/pmem/references/memory-cards.md +86 -0
- package/skills/pmem/references/session-workflow.md +83 -0
- package/skills/pmem/references/troubleshooting.md +60 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to pmem are documented here.
|
|
4
4
|
|
|
5
|
+
## 0.6.0 - Agent-native Workflow Polish
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Non-interactive init: `--guided` now accepts `--description`, `--stage`, `--next` flags and `--answers <file.json>` for agent/script usage.
|
|
10
|
+
- Claude Code slash commands: `pmem integration install claude-code` generates `.claude/commands/pmem-*.md` (recall, ask, update, distill).
|
|
11
|
+
- `update --suggest --format json` output includes `message` and `next_steps` for empty scenarios.
|
|
12
|
+
- `ask --format json` output includes `message` and `next_steps` when no matches found.
|
|
13
|
+
- `pmem integration verify` checks slash command files and gives fix instructions for all frameworks.
|
|
14
|
+
- Global skills installation: `pmem install --skills --claude/--codex/--gemini/--all` copies `skills/pmem/` to agent global skills directories.
|
|
15
|
+
- `pmem doctor`: unified diagnostic command checking 8 aspects of project memory health.
|
|
16
|
+
- Agent-native E2E suite: non-interactive init, answers file, claude integration, empty guidance, non-git UX.
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- `mark-dirty --auto` checks git availability before running git commands; gives friendly guidance instead of raw stack traces.
|
|
21
|
+
- `pmem session end` without an active session now provides actionable next steps.
|
|
22
|
+
- `pmem rebuild` differentiates missing `.pmem` from missing `manifest.yml`.
|
|
23
|
+
- Updated docs: README, CLAUDE.md, AGENTS.md, and integration templates to v0.6 scope.
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- `pmem install-smoke` E2E version check now reads expected version from `package.json` dynamically.
|
|
28
|
+
|
|
5
29
|
## 0.5.0 - Productization Beta
|
|
6
30
|
|
|
7
31
|
### Added
|
package/README.md
CHANGED
|
@@ -31,26 +31,36 @@ It is not a vector database, MCP server, Graph UI, or remote multi-user service.
|
|
|
31
31
|
|
|
32
32
|
## Install
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
```bash
|
|
35
|
+
npm install -g pmem-ai
|
|
36
|
+
pmem --version
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Node.js 18 or newer is required. `better-sqlite3` is compiled during install.
|
|
40
|
+
|
|
41
|
+
Run `pmem doctor` anytime to check the health of your project memory setup.
|
|
42
|
+
|
|
43
|
+
To install from source:
|
|
35
44
|
|
|
36
45
|
```bash
|
|
46
|
+
git clone https://github.com/KkSss999/pmem.git
|
|
47
|
+
cd pmem
|
|
37
48
|
npm install
|
|
38
49
|
npm run build
|
|
39
50
|
npm link
|
|
40
|
-
pmem --version
|
|
41
51
|
```
|
|
42
52
|
|
|
43
|
-
|
|
53
|
+
### Installing Agent Skills
|
|
54
|
+
|
|
55
|
+
After installing the CLI, add pmem skills to your agent so it knows how to use pmem:
|
|
44
56
|
|
|
45
57
|
```bash
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
pmem --
|
|
58
|
+
pmem install --skills --claude # → ~/.claude/skills/pmem/
|
|
59
|
+
pmem install --skills --codex # → ~/.codex/skills/pmem/
|
|
60
|
+
pmem install --skills --gemini # → ~/.gemini/skills/pmem/
|
|
61
|
+
pmem install --skills --all # → all detected agents
|
|
50
62
|
```
|
|
51
63
|
|
|
52
|
-
Node.js 18 or newer is required.
|
|
53
|
-
|
|
54
64
|
## 5-Minute Quick Start
|
|
55
65
|
|
|
56
66
|
Create project memory in a repository:
|
|
@@ -105,6 +115,48 @@ pmem verify
|
|
|
105
115
|
|
|
106
116
|
Note: `pmem update --suggest` exits with code `1` when it found suggestions. That means "action suggested", not "command failed".
|
|
107
117
|
|
|
118
|
+
### The Second Session (Cross-Session Recall)
|
|
119
|
+
|
|
120
|
+
pmem's value appears when you come back. Open a new terminal or start a new agent session the next day:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
pmem session start -a "Claude"
|
|
124
|
+
pmem recall --format compact --budget 2000
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Output:
|
|
128
|
+
```
|
|
129
|
+
PROJECT: my-project
|
|
130
|
+
STAGE: Active development
|
|
131
|
+
FOCUS: Updated core module
|
|
132
|
+
NEXT: Continue development
|
|
133
|
+
STATE:
|
|
134
|
+
- Core module value updated to 2
|
|
135
|
+
READ_IF_NEEDED:
|
|
136
|
+
.pmem/state.md
|
|
137
|
+
.pmem/next.md
|
|
138
|
+
.pmem/modules/core.md
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
In a single command you restored the project context, last state, and what to read next — without re-reading all your source files or asking "where were we?" This is pmem's core value: **cross-session project memory**.
|
|
142
|
+
|
|
143
|
+
### Agent-Native Init (for scripts and CI)
|
|
144
|
+
|
|
145
|
+
For agents and scripts that can't answer TTY prompts:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
pmem init my-project --guided \
|
|
149
|
+
--description "A backend service" \
|
|
150
|
+
--stage "Alpha" \
|
|
151
|
+
--next "Set up CI/CD"
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Or with a JSON file:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
pmem init my-project --answers ./pmem-init.json
|
|
158
|
+
```
|
|
159
|
+
|
|
108
160
|
## Core Concepts
|
|
109
161
|
|
|
110
162
|
### Markdown Cards
|
|
@@ -275,6 +327,10 @@ Agents should parse command output and treat code `1` according to the command c
|
|
|
275
327
|
|
|
276
328
|
Source-of-truth files are Markdown cards. `pmem.db` and `indexes/` are generated runtime data.
|
|
277
329
|
|
|
330
|
+
## Integrating with Agent Frameworks
|
|
331
|
+
|
|
332
|
+
See [docs/usage.md](docs/usage.md) for a step-by-step guide to integrating pmem with Claude Code, Codex, and Cursor.
|
|
333
|
+
|
|
278
334
|
## Troubleshooting
|
|
279
335
|
|
|
280
336
|
### No `.pmem` Directory
|
|
@@ -327,16 +383,18 @@ pmem verify
|
|
|
327
383
|
|
|
328
384
|
## Roadmap
|
|
329
385
|
|
|
330
|
-
v0.5
|
|
386
|
+
**v0.5 Productization Beta** — shipped on npm as `pmem-ai`:
|
|
387
|
+
- README, quick start, and [usage guide](docs/usage.md)
|
|
388
|
+
- E2E suite, CI/CD, error UX, release checklist
|
|
331
389
|
|
|
332
|
-
-
|
|
333
|
-
-
|
|
334
|
-
-
|
|
335
|
-
-
|
|
336
|
-
-
|
|
337
|
-
-
|
|
390
|
+
**v0.6 Agent-native Workflow Polish** — in development:
|
|
391
|
+
- Non-interactive init (`--description`/`--stage`/`--next` flags, `--answers` file)
|
|
392
|
+
- Claude Code slash commands (`/pmem-recall`, `/pmem-ask`, `/pmem-update`, `/pmem-distill`)
|
|
393
|
+
- Actionable empty states and error messages
|
|
394
|
+
- Session fault tolerance
|
|
395
|
+
- Integration verification enhanced
|
|
338
396
|
|
|
339
|
-
Deferred
|
|
397
|
+
Deferred:
|
|
340
398
|
|
|
341
399
|
- embedding
|
|
342
400
|
- `pmem serve` / MCP / REST
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,UAAU,CAAC;AAwB5D,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,SAAqB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,UAAU,CAAC;AAwB5D,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,SAAqB,GAAG,IAAI,CAsS7E"}
|
package/dist/commands/ask.js
CHANGED
|
@@ -254,9 +254,22 @@ function askCommand(query, format = 'compact') {
|
|
|
254
254
|
recommended_files: recommendedFiles,
|
|
255
255
|
evidence_paths: evidencePaths,
|
|
256
256
|
};
|
|
257
|
+
// Build guidance for empty results
|
|
258
|
+
const askMessage = deduped.length > 0
|
|
259
|
+
? `Found ${deduped.length} match(es).`
|
|
260
|
+
: 'No matching memory cards found.';
|
|
261
|
+
const askNextSteps = deduped.length > 0 ? [] : [
|
|
262
|
+
'Try a different query keyword',
|
|
263
|
+
'Run `pmem recall` for full project context',
|
|
264
|
+
'Check that cards have relevant aliases and tags',
|
|
265
|
+
];
|
|
257
266
|
// Output
|
|
258
267
|
if (format === 'json') {
|
|
259
|
-
console.log(JSON.stringify(
|
|
268
|
+
console.log(JSON.stringify({
|
|
269
|
+
...result,
|
|
270
|
+
message: askMessage,
|
|
271
|
+
next_steps: askNextSteps,
|
|
272
|
+
}, null, 2));
|
|
260
273
|
}
|
|
261
274
|
else {
|
|
262
275
|
// Adapt to formatOutput's expected shape
|
package/dist/commands/ask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,
|
|
1
|
+
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAW1C,wBAAgB,aAAa,CAAC,MAAM,GAAE,SAAqB,GAAG,IAAI,CA8FjE"}
|
|
@@ -0,0 +1,164 @@
|
|
|
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.doctorCommand = doctorCommand;
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
const child_process_1 = require("child_process");
|
|
39
|
+
const fs_1 = require("../core/fs");
|
|
40
|
+
const manifest_1 = require("../core/manifest");
|
|
41
|
+
const db_1 = require("../core/db");
|
|
42
|
+
const PMEM_DIR = '.pmem';
|
|
43
|
+
function doctorCommand(format = 'compact') {
|
|
44
|
+
const cwd = process.cwd();
|
|
45
|
+
const pmemPath = path.join(cwd, PMEM_DIR);
|
|
46
|
+
const checks = [];
|
|
47
|
+
// 1. .pmem/ exists
|
|
48
|
+
if (!(0, fs_1.fileExists)(pmemPath)) {
|
|
49
|
+
checks.push({ name: 'pmem_dir', status: 'error', message: '.pmem/ directory not found.', fix: 'Run: pmem init <project-name>' });
|
|
50
|
+
outputDoctor(checks, format);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
checks.push({ name: 'pmem_dir', status: 'ok', message: '.pmem/ directory exists.' });
|
|
54
|
+
// 2. Manifest
|
|
55
|
+
const manifest = (0, manifest_1.loadManifest)(pmemPath);
|
|
56
|
+
if (!manifest) {
|
|
57
|
+
checks.push({ name: 'manifest', status: 'error', message: 'manifest.yml not found or invalid.', fix: 'Run: pmem init' });
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
const schemaVer = manifest.pmem?.schema_version;
|
|
61
|
+
checks.push({
|
|
62
|
+
name: 'manifest',
|
|
63
|
+
status: schemaVer ? 'ok' : 'warn',
|
|
64
|
+
message: schemaVer ? `manifest.yml valid (schema ${schemaVer}).` : 'manifest.yml valid but missing schema_version.',
|
|
65
|
+
fix: schemaVer ? undefined : 'Run: pmem migrate --to 0.3',
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
// 3. Database
|
|
69
|
+
const dbPath = path.join(pmemPath, 'pmem.db');
|
|
70
|
+
if (!(0, fs_1.fileExists)(dbPath)) {
|
|
71
|
+
checks.push({ name: 'database', status: 'warn', message: 'pmem.db not found.', fix: 'Run: pmem rebuild' });
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
try {
|
|
75
|
+
const db = (0, db_1.openDatabase)(pmemPath);
|
|
76
|
+
(0, db_1.createSchema)(db);
|
|
77
|
+
// Card count
|
|
78
|
+
const cardRow = db.prepare('SELECT COUNT(*) as count FROM cards WHERE is_deleted = 0').get();
|
|
79
|
+
const cardCount = cardRow?.count ?? 0;
|
|
80
|
+
const isCandidate = db.prepare('SELECT COUNT(*) as count FROM cards WHERE is_deleted = 0 AND is_candidate = 1').get();
|
|
81
|
+
checks.push({
|
|
82
|
+
name: 'database',
|
|
83
|
+
status: 'ok',
|
|
84
|
+
message: `pmem.db healthy. ${cardCount} card(s)${isCandidate?.count > 0 ? ` (${isCandidate.count} candidate(s))` : ''}.`,
|
|
85
|
+
});
|
|
86
|
+
// 4. Cards
|
|
87
|
+
if (cardCount === 0) {
|
|
88
|
+
checks.push({ name: 'cards', status: 'warn', message: 'No memory cards found.', fix: 'Create a module card with source_files, then run: pmem rebuild' });
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
checks.push({ name: 'cards', status: 'ok', message: `${cardCount} active card(s).` });
|
|
92
|
+
}
|
|
93
|
+
// 5. Dirty flags
|
|
94
|
+
const dirtyRow = db.prepare('SELECT COUNT(*) as count FROM dirty_flags WHERE resolved_at IS NULL').get();
|
|
95
|
+
const dirtyCount = dirtyRow?.count ?? 0;
|
|
96
|
+
if (dirtyCount > 0) {
|
|
97
|
+
checks.push({ name: 'dirty_flags', status: 'warn', message: `${dirtyCount} unresolved dirty flag(s).`, fix: 'Run: pmem update --suggest' });
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
checks.push({ name: 'dirty_flags', status: 'ok', message: 'No unresolved dirty flags.' });
|
|
101
|
+
}
|
|
102
|
+
// 6. Active session
|
|
103
|
+
const sessionRow = db.prepare("SELECT id, agent_name FROM sessions WHERE ended_at IS NULL ORDER BY created_at DESC LIMIT 1").get();
|
|
104
|
+
if (sessionRow) {
|
|
105
|
+
checks.push({ name: 'session', status: 'ok', message: `Active session: ${sessionRow.id}${sessionRow.agent_name ? ` (${sessionRow.agent_name})` : ''}.` });
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
checks.push({ name: 'session', status: 'warn', message: 'No active session.', fix: 'Run: pmem session start -a "<agent-name>"' });
|
|
109
|
+
}
|
|
110
|
+
(0, db_1.closeDatabase)();
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
checks.push({ name: 'database', status: 'error', message: 'pmem.db is corrupted or not a valid database.', fix: 'Back up the file, then run: pmem rebuild --full' });
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// 7. Git availability
|
|
117
|
+
try {
|
|
118
|
+
(0, child_process_1.execSync)('git rev-parse --git-dir', { cwd, stdio: 'ignore' });
|
|
119
|
+
checks.push({ name: 'git', status: 'ok', message: 'Git repository detected.' });
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
checks.push({ name: 'git', status: 'warn', message: 'Not a Git repository.', fix: 'pmem status and mark-dirty --auto will use mtime fallback.' });
|
|
123
|
+
}
|
|
124
|
+
// 8. Integrations
|
|
125
|
+
if (manifest && manifest.integrations?.active?.length > 0) {
|
|
126
|
+
const active = manifest.integrations.active;
|
|
127
|
+
checks.push({ name: 'integrations', status: 'ok', message: `${active.length} active: ${active.join(', ')}.` });
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
checks.push({ name: 'integrations', status: 'warn', message: 'No integrations installed.', fix: 'Run: pmem integration install <framework>' });
|
|
131
|
+
}
|
|
132
|
+
outputDoctor(checks, format);
|
|
133
|
+
}
|
|
134
|
+
function outputDoctor(checks, format) {
|
|
135
|
+
if (format === 'json') {
|
|
136
|
+
const okCount = checks.filter(c => c.status === 'ok').length;
|
|
137
|
+
const warnCount = checks.filter(c => c.status === 'warn').length;
|
|
138
|
+
const errorCount = checks.filter(c => c.status === 'error').length;
|
|
139
|
+
console.log(JSON.stringify({
|
|
140
|
+
overall: errorCount > 0 ? 'error' : warnCount > 0 ? 'warn' : 'ok',
|
|
141
|
+
summary: `${okCount} ok, ${warnCount} warning(s), ${errorCount} error(s)`,
|
|
142
|
+
checks: checks.map(c => ({
|
|
143
|
+
name: c.name,
|
|
144
|
+
status: c.status,
|
|
145
|
+
message: c.message,
|
|
146
|
+
...(c.fix ? { fix: c.fix } : {}),
|
|
147
|
+
})),
|
|
148
|
+
}, null, 2));
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
const icons = { ok: '✓', warn: '⚠', error: '✗' };
|
|
152
|
+
for (const check of checks) {
|
|
153
|
+
console.log(`${icons[check.status]} ${check.message}`);
|
|
154
|
+
if (check.fix)
|
|
155
|
+
console.log(` ${check.fix}`);
|
|
156
|
+
}
|
|
157
|
+
const errorCount = checks.filter(c => c.status === 'error').length;
|
|
158
|
+
const warnCount = checks.filter(c => c.status === 'warn').length;
|
|
159
|
+
if (errorCount > 0 || warnCount > 0) {
|
|
160
|
+
process.exit(errorCount > 0 ? 2 : 1);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=doctor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AA8ZA,wBAAsB,WAAW,CAAC,OAAO,EAAE;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwPhB"}
|
package/dist/commands/init.js
CHANGED
|
@@ -386,6 +386,32 @@ pmem init --guided
|
|
|
386
386
|
`;
|
|
387
387
|
(0, fs_1.atomicWrite)(path.join(pmemPath, 'candidates', 'modules.generated.md'), candidatesContent);
|
|
388
388
|
}
|
|
389
|
+
// === Answers File ===
|
|
390
|
+
function loadAnswersFile(filePath) {
|
|
391
|
+
const cwd = process.cwd();
|
|
392
|
+
const absPath = path.resolve(cwd, filePath);
|
|
393
|
+
if (!fs.existsSync(absPath)) {
|
|
394
|
+
console.error(`Answers file not found: ${absPath}`);
|
|
395
|
+
return null;
|
|
396
|
+
}
|
|
397
|
+
try {
|
|
398
|
+
const raw = fs.readFileSync(absPath, 'utf-8');
|
|
399
|
+
const parsed = JSON.parse(raw);
|
|
400
|
+
if (typeof parsed !== 'object' || parsed === null) {
|
|
401
|
+
console.error('Answers file must contain a JSON object.');
|
|
402
|
+
return null;
|
|
403
|
+
}
|
|
404
|
+
return {
|
|
405
|
+
description: typeof parsed.description === 'string' ? parsed.description : undefined,
|
|
406
|
+
stage: typeof parsed.stage === 'string' ? parsed.stage : undefined,
|
|
407
|
+
next: typeof parsed.next === 'string' ? parsed.next : undefined,
|
|
408
|
+
};
|
|
409
|
+
}
|
|
410
|
+
catch (err) {
|
|
411
|
+
console.error(`Failed to parse answers file: ${err?.message || err}`);
|
|
412
|
+
return null;
|
|
413
|
+
}
|
|
414
|
+
}
|
|
389
415
|
// === Main Command ===
|
|
390
416
|
async function initCommand(options) {
|
|
391
417
|
const cwd = process.cwd();
|
|
@@ -398,10 +424,87 @@ async function initCommand(options) {
|
|
|
398
424
|
const name = options.projectName || path.basename(cwd);
|
|
399
425
|
// Run project scan (used by both modes)
|
|
400
426
|
const scan = scanProject();
|
|
401
|
-
//
|
|
427
|
+
// Resolve guided info from args, answers file, or interactive prompt
|
|
402
428
|
let guidedInfo = null;
|
|
403
429
|
if (options.guided) {
|
|
404
|
-
|
|
430
|
+
// Merge: answers file first, then CLI args override
|
|
431
|
+
const answers = {};
|
|
432
|
+
if (options.answers) {
|
|
433
|
+
const fileAnswers = loadAnswersFile(options.answers);
|
|
434
|
+
if (!fileAnswers) {
|
|
435
|
+
console.error('Failed to load answers file. Falling back to defaults.');
|
|
436
|
+
}
|
|
437
|
+
else {
|
|
438
|
+
Object.assign(answers, fileAnswers);
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
if (options.description)
|
|
442
|
+
answers.description = options.description;
|
|
443
|
+
if (options.stage)
|
|
444
|
+
answers.stage = options.stage;
|
|
445
|
+
if (options.next)
|
|
446
|
+
answers.next = options.next;
|
|
447
|
+
const hasDescription = !!answers.description;
|
|
448
|
+
const hasStage = !!answers.stage;
|
|
449
|
+
const hasNext = !!answers.next;
|
|
450
|
+
// All three present → non-interactive mode
|
|
451
|
+
if (hasDescription && hasStage && hasNext) {
|
|
452
|
+
guidedInfo = {
|
|
453
|
+
description: answers.description,
|
|
454
|
+
stage: answers.stage,
|
|
455
|
+
nextStep: answers.next,
|
|
456
|
+
};
|
|
457
|
+
}
|
|
458
|
+
else if (hasDescription || hasStage || hasNext) {
|
|
459
|
+
// Partial args → error with guidance
|
|
460
|
+
const missing = [];
|
|
461
|
+
if (!hasDescription)
|
|
462
|
+
missing.push('--description');
|
|
463
|
+
if (!hasStage)
|
|
464
|
+
missing.push('--stage');
|
|
465
|
+
if (!hasNext)
|
|
466
|
+
missing.push('--next');
|
|
467
|
+
console.error(`Incomplete non-interactive init. Missing: ${missing.join(', ')}`);
|
|
468
|
+
console.error('Provide all three flags, use --answers <file.json>, or run without flags for interactive mode.');
|
|
469
|
+
return;
|
|
470
|
+
}
|
|
471
|
+
else {
|
|
472
|
+
// No args → interactive TTY
|
|
473
|
+
guidedInfo = await guidedInit(name);
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
else if (options.answers) {
|
|
477
|
+
// --answers without --guided: also valid, implied guided
|
|
478
|
+
const fileAnswers = loadAnswersFile(options.answers);
|
|
479
|
+
if (!fileAnswers) {
|
|
480
|
+
console.error('Failed to load answers file.');
|
|
481
|
+
return;
|
|
482
|
+
}
|
|
483
|
+
if (options.description)
|
|
484
|
+
fileAnswers.description = options.description;
|
|
485
|
+
if (options.stage)
|
|
486
|
+
fileAnswers.stage = options.stage;
|
|
487
|
+
if (options.next)
|
|
488
|
+
fileAnswers.next = options.next;
|
|
489
|
+
if (fileAnswers.description && fileAnswers.stage && fileAnswers.next) {
|
|
490
|
+
guidedInfo = {
|
|
491
|
+
description: fileAnswers.description,
|
|
492
|
+
stage: fileAnswers.stage,
|
|
493
|
+
nextStep: fileAnswers.next,
|
|
494
|
+
};
|
|
495
|
+
}
|
|
496
|
+
else {
|
|
497
|
+
const missing = [];
|
|
498
|
+
if (!fileAnswers.description)
|
|
499
|
+
missing.push('description');
|
|
500
|
+
if (!fileAnswers.stage)
|
|
501
|
+
missing.push('stage');
|
|
502
|
+
if (!fileAnswers.next)
|
|
503
|
+
missing.push('next');
|
|
504
|
+
console.error(`Answers file missing required fields: ${missing.join(', ')}`);
|
|
505
|
+
console.error('File must contain: { "description": "...", "stage": "...", "next": "..." }');
|
|
506
|
+
return;
|
|
507
|
+
}
|
|
405
508
|
}
|
|
406
509
|
// Create directory structure
|
|
407
510
|
const dirs = [
|
|
@@ -424,7 +527,7 @@ async function initCommand(options) {
|
|
|
424
527
|
(0, fs_1.ensureDir)(path.join(cwd, dir));
|
|
425
528
|
}
|
|
426
529
|
// Write manifest with appropriate init mode
|
|
427
|
-
if (
|
|
530
|
+
if (guidedInfo) {
|
|
428
531
|
const manifest = (0, manifest_1.getDefaultManifest)(name, 'guided');
|
|
429
532
|
(0, manifest_1.saveManifest)(pmemPath, manifest);
|
|
430
533
|
// Write richer guided memory files
|
|
@@ -446,7 +549,7 @@ async function initCommand(options) {
|
|
|
446
549
|
(0, fs_1.writeFile)(path.join(pmemPath, 'skills', 'code-task.md'), CODE_TASK_SKILL);
|
|
447
550
|
(0, fs_1.writeFile)(path.join(pmemPath, 'skills', 'update.md'), UPDATE_SKILL);
|
|
448
551
|
(0, fs_1.writeFile)(path.join(pmemPath, 'skills', 'distill.md'), DISTILL_SKILL);
|
|
449
|
-
// Write integration templates with v0.
|
|
552
|
+
// Write integration templates with v0.6 Agent-native Workflow Polish instructions
|
|
450
553
|
(0, fs_1.writeFile)(path.join(pmemPath, 'integrations', 'claude-code', 'CLAUDE.md'), `# pmem integration for Claude Code
|
|
451
554
|
|
|
452
555
|
pmem keeps project memory in Markdown cards under .pmem/ and rebuilds SQLite indexes for fast recall. Markdown cards are the source of truth; do not edit .pmem/pmem.db directly.
|
|
@@ -549,8 +652,10 @@ Markdown cards under \`.pmem/\` are canonical. \`.pmem/pmem.db\` is a rebuildabl
|
|
|
549
652
|
if (scan.candidates.length > 0) {
|
|
550
653
|
console.log(`Module candidates: ${scan.candidates.map(c => c.suggestedId).join(', ')}`);
|
|
551
654
|
}
|
|
552
|
-
if (
|
|
553
|
-
|
|
655
|
+
if (guidedInfo) {
|
|
656
|
+
const mode = options.guided && !options.description && !options.stage && !options.next && !options.answers
|
|
657
|
+
? 'interactive' : 'non-interactive';
|
|
658
|
+
console.log(`\nGuided setup (${mode}) complete. Run \`pmem recall\` to see your project state.`);
|
|
554
659
|
}
|
|
555
660
|
else {
|
|
556
661
|
console.log(`\nNext: run \`pmem recall\` to see your project state, or \`pmem init --guided\` for interactive setup.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|