Module: Legion::LLM::Skills::ExternalDiscovery
- Extended by:
- Legion::Logging::Helper
- Defined in:
- lib/legion/llm/skills/external_discovery.rb
Class Method Summary collapse
- .claude_auto_discover? ⇒ Boolean
- .claude_directories ⇒ Object
- .codex_auto_discover? ⇒ Boolean
- .codex_directories ⇒ Object
- .discover ⇒ Object
Class Method Details
.claude_auto_discover? ⇒ Boolean
42 43 44 45 46 47 |
# File 'lib/legion/llm/skills/external_discovery.rb', line 42 def claude_auto_discover? Legion::LLM.settings.dig(:skills, :auto_discover, :claude) != false rescue StandardError => e handle_exception(e, level: :debug, operation: 'llm.skills.external_discovery.claude_auto_discover') true end |
.claude_directories ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/legion/llm/skills/external_discovery.rb', line 20 def claude_directories home = ::File.('~') dirs = [] skills_dir = ::File.join(home, '.claude', 'skills') dirs << skills_dir if ::File.directory?(skills_dir) plugins_dir = ::File.join(home, '.claude', 'plugins') if ::File.directory?(plugins_dir) ::Dir.glob(::File.join(plugins_dir, '*', 'skills')).each do |skill_subdir| dirs << skill_subdir if ::File.directory?(skill_subdir) end end dirs.uniq end |
.codex_auto_discover? ⇒ Boolean
49 50 51 52 53 54 |
# File 'lib/legion/llm/skills/external_discovery.rb', line 49 def codex_auto_discover? Legion::LLM.settings.dig(:skills, :auto_discover, :codex) != false rescue StandardError => e handle_exception(e, level: :debug, operation: 'llm.skills.external_discovery.codex_auto_discover') true end |
.codex_directories ⇒ Object
37 38 39 40 |
# File 'lib/legion/llm/skills/external_discovery.rb', line 37 def codex_directories candidate = ::File.join(::File.('~'), '.codex', 'skills') ::File.directory?(candidate) ? [candidate] : [] end |
.discover ⇒ Object
13 14 15 16 17 18 |
# File 'lib/legion/llm/skills/external_discovery.rb', line 13 def discover dirs = [] dirs.concat(claude_directories) if claude_auto_discover? dirs.concat(codex_directories) if codex_auto_discover? dirs end |