diff --git a/CLAUDE.md b/CLAUDE.md index 11a00cee..142dcb23 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -14,7 +14,7 @@ Claude-mem is a Claude Code plugin providing persistent memory across sessions. **Hooks** (`src/hooks/*.ts`) - TypeScript → ESM, built to `plugin/scripts/*-hook.js` -**Worker Service** (`src/services/worker-service.ts`) - Express API on port 37777, PM2-managed, handles AI processing asynchronously +**Worker Service** (`src/services/worker-service.ts`) - Express API on port 37777, Bun-managed, handles AI processing asynchronously **Database** (`src/services/sqlite/`) - SQLite3 at `~/.claude-mem/claude-mem.db` with FTS5 full-text search @@ -74,15 +74,20 @@ Settings are managed in `~/.claude-mem/settings.json`. The file is auto-created - **Chroma**: `~/.claude-mem/chroma/` - **Usage Logs**: `~/.claude-mem/usage-logs/usage-YYYY-MM-DD.jsonl` +## Requirements + +- **Bun** >= 1.0 (Mac/Linux runtime) +- Node.js >= 18 (build tools) + ## Quick Reference ```bash npm run build # Compile TypeScript npm run sync-marketplace # Copy to ~/.claude/plugins -npm run worker:restart # Restart PM2 worker +npm run worker:restart # Restart worker service +npm run worker:status # Check worker status npm run worker:logs # View worker logs -pm2 list # Check worker status -pm2 delete claude-mem-worker # Force clean start ``` **Viewer UI**: http://localhost:37777 +**Worker Logs**: `~/.claude-mem/logs/worker-YYYY-MM-DD.log` diff --git a/ecosystem.config.cjs b/ecosystem.config.cjs deleted file mode 100644 index 9a504982..00000000 --- a/ecosystem.config.cjs +++ /dev/null @@ -1,40 +0,0 @@ -/** - * PM2 Ecosystem Configuration for claude-mem Worker Service - * - * Usage: - * pm2 start ecosystem.config.cjs - * pm2 stop claude-mem-worker - * pm2 restart claude-mem-worker - * pm2 logs claude-mem-worker - * pm2 status - */ - -module.exports = { - apps: [ - { - name: 'claude-mem-worker', - script: 'bun ./plugin/scripts/worker-service.cjs', - // Windows: prevent visible console windows - windowsHide: true, - // INTENTIONAL: Watch mode enables auto-restart on plugin updates - // - // Why this is enabled: - // - When you run `npm run sync-marketplace` or rebuild the plugin, - // files in ~/.claude/plugins/marketplaces/thedotmack/ change - // - Watch mode detects these changes and auto-restarts the worker - // - Users get the latest code without manually running `pm2 restart` - // - // This is a feature, not a bug - it ensures users always run the - // latest version after plugin updates. - watch: true, - ignore_watch: [ - 'node_modules', - 'logs', - '*.log', - '*.db', - '*.db-*', - '.git' - ] - } - ] -}; diff --git a/plugin/ecosystem.config.cjs b/plugin/ecosystem.config.cjs deleted file mode 100644 index 1204c688..00000000 --- a/plugin/ecosystem.config.cjs +++ /dev/null @@ -1,43 +0,0 @@ -/** - * PM2 Ecosystem Configuration for claude-mem Worker Service (Packaged Plugin) - * - * NOTE: This config is for the packaged/cache version of the plugin. - * The script path is relative to the cache directory structure. - * - * Usage: - * pm2 start ecosystem.config.cjs - * pm2 stop claude-mem-worker - * pm2 restart claude-mem-worker - * pm2 logs claude-mem-worker - * pm2 status - */ - -module.exports = { - apps: [ - { - name: 'claude-mem-worker', - // Packaged structure: cache/thedotmack/claude-mem/X.X.X/scripts/worker-service.cjs - script: './scripts/worker-service.cjs', - // Windows: prevent visible console windows - windowsHide: true, - // INTENTIONAL: Watch mode enables auto-restart on plugin updates - // - // Why this is enabled: - // - When plugin updates, files change - // - Watch mode detects these changes and auto-restarts the worker - // - Users get the latest code without manually running `pm2 restart` - // - // This is a feature, not a bug - it ensures users always run the - // latest version after plugin updates. - watch: true, - ignore_watch: [ - 'node_modules', - 'logs', - '*.log', - '*.db', - '*.db-*', - '.git' - ] - } - ] -};