Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f0c3bf18b0 | |||
| 3eaae66bc4 | |||
| 27d1cd405f | |||
| 267965a065 | |||
| 181aca0215 | |||
| b6eef0145f | |||
| a1bc421fea |
@@ -0,0 +1,35 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||||
|
|
||||||
|
|
||||||
|
## [3.6.2] - 2025-09-10
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Visual feedback to changelog command showing current version, next version, and number of overviews being processed
|
||||||
|
- Generate changelog for specific versions using `--generate` flag with npm publish time boundaries
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Changelog regeneration automatically removes old entries from JSONL file when using `--generate` or `--historical` flags
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Changelog command now uses npm publish timestamps exclusively for accurate version time ranges
|
||||||
|
- Resolved timestamp filtering issues with Chroma database by leveraging semantic search with embedded dates
|
||||||
|
|
||||||
|
|
||||||
|
## [3.6.1] - 2025-09-10
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Refactored pre-compact hook to work independently without status line updates
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
- Removed status line integration and ccstatusline configuration support
|
||||||
|
|
||||||
|
|
||||||
|
## [3.5.5] - 2025-09-10
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Standardized GitHub release naming to lowercase 'claude-mem vX.X.X' format for consistent branding
|
||||||
|
|
||||||
@@ -18,6 +18,30 @@ That’s it. Restart Claude Code and you’re good. No config. No tedious setup
|
|||||||
- Starts new sessions with the right context
|
- Starts new sessions with the right context
|
||||||
- Works quietly in the background
|
- Works quietly in the background
|
||||||
- One-command install and status check
|
- One-command install and status check
|
||||||
|
- **🎭 Shakespeare's Memory Theatre**: Transform operations into theatrical magnificence!
|
||||||
|
|
||||||
|
## 🎭 NEW: Shakespeare's Memory Theatre
|
||||||
|
|
||||||
|
*"All the world's a stage, And all memory merely players"*
|
||||||
|
|
||||||
|
Experience claude-mem operations as a dramatic performance! Choose from five theatrical acts:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
claude-mem theatre # Full theatrical experience
|
||||||
|
claude-mem theatre --act I # Tragedy of Defensive Validation
|
||||||
|
claude-mem theatre --act II # Romeo and Chroma_Add
|
||||||
|
claude-mem compress-theatrical file # Compress with Shakespearean flair
|
||||||
|
claude-mem status-theatrical # Check status dramatically
|
||||||
|
```
|
||||||
|
|
||||||
|
**Interactive Features:**
|
||||||
|
- 🎪 Choose dialogue responses
|
||||||
|
- 🍅 Throw tomatoes at bad code
|
||||||
|
- 👏 Standing ovation meter
|
||||||
|
- 📜 Soliloquy generator
|
||||||
|
- 🎺 Trumpet fanfares
|
||||||
|
|
||||||
|
[📖 Full Shakespeare Theatre Documentation](docs/shakespeare-theatre.md)
|
||||||
|
|
||||||
## 🗑️ Smart Trash™ (Your Panic Button)
|
## 🗑️ Smart Trash™ (Your Panic Button)
|
||||||
|
|
||||||
@@ -45,6 +69,10 @@ claude-mem uninstall # Remove hooks
|
|||||||
# Extras
|
# Extras
|
||||||
claude-mem trash-view # See what’s in Smart Trash™
|
claude-mem trash-view # See what’s in Smart Trash™
|
||||||
claude-mem restore # Restore deleted items
|
claude-mem restore # Restore deleted items
|
||||||
|
# 🎭 Shakespeare's Memory Theatre Commands
|
||||||
|
claude-mem theatre # Experience memory operations dramatically
|
||||||
|
claude-mem compress-theatrical file.jsonl # Theatrical compression
|
||||||
|
claude-mem status-theatrical # Dramatic status check
|
||||||
```
|
```
|
||||||
|
|
||||||
## 📁 Where Stuff Lives (super simple)
|
## 📁 Where Stuff Lives (super simple)
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
argument-hint: help | save [message] | remember [context] | (no args for help)
|
||||||
|
description: Manage claude-mem operations and memory context
|
||||||
|
allowed-tools: Bash(claude-mem:*), Bash(echo:*), Bash(cat:*)
|
||||||
|
---
|
||||||
|
|
||||||
|
## Claude-Mem Command Handler
|
||||||
|
|
||||||
|
### Check for help command first
|
||||||
|
!`[ -z "$ARGUMENTS" ] || [ "$ARGUMENTS" = "help" ] && printf '%s\n' '## 🧠 Claude-Mem Help' '' '**Available Commands:**' '' '• /claude-mem save [message] - Quick save of conversation overview' '• /claude-mem remember [query] - Search saved memories' '• /claude-mem help - Show this help' '' '**Quick Shortcuts:**' '• /save - Direct save' '• /remember - Direct search' '' '**About /save:**' 'Quick way to save an overview to claude-mem without processing the' 'entire transcript. Use this when you dont need a detailed archive,' 'just a summary of key points and decisions.' '' '**Optional Features (configure during install):**' '• Compress on /clear: Archives full transcript when clearing (off by default)' '• Session start: Loads recent memories when starting Claude Code' '' 'For more details: claude-mem --help' && exit 0`
|
||||||
|
|
||||||
|
### Process other commands
|
||||||
|
Handle claude-mem operation: $ARGUMENTS
|
||||||
|
|
||||||
|
If $ARGUMENTS starts with "save":
|
||||||
|
- Write an overview of the current conversation context
|
||||||
|
- Add it to claude-mem using the chroma MCP tools
|
||||||
|
- Save the overview using: `claude-mem save "your overview message"`
|
||||||
|
|
||||||
|
If $ARGUMENTS starts with "remember":
|
||||||
|
- Search claude-mem for relevant memories using the query
|
||||||
|
- Display the most relevant memories from previous sessions
|
||||||
|
- Use chroma_query_documents to find and present context
|
||||||
Vendored
+426
-294
File diff suppressed because one or more lines are too long
@@ -17,10 +17,12 @@ import {
|
|||||||
debugLog
|
debugLog
|
||||||
} from './shared/hook-helpers.js';
|
} from './shared/hook-helpers.js';
|
||||||
|
|
||||||
// Set up stdin immediately before any async operations
|
|
||||||
|
// Set up stdin immediately
|
||||||
process.stdin.setEncoding('utf8');
|
process.stdin.setEncoding('utf8');
|
||||||
process.stdin.resume(); // Explicitly enter flowing mode to prevent data loss
|
process.stdin.resume(); // Explicitly enter flowing mode to prevent data loss
|
||||||
|
|
||||||
|
|
||||||
// Read input from stdin
|
// Read input from stdin
|
||||||
let input = '';
|
let input = '';
|
||||||
process.stdin.on('data', chunk => {
|
process.stdin.on('data', chunk => {
|
||||||
@@ -28,6 +30,7 @@ process.stdin.on('data', chunk => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
process.stdin.on('end', async () => {
|
process.stdin.on('end', async () => {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Load CLI command inside try-catch to handle config errors properly
|
// Load CLI command inside try-catch to handle config errors properly
|
||||||
const cliCommand = loadCliCommand();
|
const cliCommand = loadCliCommand();
|
||||||
|
|||||||
@@ -40,6 +40,14 @@ export function getLogsDir() {
|
|||||||
return process.env.CLAUDE_MEM_LOGS_DIR || join(getDataDir(), 'logs');
|
return process.env.CLAUDE_MEM_LOGS_DIR || join(getDataDir(), 'logs');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the compact flag file path
|
||||||
|
* @returns {string} Compact flag file path
|
||||||
|
*/
|
||||||
|
export function getCompactFlagPath() {
|
||||||
|
return join(getDataDir(), '.compact-running');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets all common paths used by hooks
|
* Gets all common paths used by hooks
|
||||||
* @returns {Object} Object containing all common paths
|
* @returns {Object} Object containing all common paths
|
||||||
@@ -49,6 +57,7 @@ export function getPaths() {
|
|||||||
dataDir: getDataDir(),
|
dataDir: getDataDir(),
|
||||||
settingsPath: getSettingsPath(),
|
settingsPath: getSettingsPath(),
|
||||||
archivesDir: getArchivesDir(),
|
archivesDir: getArchivesDir(),
|
||||||
logsDir: getLogsDir()
|
logsDir: getLogsDir(),
|
||||||
|
compactFlagPath: getCompactFlagPath()
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
+3
-2
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "claude-mem",
|
"name": "claude-mem",
|
||||||
"version": "3.5.6",
|
"version": "3.6.2",
|
||||||
"description": "Memory compression system for Claude Code - persist context across sessions",
|
"description": "Memory compression system for Claude Code - persist context across sessions",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"claude",
|
"claude",
|
||||||
@@ -52,6 +52,7 @@
|
|||||||
"dist",
|
"dist",
|
||||||
"hooks",
|
"hooks",
|
||||||
"commands",
|
"commands",
|
||||||
".mcp.json"
|
".mcp.json",
|
||||||
|
"CHANGELOG.md"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user