claude-mem 2.0.2 → 2.0.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.
- package/README.md +5 -6
- package/claude-mem +0 -0
- package/hooks/pre-compact.js +2 -3
- package/hooks/session-start.js +10 -15
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
# Claude Memory System
|
|
1
|
+
# Claude Memory System (claude-mem)
|
|
2
2
|
|
|
3
3
|
**Truth + Context = Clarity**
|
|
4
4
|
|
|
5
|
-
|
|
6
5
|
A professional CLI tool that transforms Claude Code conversation transcripts into a persistent, searchable knowledge graph. Never lose valuable context from your AI-assisted development sessions again.
|
|
7
6
|
|
|
8
7
|
## What is Claude-Mem?
|
|
@@ -66,14 +65,14 @@ Your compressed memories are stored in:
|
|
|
66
65
|
- `~/.claude-mem/archives/` - Original transcripts
|
|
67
66
|
- `~/.claude-mem/hooks/` - Integration scripts
|
|
68
67
|
|
|
69
|
-
## Feedback
|
|
70
|
-
|
|
71
|
-
Please report issues or feedback at: https://github.com/thedotmack/claude-mem/issues
|
|
72
|
-
|
|
73
68
|
## License
|
|
74
69
|
|
|
75
70
|
This software is free to use but is NOT open source. See LICENSE file for details.
|
|
76
71
|
|
|
72
|
+
## Support
|
|
73
|
+
|
|
74
|
+
For issues or questions, visit: https://github.com/thedotmack/claude-mem/issues
|
|
75
|
+
|
|
77
76
|
---
|
|
78
77
|
|
|
79
78
|
*Built with ❤️ for the Claude Code community*
|
package/claude-mem
CHANGED
|
Binary file
|
package/hooks/pre-compact.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* 🔒 LOCKED by @docs-agent | Change to 🔑 to allow @docs-agent edits
|
|
5
5
|
*
|
|
6
6
|
* OFFICIAL DOCS: Claude Code Hooks API v2025
|
|
7
7
|
* Last Verified: 2025-08-31
|
|
@@ -109,8 +109,7 @@ async function preCompactHook() {
|
|
|
109
109
|
// @docs-ref: PreCompact hooks should only use continue field for success
|
|
110
110
|
console.log(JSON.stringify({
|
|
111
111
|
continue: true,
|
|
112
|
-
suppressOutput: true
|
|
113
|
-
systemMessage: "Memory compression completed successfully"
|
|
112
|
+
suppressOutput: true
|
|
114
113
|
}));
|
|
115
114
|
process.exit(0);
|
|
116
115
|
}
|
package/hooks/session-start.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* 🔒 LOCKED by @docs-agent | Change to 🔑 to allow @docs-agent edits
|
|
5
5
|
*
|
|
6
6
|
* OFFICIAL DOCS: Claude Code SessionStart Hook v2025
|
|
7
7
|
* Last Verified: 2025-08-31
|
|
@@ -68,28 +68,23 @@ async function sessionStartHook() {
|
|
|
68
68
|
const data = JSON.parse(input);
|
|
69
69
|
|
|
70
70
|
/**
|
|
71
|
-
* @docs-ref: SessionStart payload includes 'source' field
|
|
71
|
+
* @docs-ref: SessionStart payload includes 'source' field
|
|
72
72
|
* See: https://docs.anthropic.com/en/docs/claude-code/hooks#sessionstart
|
|
73
73
|
*
|
|
74
74
|
* The 'source' field indicates the session start context:
|
|
75
75
|
* - 'startup': New session (load context)
|
|
76
|
-
* - 'compact': Session after compaction (
|
|
76
|
+
* - 'compact': Session after compaction (SHOULD load context)
|
|
77
77
|
* - 'vscode': VS Code initiated session
|
|
78
78
|
* - 'web': Web interface initiated session
|
|
79
79
|
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
80
|
+
* IMPORTANT: We always load context regardless of source.
|
|
81
|
+
* After compaction, users expect to see their compressed memories loaded.
|
|
82
|
+
* The session after compact is effectively a new session with compressed context.
|
|
83
|
+
*
|
|
84
|
+
* There is no specific indicator for /continue command in the payload,
|
|
85
|
+
* so we treat all session starts equally and load available context.
|
|
84
86
|
*/
|
|
85
|
-
|
|
86
|
-
// @docs-ref: For compact source, skip loading context as session is continuing
|
|
87
|
-
console.log(JSON.stringify({
|
|
88
|
-
continue: true
|
|
89
|
-
// No additional context needed for compact continuation
|
|
90
|
-
}));
|
|
91
|
-
process.exit(0);
|
|
92
|
-
}
|
|
87
|
+
// Always proceed to load context for all session types
|
|
93
88
|
|
|
94
89
|
// Extract project name from transcript path if available
|
|
95
90
|
let projectName = null;
|