Update documentation for Windows compatibility fix
Co-authored-by: thedotmack <683968+thedotmack@users.noreply.github.com>
This commit is contained in:
@@ -5,6 +5,25 @@ 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/).
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||||
|
|
||||||
|
|
||||||
|
## [Unreleased]
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- **Windows PowerShell compatibility**: Fixed SessionStart hook error on Windows systems
|
||||||
|
- Replaced bash-specific command (`[`, `&&`, `||`) with cross-platform Node.js installer
|
||||||
|
- Created `ensure-dependencies.js` script for automatic dependency installation
|
||||||
|
- Dependencies (`better-sqlite3`) now install correctly on Windows, macOS, and Linux
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- **Cross-platform dependency installer**: New `ensure-dependencies.js` script handles runtime dependency installation
|
||||||
|
- **Automatic package.json generation**: Build process now creates `package.json` in `plugin/scripts/` directory
|
||||||
|
- **Enhanced build output**: Build script now generates installer alongside hooks and services
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- **SessionStart hook command**: Now uses `node ensure-dependencies.js && node context-hook.js` instead of bash syntax
|
||||||
|
- **Build process**: Added installer script bundling and package.json generation steps
|
||||||
|
- **.gitignore**: Added `plugin/scripts/package-lock.json` to prevent version control conflicts
|
||||||
|
|
||||||
|
|
||||||
## [4.2.1] - 2025-10-22
|
## [4.2.1] - 2025-10-22
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ This creates a continuous memory system where Claude can learn from past session
|
|||||||
Claude-mem integrates with Claude Code through 5 lifecycle hooks:
|
Claude-mem integrates with Claude Code through 5 lifecycle hooks:
|
||||||
|
|
||||||
1. **SessionStart Hook** (`context-hook`)
|
1. **SessionStart Hook** (`context-hook`)
|
||||||
|
- Auto-installs dependencies on first run (cross-platform Node.js installer)
|
||||||
- Injects context from previous sessions
|
- Injects context from previous sessions
|
||||||
- Auto-starts PM2 worker service
|
- Auto-starts PM2 worker service
|
||||||
- Retrieves last 10 session summaries with three-tier verbosity (v4.2.0)
|
- Retrieves last 10 session summaries with three-tier verbosity (v4.2.0)
|
||||||
@@ -199,12 +200,36 @@ claude-mem/
|
|||||||
npm run build && git commit -a -m "Build and update" && git push && cd ~/.claude/plugins/marketplaces/thedotmack/ && git pull && pm2 flush claude-mem-worker && pm2 restart claude-mem-worker && pm2 logs claude-mem-worker --nostream
|
npm run build && git commit -a -m "Build and update" && git push && cd ~/.claude/plugins/marketplaces/thedotmack/ && git pull && pm2 flush claude-mem-worker && pm2 restart claude-mem-worker && pm2 logs claude-mem-worker --nostream
|
||||||
```
|
```
|
||||||
|
|
||||||
1) Compiles TypeScript and outputs hook executables to `plugin/scripts/`
|
1. Compiles TypeScript and outputs hook executables to `plugin/scripts/`
|
||||||
2) Does all the things needed to update and test since plugin-based installs are out of the .claude/ folder
|
2. Generates `ensure-dependencies.js` - cross-platform installer script
|
||||||
|
3. Creates `package.json` in `plugin/scripts/` with runtime dependencies
|
||||||
|
4. Does all the things needed to update and test since plugin-based installs are out of the .claude/ folder
|
||||||
|
|
||||||
|
**Build Outputs**:
|
||||||
|
- Hook executables: `*-hook.js` (ESM format)
|
||||||
|
- Worker service: `worker-service.cjs` (CJS format)
|
||||||
|
- Search server: `search-server.js` (ESM format)
|
||||||
|
- Dependency installer: `ensure-dependencies.js` (ESM format)
|
||||||
|
- Runtime manifest: `package.json` (includes `better-sqlite3` dependency)
|
||||||
|
|
||||||
## Version History
|
## Version History
|
||||||
|
|
||||||
### v4.2.0 (Current)
|
### v4.2.2 (Upcoming)
|
||||||
|
**Breaking Changes**: None (patch version)
|
||||||
|
|
||||||
|
**Fixes**:
|
||||||
|
- Fixed Windows PowerShell compatibility issue with SessionStart hook
|
||||||
|
- Replaced bash-specific installation command with cross-platform Node.js installer
|
||||||
|
- Added `ensure-dependencies.js` script for automatic dependency installation
|
||||||
|
- Build process now generates `package.json` with runtime dependencies in `plugin/scripts/`
|
||||||
|
|
||||||
|
**Technical Details**:
|
||||||
|
- Created `src/bin/ensure-dependencies.ts` for cross-platform dependency management
|
||||||
|
- Updated `plugin/hooks/hooks.json` to use Node.js command chain instead of shell syntax
|
||||||
|
- Dependencies (`better-sqlite3`) are now installed automatically on first run across all platforms
|
||||||
|
- Added `.gitignore` rule for `plugin/scripts/package-lock.json`
|
||||||
|
|
||||||
|
### v4.2.0
|
||||||
**Breaking Changes**: None (minor version)
|
**Breaking Changes**: None (minor version)
|
||||||
|
|
||||||
**Features**:
|
**Features**:
|
||||||
|
|||||||
@@ -253,14 +253,18 @@ npm install -g claude-mem
|
|||||||
|
|
||||||
### Post-Installation
|
### Post-Installation
|
||||||
|
|
||||||
1. **Verify Plugin Installation**
|
1. **Automatic Dependency Installation**
|
||||||
|
|
||||||
|
The plugin automatically installs required dependencies (`better-sqlite3`) on first run. This happens when you first start Claude Code after installation. The process is cross-platform and works on Windows, macOS, and Linux.
|
||||||
|
|
||||||
|
2. **Verify Plugin Installation**
|
||||||
|
|
||||||
Check that hooks are configured in Claude Code:
|
Check that hooks are configured in Claude Code:
|
||||||
```bash
|
```bash
|
||||||
cat plugin/hooks/hooks.json
|
cat plugin/hooks/hooks.json
|
||||||
```
|
```
|
||||||
|
|
||||||
2. **Data Directory Location**
|
3. **Data Directory Location**
|
||||||
|
|
||||||
v4.0.0+ stores data in `${CLAUDE_PLUGIN_ROOT}/data/`:
|
v4.0.0+ stores data in `${CLAUDE_PLUGIN_ROOT}/data/`:
|
||||||
- Database: `${CLAUDE_PLUGIN_ROOT}/data/claude-mem.db`
|
- Database: `${CLAUDE_PLUGIN_ROOT}/data/claude-mem.db`
|
||||||
@@ -272,13 +276,13 @@ npm install -g claude-mem
|
|||||||
export CLAUDE_MEM_DATA_DIR=/custom/path
|
export CLAUDE_MEM_DATA_DIR=/custom/path
|
||||||
```
|
```
|
||||||
|
|
||||||
3. **Check Worker Logs**
|
4. **Check Worker Logs**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm run worker:logs
|
npm run worker:logs
|
||||||
```
|
```
|
||||||
|
|
||||||
4. **Test Context Retrieval**
|
5. **Test Context Retrieval**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm run test:context
|
npm run test:context
|
||||||
|
|||||||
Reference in New Issue
Block a user