Class: ClaudeMemory::Shortcuts

Inherits:
Object
  • Object
show all
Defined in:
lib/claude_memory/shortcuts.rb

Constant Summary collapse

QUERIES =
{
  decisions: {
    query: "decision constraint rule requirement",
    scope: "all",
    limit: 10
  },
  architecture: {
    query: "uses framework implements architecture pattern",
    scope: "all",
    limit: 10
  },
  conventions: {
    query: "convention style format pattern prefer",
    scope: "global",
    limit: 20
  },
  project_config: {
    query: "uses requires depends_on configuration",
    scope: "project",
    limit: 10
  }
}.freeze

Class Method Summary collapse

Class Method Details

.architecture(manager, **overrides) ⇒ Object



44
45
46
# File 'lib/claude_memory/shortcuts.rb', line 44

def self.architecture(manager, **overrides)
  self.for(:architecture, manager, **overrides)
end

.conventions(manager, **overrides) ⇒ Object



48
49
50
# File 'lib/claude_memory/shortcuts.rb', line 48

def self.conventions(manager, **overrides)
  self.for(:conventions, manager, **overrides)
end

.decisions(manager, **overrides) ⇒ Object



40
41
42
# File 'lib/claude_memory/shortcuts.rb', line 40

def self.decisions(manager, **overrides)
  self.for(:decisions, manager, **overrides)
end

.for(shortcut_name, manager, **overrides) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
# File 'lib/claude_memory/shortcuts.rb', line 28

def self.for(shortcut_name, manager, **overrides)
  config = QUERIES.fetch(shortcut_name)
  options = config.merge(overrides)

  recall = Recall.new(manager)
  recall.query(
    options[:query],
    limit: options[:limit],
    scope: options[:scope]
  )
end

.project_config(manager, **overrides) ⇒ Object



52
53
54
# File 'lib/claude_memory/shortcuts.rb', line 52

def self.project_config(manager, **overrides)
  self.for(:project_config, manager, **overrides)
end