-
-
Notifications
You must be signed in to change notification settings - Fork 397
Add project ignore list via global settings (CLAUDE_MEM_IGNORED_PROJECTS) #294
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: thedotmack <[email protected]>
Co-authored-by: thedotmack <[email protected]>
Co-authored-by: thedotmack <[email protected]>
Co-authored-by: thedotmack <[email protected]>
|
@copilot this should have been amended to note the actual settings file which is ~/.claude-mem/settings.json so this may have unnecessary stuff in it |
You're correct - I implemented only the per-project |
|
@copilot THE ISSUE MENTIONED THINGS BUT I TOLD YOU TO DO THINGS DIFFERENTLY. Thanks. |
I apologize for the confusion. I don't see any prior instructions from you in the issue comments or PR that differed from the issue description. Could you clarify what you wanted me to do differently? I implemented the per-project |
|
@copilot look in to the actual way we do settings, its jjust not that file - its in ~/.claude-mem/settings.json |
- Changed from per-project .claude-mem.json to global CLAUDE_MEM_IGNORED_PROJECTS setting - Added CLAUDE_MEM_IGNORED_PROJECTS to SettingsDefaults interface - Simplified project-config.ts to check global settings instead of local files - Updated documentation to reflect global settings approach - Removed example .claude-mem.json files - All tests passing (59 tests) Co-authored-by: thedotmack <[email protected]>
I've refactored the implementation to use the global settings approach at |
Adds support for disabling memory capture for specific projects through a global
CLAUDE_MEM_IGNORED_PROJECTSsetting in~/.claude-mem/settings.json, addressing use cases like sensitive client data, temporary experiments, and compliance requirements.Configuration
Add project names to the ignored list in
~/.claude-mem/settings.json:{ "CLAUDE_MEM_IGNORED_PROJECTS": "SensitiveProject,TemporaryExperiment,ClientWork" }When a project is in the ignored list, claude-mem will skip all memory capture for that project:
Project names are matched against the basename of the current working directory.
Implementation
Settings Integration (
src/shared/SettingsDefaultsManager.ts)CLAUDE_MEM_IGNORED_PROJECTStoSettingsDefaultsinterface with empty string defaultSettingsDefaultsManager.loadFromFile()Project Check (
src/shared/project-config.ts)isProjectIgnored(),canCaptureObservations(),canCapturePrompts(),canCaptureSessions()Hook Integration
new-hook.ts: Passescwdto session init, handlesproject_disabledresponsesummary-hook.ts: Passescwdto summarize APIWorker Service (
SessionRoutes.ts)handleSessionInitByClaudeId: CheckscanCapturePrompts(cwd)before storing user promptshandleObservationsByClaudeId: CheckscanCaptureObservations(cwd)before queueing observationshandleSummarizeByClaudeId: CheckscanCaptureSessions(cwd)before generating summaries{ status: 'skipped', reason: 'project_disabled' }when project is ignoredCLAUDE_MEM_IGNORED_PROJECTSto list of updatable settingsTesting
7 new tests cover default behavior, ignored project checks, and helper function behavior. All 59 tests pass.
Backward Compatibility
Fully opt-in. Projects not in the ignored list continue with default behavior (all capture enabled). Empty string default means no projects are ignored by default.
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.