memoire-ai 0.6.8 → 0.6.9
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/configure.d.ts.map +1 -1
- package/dist/configure.js +168 -1
- package/dist/configure.js.map +1 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +155 -23
- package/dist/hooks.js.map +1 -1
- package/package.json +5 -5
- package/skills/use-memoire/SKILL.md +51 -86
package/dist/configure.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,
|
|
1
|
+
{"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":"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"}
|
package/dist/configure.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { execFileSync } from 'node:child_process';
|
|
2
|
-
import { createHash } from 'node:crypto';
|
|
2
|
+
import { createHash, randomUUID } from 'node:crypto';
|
|
3
3
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
4
4
|
import { basename, dirname, join } from 'node:path';
|
|
5
5
|
import { fileURLToPath } from 'node:url';
|
|
@@ -101,6 +101,10 @@ export async function install(opts, deps = {}) {
|
|
|
101
101
|
console.warn = origWarn;
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
+
// Seed initial context so memory isn't empty on first run
|
|
105
|
+
await seedInitialContext(config, client, repoInfo.repoRoot ?? cwd, log, warn).catch((error) => {
|
|
106
|
+
warn(` Context seeding skipped: ${error instanceof Error ? error.message : 'unknown error'}`);
|
|
107
|
+
});
|
|
104
108
|
if (!opts.quiet) {
|
|
105
109
|
await playSuccessAnimation(opts.client);
|
|
106
110
|
}
|
|
@@ -139,6 +143,111 @@ export async function init(opts, deps = {}) {
|
|
|
139
143
|
}, deps);
|
|
140
144
|
return created;
|
|
141
145
|
}
|
|
146
|
+
/** Seed initial context from the repo so memory isn't empty on first run. */
|
|
147
|
+
async function seedInitialContext(config, client, repoRoot, log, _warn) {
|
|
148
|
+
if (!client.ingestEvents)
|
|
149
|
+
return;
|
|
150
|
+
const events = [];
|
|
151
|
+
const baseEvent = {
|
|
152
|
+
org_id: config.org_id,
|
|
153
|
+
project_id: config.project_id,
|
|
154
|
+
user_id: config.user_id,
|
|
155
|
+
session_id: `setup-${Date.now()}`,
|
|
156
|
+
client: config.client,
|
|
157
|
+
private: false,
|
|
158
|
+
};
|
|
159
|
+
function addEvent(type, content, concepts) {
|
|
160
|
+
events.push({
|
|
161
|
+
...baseEvent,
|
|
162
|
+
event_type: type,
|
|
163
|
+
content,
|
|
164
|
+
concepts,
|
|
165
|
+
created_at: new Date().toISOString(),
|
|
166
|
+
idempotency_key: randomUUID(),
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
// 1. Read package.json for project metadata
|
|
170
|
+
try {
|
|
171
|
+
const pkgPath = join(repoRoot, 'package.json');
|
|
172
|
+
if (existsSync(pkgPath)) {
|
|
173
|
+
const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
|
|
174
|
+
const parts = [];
|
|
175
|
+
if (pkg.name)
|
|
176
|
+
parts.push(`Project: ${pkg.name}`);
|
|
177
|
+
if (pkg.description)
|
|
178
|
+
parts.push(`Description: ${pkg.description}`);
|
|
179
|
+
if (pkg.scripts)
|
|
180
|
+
parts.push(`Scripts: ${Object.keys(pkg.scripts).join(', ')}`);
|
|
181
|
+
const deps = [
|
|
182
|
+
...Object.keys(pkg.dependencies ?? {}),
|
|
183
|
+
...Object.keys(pkg.devDependencies ?? {}),
|
|
184
|
+
];
|
|
185
|
+
if (deps.length > 0) {
|
|
186
|
+
const notable = deps.filter(d => !d.startsWith('@types/')).slice(0, 15);
|
|
187
|
+
parts.push(`Key dependencies: ${notable.join(', ')}`);
|
|
188
|
+
}
|
|
189
|
+
if (parts.length > 0) {
|
|
190
|
+
addEvent('observation', `Project setup detected:\n${parts.join('\n')}`, ['setup', 'dependencies', pkg.name].filter(Boolean));
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
catch { }
|
|
195
|
+
// 2. Read recent git history
|
|
196
|
+
try {
|
|
197
|
+
const gitLog = execFileSync('git', ['log', '--oneline', '-15', '--no-merges'], {
|
|
198
|
+
cwd: repoRoot, encoding: 'utf-8', timeout: 5000,
|
|
199
|
+
}).trim();
|
|
200
|
+
if (gitLog) {
|
|
201
|
+
addEvent('observation', `Recent git history:\n${gitLog}`, ['git', 'history']);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
catch { }
|
|
205
|
+
// 3. Detect project structure conventions
|
|
206
|
+
try {
|
|
207
|
+
const structure = [];
|
|
208
|
+
const dirs = ['src', 'app', 'apps', 'packages', 'lib', 'components', 'pages', 'api', 'tests', '__tests__', 'scripts'];
|
|
209
|
+
for (const dir of dirs) {
|
|
210
|
+
if (existsSync(join(repoRoot, dir)))
|
|
211
|
+
structure.push(dir);
|
|
212
|
+
}
|
|
213
|
+
const configFiles = [];
|
|
214
|
+
const configs = [
|
|
215
|
+
'tsconfig.json', '.eslintrc.json', '.prettierrc', 'next.config.js', 'next.config.ts',
|
|
216
|
+
'vite.config.ts', 'tailwind.config.ts', 'docker-compose.yml', 'Dockerfile',
|
|
217
|
+
'turbo.json', 'pnpm-workspace.yaml', 'lerna.json',
|
|
218
|
+
];
|
|
219
|
+
for (const cfg of configs) {
|
|
220
|
+
if (existsSync(join(repoRoot, cfg)))
|
|
221
|
+
configFiles.push(cfg);
|
|
222
|
+
}
|
|
223
|
+
if (structure.length > 0 || configFiles.length > 0) {
|
|
224
|
+
const parts = [];
|
|
225
|
+
if (structure.length > 0)
|
|
226
|
+
parts.push(`Directories: ${structure.join(', ')}`);
|
|
227
|
+
if (configFiles.length > 0)
|
|
228
|
+
parts.push(`Config files: ${configFiles.join(', ')}`);
|
|
229
|
+
addEvent('convention', `Project structure:\n${parts.join('\n')}`, ['structure', 'conventions']);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
catch { }
|
|
233
|
+
// 4. Check for existing conventions files
|
|
234
|
+
try {
|
|
235
|
+
const conventionFiles = ['.cursorrules', '.cursor/rules', 'CLAUDE.md', 'AGENTS.md', 'CONVENTIONS.md'];
|
|
236
|
+
const found = [];
|
|
237
|
+
for (const f of conventionFiles) {
|
|
238
|
+
if (existsSync(join(repoRoot, f)))
|
|
239
|
+
found.push(f);
|
|
240
|
+
}
|
|
241
|
+
if (found.length > 0) {
|
|
242
|
+
addEvent('observation', `Existing convention files found: ${found.join(', ')}`, ['conventions']);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
catch { }
|
|
246
|
+
if (events.length === 0)
|
|
247
|
+
return;
|
|
248
|
+
await client.ingestEvents(events);
|
|
249
|
+
log(` Seeded ${events.length} initial context events from repo`);
|
|
250
|
+
}
|
|
142
251
|
async function resolveProjectId(explicitProjectId, repoInfo, client) {
|
|
143
252
|
if (explicitProjectId)
|
|
144
253
|
return explicitProjectId;
|
|
@@ -335,6 +444,8 @@ async function setupClaude(configPath, repoRoot, clientId) {
|
|
|
335
444
|
mcpConfig.mcpServers = servers;
|
|
336
445
|
writeFileSync(mcpConfigPath, JSON.stringify(mcpConfig, null, 2));
|
|
337
446
|
console.log(` Claude Code project MCP config written to ${mcpConfigPath}`);
|
|
447
|
+
// Inject Memoire instructions into CLAUDE.md
|
|
448
|
+
injectAgentInstructions(repoRoot, 'CLAUDE.md');
|
|
338
449
|
const claudeDir = join(repoRoot, '.claude');
|
|
339
450
|
mkdirSync(claudeDir, { recursive: true });
|
|
340
451
|
const settingsPath = join(claudeDir, 'settings.local.json');
|
|
@@ -404,6 +515,10 @@ async function setupClaude(configPath, repoRoot, clientId) {
|
|
|
404
515
|
installSkillFile(repoRoot, '.claude');
|
|
405
516
|
}
|
|
406
517
|
async function setupCodex(configPath, homeDir, clientId, run) {
|
|
518
|
+
// Inject Memoire instructions into AGENTS.md
|
|
519
|
+
const cwd = process.cwd();
|
|
520
|
+
const repoRoot = tryGit(cwd, ['rev-parse', '--show-toplevel']) ?? cwd;
|
|
521
|
+
injectAgentInstructions(repoRoot, 'AGENTS.md');
|
|
407
522
|
try {
|
|
408
523
|
run('codex', ['mcp', 'remove', 'memoire']);
|
|
409
524
|
}
|
|
@@ -474,6 +589,58 @@ function installSkillFile(repoRoot, clientDir) {
|
|
|
474
589
|
writeFileSync(destPath, content);
|
|
475
590
|
console.log(` Agent skill installed to ${clientDir}/skills/use-memoire/SKILL.md`);
|
|
476
591
|
}
|
|
592
|
+
const MEMOIRE_INSTRUCTIONS_MARKER = '<!-- memoire-managed -->';
|
|
593
|
+
const MEMOIRE_AGENT_INSTRUCTIONS = `
|
|
594
|
+
${MEMOIRE_INSTRUCTIONS_MARKER}
|
|
595
|
+
## Memoire — Transparent Context Layer
|
|
596
|
+
|
|
597
|
+
This project has Memoire wired in. It provides shared memory across all AI agents and teammates.
|
|
598
|
+
|
|
599
|
+
### Before planning or implementing — always search first:
|
|
600
|
+
\`\`\`
|
|
601
|
+
search_context(query: "<what you're about to work on>")
|
|
602
|
+
\`\`\`
|
|
603
|
+
This surfaces past decisions, failed attempts, and conventions. Skip this and you risk repeating known mistakes.
|
|
604
|
+
|
|
605
|
+
### Use native tools for code, Memoire for context:
|
|
606
|
+
- **Find code**: grep, glob, read (native)
|
|
607
|
+
- **Why was this done? What changed? What failed?**: \`search_context\`
|
|
608
|
+
- **Project architecture & conventions**: \`project_profile\`
|
|
609
|
+
- **GitHub code patterns**: \`memoire_code_search\`
|
|
610
|
+
- **Library docs**: \`search_docs\` (after \`index_docs\`)
|
|
611
|
+
|
|
612
|
+
### Record decisions and failures automatically:
|
|
613
|
+
When you make an architectural choice, hit a failure, or establish a pattern — record it without being asked:
|
|
614
|
+
\`\`\`
|
|
615
|
+
write_event(event_type: "decision", content: "Why: ...")
|
|
616
|
+
write_event(event_type: "attempt", content: "Tried X, failed because: ...")
|
|
617
|
+
write_event(event_type: "convention", content: "All routes must: ...")
|
|
618
|
+
\`\`\`
|
|
619
|
+
${MEMOIRE_INSTRUCTIONS_MARKER}
|
|
620
|
+
`.trim();
|
|
621
|
+
/** Inject Memoire instructions into an agent instructions file (CLAUDE.md, AGENTS.md, etc.) */
|
|
622
|
+
function injectAgentInstructions(repoRoot, filename) {
|
|
623
|
+
const filePath = join(repoRoot, filename);
|
|
624
|
+
let content = '';
|
|
625
|
+
if (existsSync(filePath)) {
|
|
626
|
+
content = readFileSync(filePath, 'utf-8');
|
|
627
|
+
}
|
|
628
|
+
// Already injected — update in place
|
|
629
|
+
if (content.includes(MEMOIRE_INSTRUCTIONS_MARKER)) {
|
|
630
|
+
const regex = new RegExp(`${escapeRegex(MEMOIRE_INSTRUCTIONS_MARKER)}[\\s\\S]*?${escapeRegex(MEMOIRE_INSTRUCTIONS_MARKER)}`, 'm');
|
|
631
|
+
content = content.replace(regex, MEMOIRE_AGENT_INSTRUCTIONS);
|
|
632
|
+
writeFileSync(filePath, content);
|
|
633
|
+
console.log(` Updated Memoire instructions in ${filename}`);
|
|
634
|
+
return;
|
|
635
|
+
}
|
|
636
|
+
// Append to end
|
|
637
|
+
const separator = content.trim() ? '\n\n' : '';
|
|
638
|
+
writeFileSync(filePath, `${content.trimEnd()}${separator}${MEMOIRE_AGENT_INSTRUCTIONS}\n`);
|
|
639
|
+
console.log(` Added Memoire instructions to ${filename}`);
|
|
640
|
+
}
|
|
641
|
+
function escapeRegex(str) {
|
|
642
|
+
return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
643
|
+
}
|
|
477
644
|
function createManagedMcpServerConfig(configPath, client, clientId) {
|
|
478
645
|
return {
|
|
479
646
|
command: 'npx',
|
package/dist/configure.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configure.js","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"configure.js","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,oBAAoB,CAAC;AAItE,KAAK,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;AAY9C,MAAM,MAAM,eAAe,GACvB,sBAAsB,GACtB,kBAAkB,GAClB,oBAAoB,GACpB,wBAAwB,GACxB,aAAa,GACb,sBAAsB,GACtB,oBAAoB,GACpB,sBAAsB,GACtB,aAAa,CAAC;AAElB,KAAK,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AAErD,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,eAAe;IACvB,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,aAAa,CAAC;IACpD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC;IACxE,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/G,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACpD;
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,oBAAoB,CAAC;AAItE,KAAK,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;AAY9C,MAAM,MAAM,eAAe,GACvB,sBAAsB,GACtB,kBAAkB,GAClB,oBAAoB,GACpB,wBAAwB,GACxB,aAAa,GACb,sBAAsB,GACtB,oBAAoB,GACpB,sBAAsB,GACtB,aAAa,CAAC;AAElB,KAAK,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AAErD,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,eAAe;IACvB,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,aAAa,CAAC;IACpD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC;IACxE,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/G,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACpD;AA+MD,wBAAsB,cAAc,CAClC,OAAO,EAAE,kBAAkB,EAC3B,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,IAAI,CAAC,CAiLf"}
|
package/dist/hooks.js
CHANGED
|
@@ -81,23 +81,60 @@ function cleanupSessionFiles(sessionId) {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
// ── Tool-use classification ──────────────────────────────────────────────
|
|
84
|
+
/** Read-only tools that almost never need to be stored. */
|
|
85
|
+
const READ_ONLY_TOOLS = new Set([
|
|
86
|
+
'read', 'read_file', 'cat', 'head', 'tail',
|
|
87
|
+
'grep', 'ripgrep', 'search', 'code_search',
|
|
88
|
+
'glob', 'find', 'list_files', 'ls',
|
|
89
|
+
'git_status', 'git_log', 'git_diff', 'git_show',
|
|
90
|
+
'web_search', 'web_fetch', 'fetch_url', 'browser',
|
|
91
|
+
'agent', 'sub_agent',
|
|
92
|
+
]);
|
|
93
|
+
/** Commands that are read-only (no side effects). */
|
|
94
|
+
const READ_ONLY_COMMAND_PATTERNS = /^\s*(git\s+(status|log|diff|show|branch|remote|rev-parse|describe)|ls|pwd|cat|head|tail|echo|which|type|file|wc|find|grep|rg|ag|tree|env|printenv|node\s+-e|python\s+-c.*print)\b/;
|
|
95
|
+
function isReadOnlyTool(context) {
|
|
96
|
+
if (!context?.toolName)
|
|
97
|
+
return false;
|
|
98
|
+
return READ_ONLY_TOOLS.has(context.toolName.toLowerCase());
|
|
99
|
+
}
|
|
100
|
+
function isReadOnlyShellCommand(content) {
|
|
101
|
+
// Extract command from content like "Ran `git status`"
|
|
102
|
+
const match = content.match(/^Ran `(.+?)`/);
|
|
103
|
+
if (!match)
|
|
104
|
+
return false;
|
|
105
|
+
return READ_ONLY_COMMAND_PATTERNS.test(match[1]);
|
|
106
|
+
}
|
|
84
107
|
function isImportantObservation(content, context) {
|
|
108
|
+
// Errors are always important
|
|
109
|
+
if (context?.status === 'error')
|
|
110
|
+
return true;
|
|
111
|
+
// Read-only operations are never important (they don't change anything)
|
|
112
|
+
if (isReadOnlyTool(context))
|
|
113
|
+
return false;
|
|
114
|
+
if (isReadOnlyShellCommand(content))
|
|
115
|
+
return false;
|
|
85
116
|
const text = content.toLowerCase();
|
|
86
|
-
// Reverts, rollbacks, breakages, migrations
|
|
87
|
-
if (/\b(revert|rollback|broke|migration|migrate|
|
|
117
|
+
// Reverts, rollbacks, breakages, migrations, deployments
|
|
118
|
+
if (/\b(revert|rollback|broke|migration|migrate|deploy|deployed)\b/.test(text))
|
|
88
119
|
return true;
|
|
89
|
-
//
|
|
90
|
-
const sigFiles = context?.modified?.some((f) => /\b(
|
|
120
|
+
// Edits to significant files (schema, config, infra)
|
|
121
|
+
const sigFiles = context?.modified?.some((f) => /\b(schema|deploy|migration|docker|\.env|package\.json|tsconfig|Dockerfile)\b/i.test(f));
|
|
91
122
|
if (sigFiles)
|
|
92
123
|
return true;
|
|
93
|
-
//
|
|
94
|
-
if (content
|
|
95
|
-
return true;
|
|
96
|
-
// Errors
|
|
97
|
-
if (context?.status === 'error')
|
|
124
|
+
// State-changing shell commands that matter
|
|
125
|
+
if (isSignificantShellCommand(content))
|
|
98
126
|
return true;
|
|
127
|
+
// Everything else (routine file edits, writes, tool calls) → buffer locally, not cloud
|
|
99
128
|
return false;
|
|
100
129
|
}
|
|
130
|
+
/** Shell commands that actually change project state and are worth recording. */
|
|
131
|
+
function isSignificantShellCommand(content) {
|
|
132
|
+
const match = content.match(/^Ran `(.+?)`/);
|
|
133
|
+
if (!match)
|
|
134
|
+
return false;
|
|
135
|
+
const cmd = match[1];
|
|
136
|
+
return /^\s*(git\s+(commit|push|merge|rebase|cherry-pick|reset|checkout\s+-b)|npm\s+(install|publish|link)|pnpm\s+(install|publish|add|remove)|yarn\s+(install|add|remove)|docker\s+(build|push|compose)|make\s|terraform\s|kubectl\s|helm\s)/i.test(cmd);
|
|
137
|
+
}
|
|
101
138
|
// ── Git helpers ──────────────────────────────────────────────────────────
|
|
102
139
|
function getGitDiffStat(cwd) {
|
|
103
140
|
try {
|
|
@@ -507,30 +544,125 @@ function buildToolContext(toolName, payload, branchName) {
|
|
|
507
544
|
};
|
|
508
545
|
}
|
|
509
546
|
function buildMcpObservation(toolName, payload) {
|
|
510
|
-
const toolInput =
|
|
511
|
-
const
|
|
512
|
-
return summarizeText(
|
|
547
|
+
const toolInput = parseUnknownJson(payload.tool_input) ?? payload.tool_input;
|
|
548
|
+
const inputObj = isRecord(toolInput) ? toolInput : {};
|
|
549
|
+
return summarizeText(describeToolAction(toolName, inputObj), 800);
|
|
513
550
|
}
|
|
514
551
|
function buildClaudeObservation(toolName, payload) {
|
|
515
|
-
const toolInput =
|
|
516
|
-
const
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
?? payload.tool_response);
|
|
521
|
-
return summarizeText(`${toolName} input: ${toolInput}. Output: ${toolOutput}`, 800);
|
|
552
|
+
const toolInput = parseUnknownJson(payload.tool_input) ?? payload.tool_input;
|
|
553
|
+
const inputObj = isRecord(toolInput) ? toolInput : {};
|
|
554
|
+
const errorOutput = extractErrorFromOutput(payload);
|
|
555
|
+
const desc = describeToolAction(toolName, inputObj);
|
|
556
|
+
return summarizeText(errorOutput ? `${desc} — Error: ${errorOutput}` : desc, 800);
|
|
522
557
|
}
|
|
523
558
|
function buildShellObservation(payload) {
|
|
524
559
|
const command = asString(payload.command) ?? 'shell command';
|
|
525
|
-
const
|
|
526
|
-
|
|
560
|
+
const exitCode = payload.exit_code ?? payload.exitCode;
|
|
561
|
+
const failed = exitCode !== undefined && exitCode !== 0;
|
|
562
|
+
const shortCmd = command.length > 200 ? `${command.slice(0, 197)}...` : command;
|
|
563
|
+
if (failed) {
|
|
564
|
+
const errOutput = summarizeText(asString(payload.output) ?? asString(payload.stderr) ?? '', 300);
|
|
565
|
+
return errOutput ? `Ran \`${shortCmd}\` — failed: ${errOutput}` : `Ran \`${shortCmd}\` — failed (exit ${exitCode})`;
|
|
566
|
+
}
|
|
567
|
+
return `Ran \`${shortCmd}\``;
|
|
527
568
|
}
|
|
528
569
|
function buildFileEditObservation(payload) {
|
|
529
570
|
const filePath = asString(payload.file_path) ?? 'unknown file';
|
|
571
|
+
const shortFile = shortenPath(filePath);
|
|
530
572
|
const edits = Array.isArray(payload.edits) ? payload.edits.length : 0;
|
|
531
573
|
return edits > 0
|
|
532
|
-
? `Edited ${
|
|
533
|
-
: `Edited ${
|
|
574
|
+
? `Edited ${shortFile} (${edits} change${edits === 1 ? '' : 's'})`
|
|
575
|
+
: `Edited ${shortFile}`;
|
|
576
|
+
}
|
|
577
|
+
/** Produce a clean human-readable description of a tool action from its name + input params. */
|
|
578
|
+
function describeToolAction(toolName, input) {
|
|
579
|
+
const name = toolName.toLowerCase();
|
|
580
|
+
const filePath = asString(input.file_path) ?? asString(input.filePath) ?? asString(input.path) ?? asString(input.target_file);
|
|
581
|
+
const shortFile = filePath ? shortenPath(filePath) : undefined;
|
|
582
|
+
// Shell / Bash
|
|
583
|
+
if (name === 'bash' || name === 'shell' || name === 'terminal' || name === 'run_command') {
|
|
584
|
+
const cmd = asString(input.command) ?? asString(input.cmd);
|
|
585
|
+
if (cmd) {
|
|
586
|
+
const shortCmd = cmd.length > 200 ? `${cmd.slice(0, 197)}...` : cmd;
|
|
587
|
+
return `Ran \`${shortCmd}\``;
|
|
588
|
+
}
|
|
589
|
+
return `Ran shell command`;
|
|
590
|
+
}
|
|
591
|
+
// Read / cat
|
|
592
|
+
if (name === 'read' || name === 'read_file' || name === 'cat') {
|
|
593
|
+
return shortFile ? `Read ${shortFile}` : 'Read a file';
|
|
594
|
+
}
|
|
595
|
+
// Edit
|
|
596
|
+
if (name === 'edit' || name === 'file_edit' || name === 'apply_diff' || name === 'str_replace_editor') {
|
|
597
|
+
return shortFile ? `Edited ${shortFile}` : 'Edited a file';
|
|
598
|
+
}
|
|
599
|
+
// Write / create
|
|
600
|
+
if (name === 'write' || name === 'write_file' || name === 'create_file') {
|
|
601
|
+
return shortFile ? `Wrote ${shortFile}` : 'Wrote a file';
|
|
602
|
+
}
|
|
603
|
+
// Grep / search
|
|
604
|
+
if (name === 'grep' || name === 'search' || name === 'ripgrep' || name === 'code_search') {
|
|
605
|
+
const pattern = asString(input.pattern) ?? asString(input.query) ?? asString(input.regex);
|
|
606
|
+
const searchPath = shortFile ?? asString(input.directory);
|
|
607
|
+
if (pattern && searchPath)
|
|
608
|
+
return `Searched for "${pattern}" in ${searchPath}`;
|
|
609
|
+
if (pattern)
|
|
610
|
+
return `Searched for "${pattern}"`;
|
|
611
|
+
return 'Searched code';
|
|
612
|
+
}
|
|
613
|
+
// Glob / find
|
|
614
|
+
if (name === 'glob' || name === 'find' || name === 'list_files') {
|
|
615
|
+
const pattern = asString(input.pattern) ?? asString(input.glob);
|
|
616
|
+
return pattern ? `Found files matching "${pattern}"` : 'Listed files';
|
|
617
|
+
}
|
|
618
|
+
// Git
|
|
619
|
+
if (name === 'git') {
|
|
620
|
+
const args = asString(input.args) ?? asString(input.command);
|
|
621
|
+
return args ? `Ran git ${args.slice(0, 100)}` : 'Ran git command';
|
|
622
|
+
}
|
|
623
|
+
// Agent / subprocess
|
|
624
|
+
if (name === 'agent' || name === 'sub_agent') {
|
|
625
|
+
const desc = asString(input.description) ?? asString(input.prompt);
|
|
626
|
+
return desc ? `Spawned agent: ${desc.slice(0, 150)}` : 'Spawned sub-agent';
|
|
627
|
+
}
|
|
628
|
+
// Web fetch / browse
|
|
629
|
+
if (name === 'web_fetch' || name === 'fetch_url' || name === 'browser' || name === 'web_search') {
|
|
630
|
+
const url = asString(input.url) ?? asString(input.query);
|
|
631
|
+
return url ? `Fetched ${url.slice(0, 150)}` : 'Fetched web content';
|
|
632
|
+
}
|
|
633
|
+
// Notebook
|
|
634
|
+
if (name === 'notebook_edit' || name === 'notebook') {
|
|
635
|
+
return shortFile ? `Edited notebook ${shortFile}` : 'Edited notebook';
|
|
636
|
+
}
|
|
637
|
+
// Fallback: extract the most descriptive parameter
|
|
638
|
+
const descParam = asString(input.description) ?? asString(input.query) ?? asString(input.prompt) ?? asString(input.command);
|
|
639
|
+
if (descParam) {
|
|
640
|
+
return `Used ${toolName}: ${descParam.slice(0, 200)}`;
|
|
641
|
+
}
|
|
642
|
+
if (shortFile) {
|
|
643
|
+
return `Used ${toolName} on ${shortFile}`;
|
|
644
|
+
}
|
|
645
|
+
return `Used ${toolName}`;
|
|
646
|
+
}
|
|
647
|
+
/** Extract error message from tool output payload if present. */
|
|
648
|
+
function extractErrorFromOutput(payload) {
|
|
649
|
+
const output = parseUnknownJson(payload.tool_output) ?? parseUnknownJson(payload.tool_response) ?? parseUnknownJson(payload.result_json);
|
|
650
|
+
if (isRecord(output)) {
|
|
651
|
+
const err = asString(output.error) ?? asString(output.stderr);
|
|
652
|
+
if (err)
|
|
653
|
+
return err.slice(0, 300);
|
|
654
|
+
}
|
|
655
|
+
const directErr = asString(payload.error) ?? asString(payload.stderr);
|
|
656
|
+
if (directErr)
|
|
657
|
+
return directErr.slice(0, 300);
|
|
658
|
+
return undefined;
|
|
659
|
+
}
|
|
660
|
+
/** Shorten a file path to the last 3 segments for readability. */
|
|
661
|
+
function shortenPath(filePath) {
|
|
662
|
+
const parts = filePath.split('/').filter(Boolean);
|
|
663
|
+
if (parts.length <= 3)
|
|
664
|
+
return filePath;
|
|
665
|
+
return `.../${parts.slice(-3).join('/')}`;
|
|
534
666
|
}
|
|
535
667
|
function inferReadFiles(toolName, payload, toolInput) {
|
|
536
668
|
const files = collectFiles(payload, toolInput);
|
package/dist/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "memoire-ai",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Memoire CLI for installing and querying shared AI coding context",
|
|
6
6
|
"license": "AGPL-3.0",
|
|
@@ -40,12 +40,12 @@
|
|
|
40
40
|
"@clack/prompts": "^1.1.0",
|
|
41
41
|
"yaml": "^2.8.1",
|
|
42
42
|
"@memoire-ai/sdk": "0.1.5",
|
|
43
|
-
"@memoire-ai/shared": "0.1.
|
|
43
|
+
"@memoire-ai/shared": "0.1.8"
|
|
44
44
|
},
|
|
45
45
|
"optionalDependencies": {
|
|
46
|
-
"@memoire-ai/
|
|
47
|
-
"@memoire-ai/
|
|
48
|
-
"@memoire-ai/
|
|
46
|
+
"@memoire-ai/mcp-runtime": "0.2.5",
|
|
47
|
+
"@memoire-ai/dashboard": "0.1.0",
|
|
48
|
+
"@memoire-ai/collector": "0.4.7"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@types/node": "^20.0.0",
|
|
@@ -1,50 +1,49 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: use-memoire
|
|
3
|
-
description:
|
|
4
|
-
activation:
|
|
3
|
+
description: Transparent project memory layer — automatically enriches planning, research, and coding with shared team context
|
|
4
|
+
activation: Always active. Memoire tools integrate into your normal workflow without extra steps.
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
#
|
|
7
|
+
# Memoire — Transparent Context Layer
|
|
8
8
|
|
|
9
|
-
Memoire
|
|
9
|
+
Memoire is a shared memory layer across all AI agents on this project. It runs in the background — you don't need to "decide" to use it. It's already part of how you work.
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## How It Works
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
- Made a decision — record it so teammates and future agents know
|
|
15
|
-
- Something failed — record it so nobody repeats the mistake
|
|
16
|
-
- Finishing work — save a handoff for the next person or agent
|
|
17
|
-
- Need library docs — index and search documentation locally
|
|
13
|
+
Memoire captures decisions, conventions, failed attempts, and session summaries from every agent session. This context is searchable and shared across Cursor, Claude Code, and Codex.
|
|
18
14
|
|
|
19
|
-
|
|
15
|
+
**You don't tell agents to "use Memoire." It's wired into the workflow:**
|
|
20
16
|
|
|
21
|
-
###
|
|
17
|
+
### When entering plan mode or starting a task
|
|
22
18
|
|
|
23
|
-
|
|
19
|
+
Before writing any plan or implementation strategy, pull existing context:
|
|
24
20
|
|
|
25
21
|
```
|
|
26
|
-
search_context(query: "
|
|
22
|
+
search_context(query: "<what you're about to work on>")
|
|
27
23
|
```
|
|
28
24
|
|
|
29
|
-
If
|
|
25
|
+
This returns past decisions, conventions, and failed attempts relevant to your task. If someone already tried your approach and it broke — you'll see it here.
|
|
26
|
+
|
|
27
|
+
For broad project orientation:
|
|
30
28
|
```
|
|
31
29
|
project_profile()
|
|
32
30
|
```
|
|
33
31
|
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
get_project_knowledge()
|
|
37
|
-
```
|
|
32
|
+
### When researching code or architecture
|
|
38
33
|
|
|
39
|
-
|
|
34
|
+
Use Memoire's search tools alongside native tools:
|
|
40
35
|
|
|
41
|
-
|
|
36
|
+
- **Project history** (why was this done? what changed?): `search_context(query: "...")`
|
|
37
|
+
- **Public GitHub code patterns**: `memoire_code_search(query: "...", repo: "org/repo")`
|
|
38
|
+
- **Library documentation**: `search_docs(query: "...")` (after `index_docs` for the library)
|
|
39
|
+
- **Any web page as clean text**: `fetch_url(url: "...")`
|
|
40
|
+
- **Consolidated project knowledge**: `get_project_knowledge()`
|
|
42
41
|
|
|
43
|
-
|
|
44
|
-
- Avoid approaches that already failed
|
|
45
|
-
- Build on existing architectural decisions
|
|
42
|
+
Use native grep/glob/read for finding specific code in the current codebase. Use Memoire for *why* questions, *history* questions, and *cross-session* context.
|
|
46
43
|
|
|
47
|
-
###
|
|
44
|
+
### When you make a decision or discover something
|
|
45
|
+
|
|
46
|
+
Record it. This is automatic — you don't need to be asked:
|
|
48
47
|
|
|
49
48
|
```
|
|
50
49
|
write_event(
|
|
@@ -55,70 +54,36 @@ write_event(
|
|
|
55
54
|
)
|
|
56
55
|
```
|
|
57
56
|
|
|
58
|
-
|
|
59
|
-
- `decision` —
|
|
60
|
-
- `
|
|
61
|
-
- `
|
|
62
|
-
- `observation` — notable
|
|
63
|
-
- `branch_event` — git branch lifecycle
|
|
64
|
-
|
|
65
|
-
### 4. Reflect periodically
|
|
57
|
+
**What to record:**
|
|
58
|
+
- `decision` — You chose one approach over another. Record *why*.
|
|
59
|
+
- `attempt` — Something failed or was abandoned. **This is the most valuable type** — it prevents teammates from repeating the same mistake.
|
|
60
|
+
- `convention` — A pattern or rule that should be followed going forward.
|
|
61
|
+
- `observation` — Something notable you discovered about the codebase.
|
|
66
62
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
1. **Decisions made** — record architectural or technology choices via `write_event(event_type: "decision")`
|
|
70
|
-
2. **Failed approaches** — record what broke or was abandoned via `write_event(event_type: "attempt")`
|
|
71
|
-
3. **Conventions established** — record team standards via `write_event(event_type: "convention")`
|
|
72
|
-
4. **User corrections** — if the user corrected your approach, that's high-value memory
|
|
73
|
-
5. **Verify alignment** — check `search_context("conventions")` to make sure you're following existing standards
|
|
74
|
-
|
|
75
|
-
This is the highest-value memory activity. Don't skip it.
|
|
76
|
-
|
|
77
|
-
### 5. Hand off context (optional)
|
|
63
|
+
### When handing off or finishing
|
|
78
64
|
|
|
79
65
|
```
|
|
80
66
|
save_handoff(query: "auth refactor", title: "Auth migration status")
|
|
81
67
|
```
|
|
82
68
|
|
|
83
|
-
##
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
|
88
|
-
|
|
89
|
-
| `
|
|
90
|
-
| `write_event` |
|
|
91
|
-
| `
|
|
92
|
-
| `
|
|
93
|
-
| `
|
|
94
|
-
| `
|
|
95
|
-
| `
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
| `search_docs` | Search locally indexed documentation |
|
|
105
|
-
| `list_docs` | List all indexed doc sources |
|
|
106
|
-
| `remove_docs` | Remove an indexed doc source |
|
|
107
|
-
| `fetch_url` | Fetch any URL as clean text |
|
|
108
|
-
|
|
109
|
-
### Code Search
|
|
110
|
-
|
|
111
|
-
| Tool | What it does |
|
|
112
|
-
|------|-------------|
|
|
113
|
-
| `memoire_code_search` | Search public GitHub repos for code patterns. Tries grep.app first, falls back to GitHub CLI. |
|
|
114
|
-
|
|
115
|
-
## Tips
|
|
116
|
-
|
|
117
|
-
- Always search before implementing — someone may have already solved your problem
|
|
118
|
-
- Record the **why** behind decisions, not just the what
|
|
119
|
-
- Use `attempt` for failed approaches — prevents teammates from repeating mistakes
|
|
120
|
-
- Include `files_modified` and `concepts` for better future search recall
|
|
121
|
-
- Use `index_docs` to index library docs before asking questions about them
|
|
122
|
-
- Reflect every ~25 turns: review what you've learned and record it
|
|
123
|
-
- Use `read_only: true` for critical conventions that shouldn't be modified or superseded
|
|
124
|
-
- If the user corrects you, always record the correction — it's the most valuable kind of memory
|
|
69
|
+
## Tool Reference
|
|
70
|
+
|
|
71
|
+
| Tool | When to use |
|
|
72
|
+
|------|------------|
|
|
73
|
+
| `search_context` | Before planning. Before implementing. When asked "why" or "what happened." |
|
|
74
|
+
| `project_profile` | Starting a new task. Need project architecture overview. |
|
|
75
|
+
| `get_project_knowledge` | Need consolidated decisions, conventions, and architecture. |
|
|
76
|
+
| `write_event` | After making a decision, hitting a failure, or establishing a convention. |
|
|
77
|
+
| `memoire_code_search` | Need to see how other projects implement something on GitHub. |
|
|
78
|
+
| `search_docs` | Querying indexed library documentation. |
|
|
79
|
+
| `index_docs` | First time working with a library — index its docs for future search. |
|
|
80
|
+
| `fetch_url` | Need to read any web page as clean text. |
|
|
81
|
+
| `save_handoff` / `get_handoff` | Passing context to a teammate or picking up where someone left off. |
|
|
82
|
+
|
|
83
|
+
## Key Behaviors
|
|
84
|
+
|
|
85
|
+
- **Search before you plan.** Always check `search_context` before writing implementation plans.
|
|
86
|
+
- **Record failures.** Failed attempts are more valuable than successes — they save future agents from wasting time.
|
|
87
|
+
- **Record the why, not the what.** "Switched to Postgres" is useless. "Switched to Postgres because Redis cold starts added 3s to auth flow" is valuable.
|
|
88
|
+
- **Include `files_modified` and `concepts`.** These make future searches more accurate.
|
|
89
|
+
- **Every ~25 turns, reflect.** Review what you've learned and record decisions, corrections, and conventions.
|