pmem-ai 0.5.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 +57 -0
- package/LICENSE +21 -0
- package/README.md +349 -0
- package/dist/commands/ask.d.ts +3 -0
- package/dist/commands/ask.d.ts.map +1 -0
- package/dist/commands/ask.js +303 -0
- package/dist/commands/ask.js.map +1 -0
- package/dist/commands/distill.d.ts +6 -0
- package/dist/commands/distill.d.ts.map +1 -0
- package/dist/commands/distill.js +425 -0
- package/dist/commands/distill.js.map +1 -0
- package/dist/commands/graph.d.ts +6 -0
- package/dist/commands/graph.d.ts.map +1 -0
- package/dist/commands/graph.js +216 -0
- package/dist/commands/graph.js.map +1 -0
- package/dist/commands/init.d.ts +5 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +566 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/integration.d.ts +2 -0
- package/dist/commands/integration.d.ts.map +1 -0
- package/dist/commands/integration.js +216 -0
- package/dist/commands/integration.js.map +1 -0
- package/dist/commands/migrate.d.ts +6 -0
- package/dist/commands/migrate.d.ts.map +1 -0
- package/dist/commands/migrate.js +379 -0
- package/dist/commands/migrate.js.map +1 -0
- package/dist/commands/rebuild.d.ts +8 -0
- package/dist/commands/rebuild.d.ts.map +1 -0
- package/dist/commands/rebuild.js +299 -0
- package/dist/commands/rebuild.js.map +1 -0
- package/dist/commands/recall.d.ts +3 -0
- package/dist/commands/recall.d.ts.map +1 -0
- package/dist/commands/recall.js +140 -0
- package/dist/commands/recall.js.map +1 -0
- package/dist/commands/session.d.ts +3 -0
- package/dist/commands/session.d.ts.map +1 -0
- package/dist/commands/session.js +147 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/status.d.ts +5 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +275 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/update.d.ts +14 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +536 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/verify.d.ts +4 -0
- package/dist/commands/verify.d.ts.map +1 -0
- package/dist/commands/verify.js +296 -0
- package/dist/commands/verify.js.map +1 -0
- package/dist/core/db.d.ts +47 -0
- package/dist/core/db.d.ts.map +1 -0
- package/dist/core/db.js +326 -0
- package/dist/core/db.js.map +1 -0
- package/dist/core/format.d.ts +3 -0
- package/dist/core/format.d.ts.map +1 -0
- package/dist/core/format.js +221 -0
- package/dist/core/format.js.map +1 -0
- package/dist/core/fs.d.ts +16 -0
- package/dist/core/fs.d.ts.map +1 -0
- package/dist/core/fs.js +175 -0
- package/dist/core/fs.js.map +1 -0
- package/dist/core/git.d.ts +6 -0
- package/dist/core/git.d.ts.map +1 -0
- package/dist/core/git.js +20 -0
- package/dist/core/git.js.map +1 -0
- package/dist/core/hash.d.ts +10 -0
- package/dist/core/hash.d.ts.map +1 -0
- package/dist/core/hash.js +25 -0
- package/dist/core/hash.js.map +1 -0
- package/dist/core/manifest.d.ts +6 -0
- package/dist/core/manifest.d.ts.map +1 -0
- package/dist/core/manifest.js +207 -0
- package/dist/core/manifest.js.map +1 -0
- package/dist/core/yaml.d.ts +11 -0
- package/dist/core/yaml.d.ts.map +1 -0
- package/dist/core/yaml.js +94 -0
- package/dist/core/yaml.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +167 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +351 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -0
- package/docs/Voorlopige projekidee.md +695 -0
- package/docs/handover-v0.3.md +355 -0
- package/docs/handover-v0.4.md +367 -0
- package/docs/prd.md +318 -0
- package/docs/project-roadmap.md +279 -0
- package/docs/release-checklist-v0.5.md +109 -0
- package/docs/v0.2 pre-design.md +182 -0
- package/docs/v0.2 pre-roadmap.md +270 -0
- package/docs/v0.3 pre-design.md +686 -0
- package/docs/v0.4 pre-design.md +417 -0
- package/docs/v0.5 pre-design.md +481 -0
- package/package.json +67 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/commands/graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AA6XA,wBAAsB,WAAW,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsLpG"}
|
|
@@ -0,0 +1,566 @@
|
|
|
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.initCommand = initCommand;
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
const fs = __importStar(require("fs"));
|
|
39
|
+
const readline = __importStar(require("readline"));
|
|
40
|
+
const fs_1 = require("../core/fs");
|
|
41
|
+
const manifest_1 = require("../core/manifest");
|
|
42
|
+
const PMEM_DIR = '.pmem';
|
|
43
|
+
const INDEX_MD = `# Project Memory Index
|
|
44
|
+
|
|
45
|
+
## Project
|
|
46
|
+
Name: {{PROJECT_NAME}}
|
|
47
|
+
Stage: {{PROJECT_STAGE}}
|
|
48
|
+
|
|
49
|
+
## Current Focus
|
|
50
|
+
{{CURRENT_FOCUS}}
|
|
51
|
+
|
|
52
|
+
## Read First
|
|
53
|
+
- .pmem/state.md
|
|
54
|
+
- .pmem/next.md
|
|
55
|
+
|
|
56
|
+
## Stable Decisions
|
|
57
|
+
(No decisions recorded yet.)
|
|
58
|
+
|
|
59
|
+
## Current Risks
|
|
60
|
+
(No risks identified yet.)
|
|
61
|
+
|
|
62
|
+
## CLI
|
|
63
|
+
Use:
|
|
64
|
+
pmem recall
|
|
65
|
+
pmem ask "<query>"
|
|
66
|
+
pmem status
|
|
67
|
+
`;
|
|
68
|
+
const STATE_MD = `# Project State
|
|
69
|
+
|
|
70
|
+
## Overall Status
|
|
71
|
+
Just initialized.
|
|
72
|
+
|
|
73
|
+
## Modules
|
|
74
|
+
| Module | Status | Last Updated |
|
|
75
|
+
|--------|--------|--------------|
|
|
76
|
+
| (none) | - | - |
|
|
77
|
+
|
|
78
|
+
## Active Tasks
|
|
79
|
+
(No active tasks yet.)
|
|
80
|
+
|
|
81
|
+
## Recent Changes
|
|
82
|
+
- Project memory initialized.
|
|
83
|
+
`;
|
|
84
|
+
const NEXT_MD = `# Next Steps
|
|
85
|
+
|
|
86
|
+
## Recommended Next Step
|
|
87
|
+
Define your first module or decision card.
|
|
88
|
+
|
|
89
|
+
## Why
|
|
90
|
+
Building memory cards early establishes the project knowledge graph.
|
|
91
|
+
|
|
92
|
+
## Needed Context
|
|
93
|
+
Run \`pmem recall\` to see the current project state.
|
|
94
|
+
`;
|
|
95
|
+
const RECALL_SKILL = `# Skill: Recall Project Memory
|
|
96
|
+
|
|
97
|
+
Use this when you need to understand the project.
|
|
98
|
+
|
|
99
|
+
## Steps
|
|
100
|
+
1. Read \`.pmem/index.md\`.
|
|
101
|
+
2. Read \`.pmem/state.md\`.
|
|
102
|
+
3. Read \`.pmem/next.md\`.
|
|
103
|
+
4. If the user asks about a specific module, run:
|
|
104
|
+
\`pmem ask "<module or task>"\`
|
|
105
|
+
5. Only read detailed memory cards when needed.
|
|
106
|
+
|
|
107
|
+
## Token Rule
|
|
108
|
+
Do not read all memory files unless explicitly requested.
|
|
109
|
+
`;
|
|
110
|
+
const CODE_TASK_SKILL = `# Skill: Code Task
|
|
111
|
+
|
|
112
|
+
Use this before modifying code.
|
|
113
|
+
|
|
114
|
+
## Required Reads
|
|
115
|
+
- .pmem/index.md
|
|
116
|
+
- .pmem/state.md
|
|
117
|
+
- .pmem/modules related to the target code
|
|
118
|
+
- .pmem/decisions related to the target module
|
|
119
|
+
|
|
120
|
+
## Required Writes
|
|
121
|
+
After task completion:
|
|
122
|
+
- Run \`pmem status --format json\`
|
|
123
|
+
- Run \`pmem mark-dirty --auto\`
|
|
124
|
+
- Run \`pmem update --suggest --format json\`
|
|
125
|
+
- Confirm the memory update with \`pmem update --confirm -s "<summary>" -n "<next step>"\`
|
|
126
|
+
- Run \`pmem verify\`
|
|
127
|
+
`;
|
|
128
|
+
const UPDATE_SKILL = `# Skill: Update Memory
|
|
129
|
+
|
|
130
|
+
Use this after completing a task.
|
|
131
|
+
|
|
132
|
+
## Must Update
|
|
133
|
+
- state.md when project state changed
|
|
134
|
+
- next.md when the next recommended action changed
|
|
135
|
+
- traces/YYYY-MM-DD-*.md when work completed
|
|
136
|
+
|
|
137
|
+
## Add Decision When
|
|
138
|
+
- Architecture changed
|
|
139
|
+
- Product direction changed
|
|
140
|
+
- Major tradeoff was made
|
|
141
|
+
- A previous assumption was invalidated
|
|
142
|
+
`;
|
|
143
|
+
const DISTILL_SKILL = `# Skill: Distill Memory
|
|
144
|
+
|
|
145
|
+
Use this to consolidate traces into stable memory cards.
|
|
146
|
+
|
|
147
|
+
## When to Distill
|
|
148
|
+
- After completing a milestone
|
|
149
|
+
- When traces/ has accumulated 10+ undistilled entries
|
|
150
|
+
- Weekly, as part of project maintenance
|
|
151
|
+
|
|
152
|
+
## Steps
|
|
153
|
+
1. Run \`pmem distill\` to see suggestions (dry-run).
|
|
154
|
+
2. Review the suggested updates for each target card.
|
|
155
|
+
3. Run \`pmem distill --confirm\` to apply.
|
|
156
|
+
4. Run \`pmem rebuild\` to update indexes.
|
|
157
|
+
5. Run \`pmem verify\` to check consistency.
|
|
158
|
+
|
|
159
|
+
## What Gets Distilled
|
|
160
|
+
- Trace summaries are added to their related module/decision/task cards.
|
|
161
|
+
- Traces are marked as distilled in their frontmatter.
|
|
162
|
+
- Original trace files are preserved for evidence.
|
|
163
|
+
|
|
164
|
+
## Split Suggestions
|
|
165
|
+
Run \`pmem distill --suggest-splits\` to detect oversized cards.
|
|
166
|
+
`;
|
|
167
|
+
const AGENTS_MD = `# AGENTS.md
|
|
168
|
+
|
|
169
|
+
This project uses pmem for project memory.
|
|
170
|
+
|
|
171
|
+
pmem stores source-of-truth memory as Markdown cards under \`.pmem/\` and rebuilds SQLite indexes for fast agent recall. Do not edit \`.pmem/pmem.db\` directly.
|
|
172
|
+
|
|
173
|
+
## Session Start
|
|
174
|
+
|
|
175
|
+
\`\`\`bash
|
|
176
|
+
pmem session start -a "Codex"
|
|
177
|
+
pmem recall --format compact --budget 2000
|
|
178
|
+
\`\`\`
|
|
179
|
+
|
|
180
|
+
For specific work, ask pmem first:
|
|
181
|
+
|
|
182
|
+
\`\`\`bash
|
|
183
|
+
pmem ask "<task or module>" --format compact
|
|
184
|
+
\`\`\`
|
|
185
|
+
|
|
186
|
+
## Read
|
|
187
|
+
|
|
188
|
+
Only read memory cards returned by pmem unless more context is needed.
|
|
189
|
+
|
|
190
|
+
## After Editing Code
|
|
191
|
+
|
|
192
|
+
\`\`\`bash
|
|
193
|
+
pmem status --format json
|
|
194
|
+
pmem mark-dirty --auto
|
|
195
|
+
pmem update --suggest --format json
|
|
196
|
+
\`\`\`
|
|
197
|
+
|
|
198
|
+
\`pmem update --suggest\` exits with code 1 when suggestions exist. Treat that as "action suggested", not as a hard failure.
|
|
199
|
+
|
|
200
|
+
## Session End
|
|
201
|
+
|
|
202
|
+
Before finishing work:
|
|
203
|
+
|
|
204
|
+
\`\`\`bash
|
|
205
|
+
pmem update --confirm -s "<what changed>" -n "<next step>"
|
|
206
|
+
pmem session end -s "<task summary>"
|
|
207
|
+
pmem verify
|
|
208
|
+
\`\`\`
|
|
209
|
+
|
|
210
|
+
## Source Of Truth
|
|
211
|
+
|
|
212
|
+
- Markdown cards in \`.pmem/**/*.md\` are canonical.
|
|
213
|
+
- \`.pmem/pmem.db\` is a rebuildable SQLite runtime index.
|
|
214
|
+
- Run \`pmem rebuild\` after changing memory cards.
|
|
215
|
+
|
|
216
|
+
## More Workflows
|
|
217
|
+
|
|
218
|
+
Task-specific workflows are in:
|
|
219
|
+
|
|
220
|
+
\`\`\`txt
|
|
221
|
+
.pmem/skills/
|
|
222
|
+
\`\`\`
|
|
223
|
+
`;
|
|
224
|
+
// === Interactive Helpers ===
|
|
225
|
+
function askQuestion(rl, question) {
|
|
226
|
+
return new Promise((resolve) => {
|
|
227
|
+
rl.question(question, (answer) => resolve(answer.trim()));
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
async function guidedInit(projectName) {
|
|
231
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
232
|
+
console.log('\n=== pmem guided initialization ===\n');
|
|
233
|
+
console.log('Answer 3 questions to set up your project memory.\n');
|
|
234
|
+
const description = await askQuestion(rl, `1. What is this project about? (one-line description)\n> `);
|
|
235
|
+
const stage = await askQuestion(rl, `\n2. What is the current stage? (e.g., "Beta productization", "MVP in progress")\n> `);
|
|
236
|
+
const nextStep = await askQuestion(rl, `\n3. What is the most important next step?\n> `);
|
|
237
|
+
rl.close();
|
|
238
|
+
return { description, stage, nextStep };
|
|
239
|
+
}
|
|
240
|
+
function scanProject() {
|
|
241
|
+
const cwd = process.cwd();
|
|
242
|
+
const stack = [];
|
|
243
|
+
const sourceDirectories = [];
|
|
244
|
+
const candidates = [];
|
|
245
|
+
// Detect tech stack
|
|
246
|
+
const pkgJsonPath = path.join(cwd, 'package.json');
|
|
247
|
+
if (fs.existsSync(pkgJsonPath)) {
|
|
248
|
+
try {
|
|
249
|
+
const pkg = JSON.parse(fs.readFileSync(pkgJsonPath, 'utf-8'));
|
|
250
|
+
stack.push('Node.js');
|
|
251
|
+
if (pkg.dependencies?.next || pkg.devDependencies?.next)
|
|
252
|
+
stack.push('Next.js');
|
|
253
|
+
if (pkg.dependencies?.react)
|
|
254
|
+
stack.push('React');
|
|
255
|
+
if (pkg.dependencies?.typescript || pkg.devDependencies?.typescript)
|
|
256
|
+
stack.push('TypeScript');
|
|
257
|
+
}
|
|
258
|
+
catch { /* ignore */ }
|
|
259
|
+
}
|
|
260
|
+
if (fs.existsSync(path.join(cwd, 'Cargo.toml')))
|
|
261
|
+
stack.push('Rust');
|
|
262
|
+
if (fs.existsSync(path.join(cwd, 'go.mod')))
|
|
263
|
+
stack.push('Go');
|
|
264
|
+
if (fs.existsSync(path.join(cwd, 'pyproject.toml')) || fs.existsSync(path.join(cwd, 'requirements.txt')))
|
|
265
|
+
stack.push('Python');
|
|
266
|
+
if (fs.existsSync(path.join(cwd, 'pom.xml')))
|
|
267
|
+
stack.push('Java/Maven');
|
|
268
|
+
// Scan source directories
|
|
269
|
+
for (const dir of ['src', 'lib', 'app', 'packages', 'tests', 'docs', 'scripts']) {
|
|
270
|
+
if (fs.existsSync(path.join(cwd, dir)) && fs.statSync(path.join(cwd, dir)).isDirectory()) {
|
|
271
|
+
sourceDirectories.push(dir + '/');
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
// Generate module candidates from src/ subdirectories
|
|
275
|
+
const srcDir = path.join(cwd, 'src');
|
|
276
|
+
if (fs.existsSync(srcDir) && fs.statSync(srcDir).isDirectory()) {
|
|
277
|
+
const entries = fs.readdirSync(srcDir, { withFileTypes: true });
|
|
278
|
+
for (const entry of entries) {
|
|
279
|
+
if (entry.isDirectory() && !entry.name.startsWith('.') && entry.name !== '__tests__') {
|
|
280
|
+
candidates.push({
|
|
281
|
+
suggestedId: `module.${entry.name.replace(/[^a-z0-9_]/g, '_')}`,
|
|
282
|
+
path: `src/${entry.name}/`,
|
|
283
|
+
confidence: 'medium',
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
return { stack, sourceDirectories, candidates };
|
|
289
|
+
}
|
|
290
|
+
function writeGuidedMemory(pmemPath, projectName, info, scan) {
|
|
291
|
+
const indexContent = `# Project Memory Index
|
|
292
|
+
|
|
293
|
+
## Project
|
|
294
|
+
Name: ${projectName}
|
|
295
|
+
Stage: ${info.stage}
|
|
296
|
+
Status: active
|
|
297
|
+
|
|
298
|
+
## Summary
|
|
299
|
+
${info.description}
|
|
300
|
+
|
|
301
|
+
${scan.stack.length > 0 ? `## Detected Stack\n${scan.stack.map(s => `- ${s}`).join('\n')}\n` : ''}
|
|
302
|
+
## Current Focus
|
|
303
|
+
${info.nextStep}
|
|
304
|
+
|
|
305
|
+
## Read First
|
|
306
|
+
- .pmem/state.md
|
|
307
|
+
- .pmem/next.md
|
|
308
|
+
|
|
309
|
+
## Stable Decisions
|
|
310
|
+
(No decisions recorded yet.)
|
|
311
|
+
|
|
312
|
+
## Current Risks
|
|
313
|
+
(No risks identified yet.)
|
|
314
|
+
|
|
315
|
+
## CLI
|
|
316
|
+
Use:
|
|
317
|
+
pmem recall
|
|
318
|
+
pmem ask "<query>"
|
|
319
|
+
pmem status
|
|
320
|
+
`;
|
|
321
|
+
const stateContent = `# Project State
|
|
322
|
+
|
|
323
|
+
## Overall Status
|
|
324
|
+
${info.stage}
|
|
325
|
+
|
|
326
|
+
## Modules
|
|
327
|
+
| Module | Status | Last Updated |
|
|
328
|
+
|--------|--------|--------------|
|
|
329
|
+
${scan.candidates.map(c => `| ${c.suggestedId.replace('module.', '')} | candidate | - |`).join('\n') || '| (none) | - | - |'}
|
|
330
|
+
|
|
331
|
+
## Active Tasks
|
|
332
|
+
(No active tasks yet.)
|
|
333
|
+
|
|
334
|
+
## Recent Changes
|
|
335
|
+
- Project memory initialized via guided setup.
|
|
336
|
+
`;
|
|
337
|
+
const nextContent = `# Next Steps
|
|
338
|
+
|
|
339
|
+
## Recommended Next Step
|
|
340
|
+
${info.nextStep}
|
|
341
|
+
|
|
342
|
+
## Why
|
|
343
|
+
Identified during guided initialization.
|
|
344
|
+
|
|
345
|
+
## Needed Context
|
|
346
|
+
Run \`pmem recall\` to see the current project state.
|
|
347
|
+
`;
|
|
348
|
+
const candidatesContent = `# Generated Module Candidates
|
|
349
|
+
|
|
350
|
+
Generated by pmem init scan on ${new Date().toISOString().split('T')[0]}.
|
|
351
|
+
|
|
352
|
+
## Candidates
|
|
353
|
+
|
|
354
|
+
${scan.candidates.map(c => `### ${c.path}
|
|
355
|
+
- Suggested ID: ${c.suggestedId}
|
|
356
|
+
- Confidence: ${c.confidence}
|
|
357
|
+
`).join('\n') || '(No candidates detected ā create modules manually.)\n\n```bash\npmem update --confirm\n```\n'}
|
|
358
|
+
## Confirm
|
|
359
|
+
Review these candidates and create confirmed module cards manually, or run:
|
|
360
|
+
\`\`\`bash
|
|
361
|
+
pmem init --guided
|
|
362
|
+
\`\`\`
|
|
363
|
+
`;
|
|
364
|
+
(0, fs_1.atomicWrite)(path.join(pmemPath, 'index.md'), indexContent);
|
|
365
|
+
(0, fs_1.atomicWrite)(path.join(pmemPath, 'state.md'), stateContent);
|
|
366
|
+
(0, fs_1.atomicWrite)(path.join(pmemPath, 'next.md'), nextContent);
|
|
367
|
+
(0, fs_1.atomicWrite)(path.join(pmemPath, 'candidates', 'modules.generated.md'), candidatesContent);
|
|
368
|
+
}
|
|
369
|
+
function writeMinimalCandidates(pmemPath, scan) {
|
|
370
|
+
const candidatesContent = `# Generated Module Candidates
|
|
371
|
+
|
|
372
|
+
Generated by pmem init scan on ${new Date().toISOString().split('T')[0]}.
|
|
373
|
+
Memory status: incomplete (minimal init ā review these candidates and run \`pmem init --guided\` for richer setup).
|
|
374
|
+
|
|
375
|
+
## Candidates
|
|
376
|
+
|
|
377
|
+
${scan.candidates.map(c => `### ${c.path}
|
|
378
|
+
- Suggested ID: ${c.suggestedId}
|
|
379
|
+
- Confidence: ${c.confidence}
|
|
380
|
+
`).join('\n') || '(No candidates detected ā create modules manually.)\n\n```bash\npmem update --confirm\n```\n'}
|
|
381
|
+
## Confirm
|
|
382
|
+
Review these candidates and create confirmed module cards manually, or run:
|
|
383
|
+
\`\`\`bash
|
|
384
|
+
pmem init --guided
|
|
385
|
+
\`\`\`
|
|
386
|
+
`;
|
|
387
|
+
(0, fs_1.atomicWrite)(path.join(pmemPath, 'candidates', 'modules.generated.md'), candidatesContent);
|
|
388
|
+
}
|
|
389
|
+
// === Main Command ===
|
|
390
|
+
async function initCommand(options) {
|
|
391
|
+
const cwd = process.cwd();
|
|
392
|
+
const pmemPath = path.join(cwd, PMEM_DIR);
|
|
393
|
+
if ((0, fs_1.fileExists)(pmemPath)) {
|
|
394
|
+
console.log(`.pmem already exists at ${pmemPath}`);
|
|
395
|
+
console.log('To reinitialize, remove .pmem/ first.');
|
|
396
|
+
return;
|
|
397
|
+
}
|
|
398
|
+
const name = options.projectName || path.basename(cwd);
|
|
399
|
+
// Run project scan (used by both modes)
|
|
400
|
+
const scan = scanProject();
|
|
401
|
+
// Guided mode: ask questions interactively
|
|
402
|
+
let guidedInfo = null;
|
|
403
|
+
if (options.guided) {
|
|
404
|
+
guidedInfo = await guidedInit(name);
|
|
405
|
+
}
|
|
406
|
+
// Create directory structure
|
|
407
|
+
const dirs = [
|
|
408
|
+
'.pmem/modules',
|
|
409
|
+
'.pmem/features',
|
|
410
|
+
'.pmem/decisions',
|
|
411
|
+
'.pmem/tasks',
|
|
412
|
+
'.pmem/traces',
|
|
413
|
+
'.pmem/summaries',
|
|
414
|
+
'.pmem/skills',
|
|
415
|
+
'.pmem/candidates',
|
|
416
|
+
'.pmem/risks',
|
|
417
|
+
'.pmem/indexes',
|
|
418
|
+
'.pmem/integrations/claude-code',
|
|
419
|
+
'.pmem/integrations/cursor',
|
|
420
|
+
'.pmem/integrations/codex',
|
|
421
|
+
];
|
|
422
|
+
console.log('Creating .pmem/ directory structure...');
|
|
423
|
+
for (const dir of dirs) {
|
|
424
|
+
(0, fs_1.ensureDir)(path.join(cwd, dir));
|
|
425
|
+
}
|
|
426
|
+
// Write manifest with appropriate init mode
|
|
427
|
+
if (options.guided && guidedInfo) {
|
|
428
|
+
const manifest = (0, manifest_1.getDefaultManifest)(name, 'guided');
|
|
429
|
+
(0, manifest_1.saveManifest)(pmemPath, manifest);
|
|
430
|
+
// Write richer guided memory files
|
|
431
|
+
writeGuidedMemory(pmemPath, name, guidedInfo, scan);
|
|
432
|
+
}
|
|
433
|
+
else {
|
|
434
|
+
const manifest = (0, manifest_1.getDefaultManifest)(name, 'minimal');
|
|
435
|
+
(0, manifest_1.saveManifest)(pmemPath, manifest);
|
|
436
|
+
// Write default template files
|
|
437
|
+
const replacements = { PROJECT_NAME: name, PROJECT_STAGE: 'Initialized', CURRENT_FOCUS: 'Set up project memory.' };
|
|
438
|
+
(0, fs_1.writeFile)(path.join(pmemPath, 'index.md'), replaceTemplate(INDEX_MD, replacements));
|
|
439
|
+
(0, fs_1.writeFile)(path.join(pmemPath, 'state.md'), STATE_MD);
|
|
440
|
+
(0, fs_1.writeFile)(path.join(pmemPath, 'next.md'), NEXT_MD);
|
|
441
|
+
// Write minimal candidates from scan
|
|
442
|
+
writeMinimalCandidates(pmemPath, scan);
|
|
443
|
+
}
|
|
444
|
+
// Write skills
|
|
445
|
+
(0, fs_1.writeFile)(path.join(pmemPath, 'skills', 'recall.md'), RECALL_SKILL);
|
|
446
|
+
(0, fs_1.writeFile)(path.join(pmemPath, 'skills', 'code-task.md'), CODE_TASK_SKILL);
|
|
447
|
+
(0, fs_1.writeFile)(path.join(pmemPath, 'skills', 'update.md'), UPDATE_SKILL);
|
|
448
|
+
(0, fs_1.writeFile)(path.join(pmemPath, 'skills', 'distill.md'), DISTILL_SKILL);
|
|
449
|
+
// Write integration templates with v0.5 Productization Beta workflow instructions
|
|
450
|
+
(0, fs_1.writeFile)(path.join(pmemPath, 'integrations', 'claude-code', 'CLAUDE.md'), `# pmem integration for Claude Code
|
|
451
|
+
|
|
452
|
+
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.
|
|
453
|
+
|
|
454
|
+
## Session Start
|
|
455
|
+
\`\`\`bash
|
|
456
|
+
pmem session start -a "Claude"
|
|
457
|
+
pmem recall --format compact --budget 2000
|
|
458
|
+
\`\`\`
|
|
459
|
+
|
|
460
|
+
## Before Focused Work
|
|
461
|
+
\`\`\`bash
|
|
462
|
+
pmem ask "<task or module>" --format compact
|
|
463
|
+
\`\`\`
|
|
464
|
+
|
|
465
|
+
## During Work (after editing files)
|
|
466
|
+
\`\`\`bash
|
|
467
|
+
pmem status --format json
|
|
468
|
+
pmem mark-dirty --auto
|
|
469
|
+
pmem update --suggest --format json
|
|
470
|
+
\`\`\`
|
|
471
|
+
|
|
472
|
+
\`pmem update --suggest\` exits with code 1 when suggestions exist. That is a workflow signal, not a hard failure.
|
|
473
|
+
|
|
474
|
+
## Session End
|
|
475
|
+
\`\`\`bash
|
|
476
|
+
pmem update --confirm -s "<summary>" -n "<next step>"
|
|
477
|
+
pmem session end -s "<task summary>"
|
|
478
|
+
pmem verify
|
|
479
|
+
\`\`\`
|
|
480
|
+
|
|
481
|
+
## Optional Hooks (.claude/settings.json)
|
|
482
|
+
\`\`\`json
|
|
483
|
+
{
|
|
484
|
+
"hooks": {
|
|
485
|
+
"PostToolUse": [{
|
|
486
|
+
"matcher": "Edit|Write",
|
|
487
|
+
"command": "cd \${CLAUDE_PROJECT_DIR} && pmem mark-dirty -r \\"File modified by Claude\\""
|
|
488
|
+
}]
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
\`\`\`
|
|
492
|
+
`);
|
|
493
|
+
(0, fs_1.writeFile)(path.join(pmemPath, 'integrations', 'claude-code', 'settings.example.json'), '{}\n');
|
|
494
|
+
(0, fs_1.writeFile)(path.join(pmemPath, 'integrations', 'cursor', 'rules.example.md'), `# Cursor Rules with pmem
|
|
495
|
+
|
|
496
|
+
## Session Start
|
|
497
|
+
In Cursor's AI chat: \`pmem session start -a "Cursor" && pmem recall --format compact --budget 2000\`
|
|
498
|
+
|
|
499
|
+
## Before Focused Work
|
|
500
|
+
\`pmem ask "<task or module>" --format compact\`
|
|
501
|
+
|
|
502
|
+
## When Editing Code
|
|
503
|
+
After each significant change: \`pmem status --format json && pmem mark-dirty --auto\`
|
|
504
|
+
|
|
505
|
+
## Before Requesting Review
|
|
506
|
+
\`pmem update --suggest --format json\`
|
|
507
|
+
|
|
508
|
+
Exit code 1 from \`pmem update --suggest\` means suggestions exist, not that the command failed.
|
|
509
|
+
|
|
510
|
+
## End of Session
|
|
511
|
+
\`pmem update --confirm -s "<summary>" -n "<next>" && pmem session end -s "<summary>" && pmem verify\`
|
|
512
|
+
|
|
513
|
+
## Source Of Truth
|
|
514
|
+
Markdown cards under \`.pmem/\` are canonical. SQLite indexes are rebuildable runtime data.
|
|
515
|
+
`);
|
|
516
|
+
(0, fs_1.writeFile)(path.join(pmemPath, 'integrations', 'codex', 'AGENTS.md'), `# pmem + Codex Integration
|
|
517
|
+
|
|
518
|
+
## Quick Start
|
|
519
|
+
\`\`\`bash
|
|
520
|
+
pmem session start -a "Codex"
|
|
521
|
+
pmem recall --format compact --budget 2000
|
|
522
|
+
\`\`\`
|
|
523
|
+
|
|
524
|
+
## Memory-Aware Workflow
|
|
525
|
+
1. Start task: \`pmem ask "<task description>" --format compact\`
|
|
526
|
+
2. Edit code
|
|
527
|
+
3. Inspect changes: \`pmem status --format json\`
|
|
528
|
+
4. Mark changes: \`pmem mark-dirty --auto\`
|
|
529
|
+
5. Get suggestions: \`pmem update --suggest --format json\`
|
|
530
|
+
6. Treat exit code 1 from suggest commands as "action suggested", not failure
|
|
531
|
+
7. Apply: \`pmem update --confirm -s "<what changed>" -n "<next step>"\`
|
|
532
|
+
8. End session: \`pmem session end -s "<summary>" && pmem verify\`
|
|
533
|
+
|
|
534
|
+
## Source Of Truth
|
|
535
|
+
Markdown cards under \`.pmem/\` are canonical. \`.pmem/pmem.db\` is a rebuildable SQLite runtime index.
|
|
536
|
+
`);
|
|
537
|
+
// Write AGENTS.md in project root
|
|
538
|
+
(0, fs_1.writeFile)(path.join(cwd, 'AGENTS.md'), AGENTS_MD);
|
|
539
|
+
// Print summary
|
|
540
|
+
console.log(`\nā pmem initialized for project "${name}"`);
|
|
541
|
+
console.log(` .pmem/ ā memory cards, skills, indexes, integrations`);
|
|
542
|
+
console.log(` AGENTS.md ā agent entry instructions`);
|
|
543
|
+
if (scan.stack.length > 0) {
|
|
544
|
+
console.log(`\nDetected stack: ${scan.stack.join(', ')}`);
|
|
545
|
+
}
|
|
546
|
+
if (scan.sourceDirectories.length > 0) {
|
|
547
|
+
console.log(`Source directories: ${scan.sourceDirectories.join(', ')}`);
|
|
548
|
+
}
|
|
549
|
+
if (scan.candidates.length > 0) {
|
|
550
|
+
console.log(`Module candidates: ${scan.candidates.map(c => c.suggestedId).join(', ')}`);
|
|
551
|
+
}
|
|
552
|
+
if (options.guided) {
|
|
553
|
+
console.log(`\nGuided setup complete. Run \`pmem recall\` to see your project state.`);
|
|
554
|
+
}
|
|
555
|
+
else {
|
|
556
|
+
console.log(`\nNext: run \`pmem recall\` to see your project state, or \`pmem init --guided\` for interactive setup.`);
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
function replaceTemplate(template, vars) {
|
|
560
|
+
let result = template;
|
|
561
|
+
for (const [key, value] of Object.entries(vars)) {
|
|
562
|
+
result = result.replace(new RegExp(`\\{\\{${key}\\}\\}`, 'g'), value);
|
|
563
|
+
}
|
|
564
|
+
return result;
|
|
565
|
+
}
|
|
566
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../src/commands/integration.ts"],"names":[],"mappings":"AA2DA,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAiC3E"}
|