Class: ClaudeMemory::Commands::Initializers::GlobalInitializer

Inherits:
Object
  • Object
show all
Defined in:
lib/claude_memory/commands/initializers/global_initializer.rb

Overview

Orchestrates global ClaudeMemory initialization

Instance Method Summary collapse

Constructor Details

#initialize(stdout, stderr, stdin) ⇒ GlobalInitializer

Returns a new instance of GlobalInitializer.



8
9
10
11
12
# File 'lib/claude_memory/commands/initializers/global_initializer.rb', line 8

def initialize(stdout, stderr, stdin)
  @stdout = stdout
  @stderr = stderr
  @stdin = stdin
end

Instance Method Details

#initialize_memoryObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/claude_memory/commands/initializers/global_initializer.rb', line 14

def initialize_memory
  @stdout.puts "Initializing ClaudeMemory (global only)...\n\n"

  if plugin_mode?
    @stdout.puts "(Plugin mode detected — hooks and MCP managed by plugin)\n\n"
  end

  # Check for existing hooks in global settings
  unless plugin_mode?
    hooks_config = HooksConfigurator.new(@stdout)
    global_settings = File.join(Dir.home, ".claude", "settings.json")
    if hooks_config.has_claude_memory_hooks?(global_settings)
      handle_existing_hooks(hooks_config, global_settings)
      return 0 if @skip_initialization
    end
  end

  ensure_database

  unless plugin_mode?
    configure_hooks unless @skip_hooks
    configure_mcp
  end

  configure_memory_instructions

  print_completion_message
  0
end