Skip to content

v2: Claude Code Supermemory Refreshed#21

Merged
Dhravya merged 3 commits intomainfrom
v2
Feb 5, 2026
Merged

v2: Claude Code Supermemory Refreshed#21
Dhravya merged 3 commits intomainfrom
v2

Conversation

@Prasanna721
Copy link
Member

@Prasanna721 Prasanna721 commented Feb 5, 2026

v2: Claude Code Supermemory Refreshed

Refresh plugin architecture with Supermemory

  • Added repo container tag support for team-shared memories (separate from personal memories)
  • Added project-level configuration system (.claude/.supermemory-claude/config.json) for per-repo API keys and container tags
  • Added /project-config command to manage project settings
  • Added /super-save skill for saving project knowledge (architectural decisions, bug fixes, design patterns)
  • Renamed prompt-hook to save-project-memory with dedicated repo-level memory saving
  • Removed observation hook (consolidate into other hooks)
  • Enhanced context hook, search memory, and summary hook scripts
  • Updated supermemory client with repo entity context support
  • Removed MCP config file

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
Copy link
Member Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@Prasanna721 Prasanna721 self-assigned this Feb 5, 2026
@Prasanna721 Prasanna721 requested a review from Dhravya February 5, 2026 22:09
@Prasanna721 Prasanna721 marked this pull request as ready for review February 5, 2026 22:09
}

function getApiKey(settings) {
function getApiKey(settings, cwd) {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The getApiKey function is called without the required cwd parameter at all call sites, causing it to incorrectly use process.cwd() and ignore project-specific configurations.
Severity: HIGH

Suggested Fix

Update all five call sites of getApiKey to pass the available cwd variable. For example, in src/context-hook.js:24, change getApiKey(settings) to getApiKey(settings, cwd). Apply similar changes to the other four locations.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: src/lib/settings.js#L70

Potential issue: The `getApiKey` function signature was updated to accept a `cwd`
parameter to support loading project-specific configurations. However, all five call
sites (`context-hook.js:24`, `summary-hook.js:38`, `add-memory.js:17`,
`search-memory.js:38`, `save-project-memory.js:17`) were not updated to pass this new
parameter. As a result, `getApiKey` receives `undefined` for `cwd` and defaults to using
`process.cwd()`. This breaks the project-specific API key feature when a tool or hook is
run from a directory other than the project's root, as it will look for the
configuration file in the wrong location.

Did we get this right? 👍 / 👎 to inform future reviews.

Comment on lines +106 to +108
function shouldIncludeTool(toolName, includeList) {
if (includeList.length === 0) return false;
return includeList.includes(toolName.toLowerCase());
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The new shouldIncludeTool logic defaults to excluding all tools because the default includeTools setting is an empty array, silently breaking tool interaction capture.
Severity: CRITICAL

Suggested Fix

Change the default behavior of shouldIncludeTool to include a set of default tools if the includeTools list is empty, preserving the previous functionality. Alternatively, update the default configuration to populate includeTools with the previous default tools. The README should also be updated to reflect the new includeTools setting.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: src/lib/settings.js#L106-L108

Potential issue: The logic for including tools in memory transcripts was changed to use
a single `includeTools` setting. The new `shouldIncludeTool` function at
`src/lib/settings.js:106~108` returns `false` if the `includeTools` list is empty. Since
the default value for this setting is an empty array, no tool interactions will be
captured by default. This is a silent breaking change from the previous behavior where
several tools were captured by default, and it will cause incomplete memory storage
without any user configuration changes.

Did we get this right? 👍 / 👎 to inform future reviews.

@Dhravya Dhravya merged commit 9a452c2 into main Feb 5, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants