Add CLAUDE.local.md support via CLAUDE_MEM_FOLDER_USE_LOCAL_MD setting
When CLAUDE_MEM_FOLDER_USE_LOCAL_MD is set to 'true' in settings, claude-mem writes auto-generated context to CLAUDE.local.md instead of CLAUDE.md. This separates personal machine-generated context from shared project instructions, aligning with Claude Code's native CLAUDE.local.md convention where: - CLAUDE.md = team-shared project instructions (checked into git) - CLAUDE.local.md = personal/local context (gitignored) Changes: - Add CLAUDE_MEM_FOLDER_USE_LOCAL_MD setting (default: false) - Add getTargetFilename() helper to resolve target based on settings - Update writeClaudeMdToFolder() to accept optional target filename - Update active-file detection to skip folders with either CLAUDE.md or CLAUDE.local.md being actively read/modified (issue #859 compat) - Add 8 new tests covering filename selection, write behavior, content preservation, atomic writes, and active-file detection Closes #632
This commit is contained in:
@@ -49,6 +49,7 @@ export interface SettingsDefaults {
|
||||
CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE: string;
|
||||
CLAUDE_MEM_CONTEXT_SHOW_TERMINAL_OUTPUT: string;
|
||||
CLAUDE_MEM_FOLDER_CLAUDEMD_ENABLED: string;
|
||||
CLAUDE_MEM_FOLDER_USE_LOCAL_MD: string; // 'true' | 'false' - write to CLAUDE.local.md instead of CLAUDE.md
|
||||
// Process Management
|
||||
CLAUDE_MEM_MAX_CONCURRENT_AGENTS: string; // Max concurrent Claude SDK agent subprocesses (default: 2)
|
||||
// Exclusion Settings
|
||||
@@ -108,6 +109,7 @@ export class SettingsDefaultsManager {
|
||||
CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE: 'false',
|
||||
CLAUDE_MEM_CONTEXT_SHOW_TERMINAL_OUTPUT: 'true',
|
||||
CLAUDE_MEM_FOLDER_CLAUDEMD_ENABLED: 'false',
|
||||
CLAUDE_MEM_FOLDER_USE_LOCAL_MD: 'false', // When true, writes to CLAUDE.local.md instead of CLAUDE.md
|
||||
// Process Management
|
||||
CLAUDE_MEM_MAX_CONCURRENT_AGENTS: '2', // Max concurrent Claude SDK agent subprocesses
|
||||
// Exclusion Settings
|
||||
|
||||
Reference in New Issue
Block a user