latest.json on main already advertised 0.0.10 while the installed
manifest and baked PLUGIN_VERSION were still 0.0.9, so the update
check nagged every session for a release that was never published.
Bump manifest, package.json, plugin-version.js and rebuild hooks so
the announced and installed versions match.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
main has the recall source + hooks.json wiring (from #65) but never got
the built bundles, so UserPromptSubmit -> recall-hook.cjs errored with
MODULE_NOT_FOUND on every turn. This commits the build output:
- recall-hook.cjs, recall-approve.cjs (new) — the two missing bundles
hooks.json already references
- context-hook/summary-hook/add-memory/save-project-memory/search-memory/
status .cjs (refreshed) — were stale on main (built pre-#65), so they
reported version 0.0.7 while the source is 0.0.8; rebuilding aligns them
(also clears the false "update available" notice loop)
No package/version files changed — source is already at 0.0.8; this only
ships the bundles that build.js produces.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Re-introduces the reasoned recall feature (previously reverted in #64),
source files only — generated plugin/scripts/*.cjs are intentionally not
included and must be produced by the build step.
- recall-hook (UserPromptSubmit): injects a per-turn directive so Claude
decides whether recalling saved memory helps the current message.
- recall-approve (PreToolUse): auto-approves only the supermemory-search
tool call (narrow allow-list, rejects shell-laced commands).
- settings: recallDirective override + getRecallConfig.
- build/hooks wiring and version bump to 0.0.8.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Enrich plugin.json (displayName, homepage, repository, license,
keywords), move category to the marketplace entry and drop the
duplicate version, add a marketplace description, and note the
Node 18+ requirement in the README.
src/lib/plugin-version.js held the version the SessionStart hook reports
itself as. It was missed in the previous bump, so an installed 0.0.6
plugin would still self-report 0.0.5 and keep showing the 'update
available' notice after updating. Rebuilt the bundled hooks.
https://claude.ai/code/session_01424Bk69KXtjWYvnueZJJad
So existing installs are notified via the update check (which compares
the installed version against latest.json) to reinstall under the new
'supermemory' plugin name.
https://claude.ai/code/session_01424Bk69KXtjWYvnueZJJad
Set the Claude Code plugin name to 'supermemory' in plugin.json and
marketplace.json, and update install commands and command prefixes
(/supermemory:*) accordingly. Repository paths and GitHub URLs remain
supermemoryai/claude-supermemory.
https://claude.ai/code/session_01424Bk69KXtjWYvnueZJJad
Resolve by rebuilding plugin/scripts/*.cjs so the artifacts carry BOTH
main's source changes (Windows auth fix, update-notice via version-check)
and this branch's recall hooks — the .cjs were otherwise stale against the
merged source. Apply biome auto-format to the inherited context-hook.js /
version-check.js so `biome ci` passes.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add a UserPromptSubmit hook that injects a directive telling Claude to
reason — per message — about whether recalling memory would help, and
only then search via the supermemory-search skill. A PreToolUse hook
auto-approves that search so it runs silently, like auto-capture, instead
of interrupting with a permission prompt.
Reasoned recall and auto-approve are built-in (no toggles): searching
only when it helps keeps more usage on the user's plan. The auto-approve
is scoped to the read-only search and refuses any command laced with
shell chaining/redirection. SUPERMEMORY_DEBUG surfaces a per-turn
[recall-decision] line for debugging. SessionStart profile load and the
Stop-hook save are unchanged.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The previous version bump updated .claude-plugin/marketplace.json to
0.0.3 but left plugin/.claude-plugin/plugin.json at 0.0.2. Claude Code
reads plugin.json to decide whether an update is available, so users on
0.0.2 are told they are already current and never receive the update.
Fixes#43
Phase 0 detected Swift (Package.swift) and Elixir (mix.exs) but the
subsequent reference tables had no entries for them, leaving the agent
with no ecosystem-specific guidance after detection.
Adds complete rows for both ecosystems across all four tables:
- Manifest & Config Files
- Entry Points & Architecture
- Conventions & Patterns
- Key Files to Read
Also adds .build, _build, and deps to the skip list for Swift and
Elixir build output folders.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The /index command previously hardcoded JS/TS-specific file names and
entry points, leaving Rust/Python/Go with minimal guidance and
.NET/C#, Java, Ruby, PHP with none at all.
This restructures the command with:
- Phase 0: Auto-detect ecosystem by globbing for manifest files
- Ecosystem Reference table: per-language guidance for manifests,
entry points, architectural patterns, conventions, and key files
- Coverage for 8 ecosystems: .NET/C#, JS/TS, Rust, Python, Go,
Java/Kotlin, Ruby, PHP
- Expanded skip list for language-specific build output folders
The single-command UX is preserved (no arguments needed). The agent
detects the stack automatically and uses the reference table to guide
its exploration.
Fixes#32
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use git remote URL instead of folder name for consistent repo container tags
- Use `git remote get-url origin` to derive repo name for container tags instead of relying solely on folder name
- Adds `getGitRepoName()` function to extract repo name from git remote URL
- Falls back to folder name if no remote is configured
- Extract repo name from git remote get-url origin instead of directory path
- Makes container tags consistent across team members with different local paths
- Falls back to directory name if no git remote
- Updated README: streamlined docs, added config tables
Refresh plugin architecture with Supermemory
- Add project-level configuration system (.claude/.supermemory-claude/config.json) for per-repo API keys and container tags
- Add /project-config command to manage project settings
- Add /super-save skill for saving project knowledge (architectural decisions, bug fixes, design patterns)
- Add repo container tag support for team-shared memories (separate from personal memories)
- Rename prompt-hook to save-project-memory with dedicated repo-level memory saving
- Remove observation hook (consolidate into other hooks)
- Enhance context hook, search memory, and summary hook scripts
- Update supermemory client with repo entity context support
- Remove MCP config file
feat: add /claude-supermemory:index command for codebase indexing
Changes:
- Add /claude-supermemory:index command to explore and index codebase into Supermemory
- Add add-memory.js script for saving compiled findings
- Update build.js to include add-memory in build
- Remove unused settings (maxContextMemories, maxProjectMemories)
- Update README with new command documentation
Add browser-based authentication flow
Major:
1. Browser-based auth flow - auto-opens browser for login, no manual API key setup
2. Credentials persistence in ~/.supermemory-claude/credentials.json
3. Localhost callback server to receive API key from auth page
Medium:
4. Configurable URLs via SUPERMEMORY_AUTH_URL and SUPERMEMORY_API_URL env vars
5. Styled success/error pages matching Supermemory branding
Minor:
6. Logout script (src/logout.js) for clearing credentials
1. Bundled Scripts — Used esbuild to bundle all dependencies into self-contained .cjs files. Users don't need npm install.
2. Session-Based Memory — One document per session using sessionId as customId. All hooks append to same document.
3. Fixed Double Shebang — Source files had shebang + esbuild added another. Removed from source, esbuild adds via banner.
4. Code Cleanup — Removed unnecessary comments and spacing. Clean source in src/, built output in plugin/scripts/.
5. Simplified README — Removed MCP, architecture, comparisons. Kept installation and config only.