Module: Legion::LLM::Skills::Settings

Defined in:
lib/legion/llm/skills/settings.rb

Constant Summary collapse

DEFAULTS =
{
  enabled:           true,
  auto_inject:       true,
  on_demand:         true,
  max_active_skills: 1,
  directories:       ['.legion/skills', '~/.legionio/skills'],
  auto_discover:     { claude: false, codex: false },
  enabled_skills:    [],
  disabled_skills:   []
}.freeze

Class Method Summary collapse

Class Method Details

.applyObject



20
21
22
23
# File 'lib/legion/llm/skills/settings.rb', line 20

def apply
  current = Legion::Settings[:llm][:skills] || {}
  Legion::Settings[:llm][:skills] = deep_merge(DEFAULTS, current)
end

.deep_merge(base, override) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/legion/llm/skills/settings.rb', line 25

def deep_merge(base, override)
  result = base.dup
  override.each do |key, val|
    result[key] = val.is_a?(Hash) && result[key].is_a?(Hash) ? deep_merge(result[key], val) : val
  end
  result
end