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
|
||||
- Works quietly in the background
|
||||
- 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)
|
||||
|
||||
@@ -45,6 +69,10 @@ claude-mem uninstall # Remove hooks
|
||||
# Extras
|
||||
claude-mem trash-view # See what’s in Smart Trash™
|
||||
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)
|
||||
|
||||
@@ -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
|
||||
} from './shared/hook-helpers.js';
|
||||
|
||||
// Set up stdin immediately before any async operations
|
||||
|
||||
// Set up stdin immediately
|
||||
process.stdin.setEncoding('utf8');
|
||||
process.stdin.resume(); // Explicitly enter flowing mode to prevent data loss
|
||||
|
||||
|
||||
// Read input from stdin
|
||||
let input = '';
|
||||
process.stdin.on('data', chunk => {
|
||||
@@ -28,6 +30,7 @@ process.stdin.on('data', chunk => {
|
||||
});
|
||||
|
||||
process.stdin.on('end', async () => {
|
||||
|
||||
try {
|
||||
// Load CLI command inside try-catch to handle config errors properly
|
||||
const cliCommand = loadCliCommand();
|
||||
|
||||
@@ -40,6 +40,14 @@ export function getLogsDir() {
|
||||
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
|
||||
* @returns {Object} Object containing all common paths
|
||||
@@ -49,6 +57,7 @@ export function getPaths() {
|
||||
dataDir: getDataDir(),
|
||||
settingsPath: getSettingsPath(),
|
||||
archivesDir: getArchivesDir(),
|
||||
logsDir: getLogsDir()
|
||||
logsDir: getLogsDir(),
|
||||
compactFlagPath: getCompactFlagPath()
|
||||
};
|
||||
}
|
||||
+3
-2
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "claude-mem",
|
||||
"version": "3.5.6",
|
||||
"version": "3.6.2",
|
||||
"description": "Memory compression system for Claude Code - persist context across sessions",
|
||||
"keywords": [
|
||||
"claude",
|
||||
@@ -52,6 +52,7 @@
|
||||
"dist",
|
||||
"hooks",
|
||||
"commands",
|
||||
".mcp.json"
|
||||
".mcp.json",
|
||||
"CHANGELOG.md"
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user