fleet-memory/hindsight-integrations/claude-code/CHANGELOG.md
Nicolò Boschi 35b2cbb6ed
fix(claude-code): fix plugin installation, config UX, and release workflow (#661)
* fix(claude-code): fix plugin installation and release workflow

- Fix plugin.json author field (string → object) to pass claude plugin validate
- Add hindsight-integrations/.claude-plugin/marketplace.json so users can install
  via: claude plugin marketplace add vectorize-io/hindsight --sparse hindsight-integrations
- Update README and install.sh with correct two-command install flow
- Fix release-integration.yml: add explicit package.json check for typescript type
  and add plugin type for integrations with neither pyproject.toml nor package.json
  (prevents claude-code from incorrectly falling into the typescript build path)
- Add CHANGELOG.md for the claude-code integration

* remove install.sh — users install via claude plugin commands directly

* test(claude-code): add 116 unit tests for plugin hooks and lib modules

* feat(claude-code): user settings.json at CLAUDE_PLUGIN_DATA for stable config

Plugin now checks CLAUDE_PLUGIN_DATA/settings.json after the versioned
plugin default, giving users a path that persists across updates:
  ~/.claude/plugins/data/hindsight-memory-hindsight/settings.json

Loading order: defaults → plugin settings.json → user settings.json → env vars

* fix(claude-code): use ~/.hindsight/claude-code.json for user config

Matches the ~/.openclaw/openclaw.json convention. Removes the confusing
CLAUDE_PLUGIN_DATA path whose name depends on marketplace+plugin identifiers.

* docs(claude-code): add ToS hint for claude-code LLM provider option

* fix(claude-code): set author to Hindsight Team in plugin.json

* ci: add test-claude-code-integration job to run plugin unit tests
2026-03-23 15:15:16 +01:00

1.1 KiB

Changelog

[0.1.0] - 2025-03-23

Added

  • Initial release: Claude Code plugin for Hindsight long-term memory
  • Auto-recall on every user prompt via UserPromptSubmit hook — injects relevant memories as additionalContext
  • Auto-retain after every response via async Stop hook — extracts and stores conversation transcript
  • Session lifecycle hooks (SessionStart health check, SessionEnd daemon cleanup)
  • Three connection modes: external API, auto-managed local daemon (uvx hindsight-embed), existing local server
  • Dynamic bank IDs with configurable granularity (agent, project, session, channel, user)
  • Channel-agnostic: works with Claude Code Channels (Telegram, Discord, Slack) and interactive sessions
  • Zero pip dependencies — pure Python stdlib (urllib, fcntl, subprocess)
  • 34 configuration options via settings.json with env var overrides
  • LLM auto-detection from OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, GROQ_API_KEY
  • Chunked retention with sliding window (retainEveryNTurns + retainOverlapTurns)
  • Memory tag stripping to prevent retain feedback loops