Class: Ace::Lint::Atoms::SkillSchemaLoader

Inherits:
Object
  • Object
show all
Defined in:
lib/ace/lint/atoms/skill_schema_loader.rb

Overview

Loads skill validation schema from configuration cascade Follows ADR-022: Configuration Default and Override Pattern

Class Method Summary collapse

Class Method Details

.configHash

Load skills configuration using ace-config cascade

Returns:

  • (Hash)

    Configuration hash with defaults merged



15
16
17
# File 'lib/ace/lint/atoms/skill_schema_loader.rb', line 15

def config
  @config ||= load_config
end

.known_bash_prefixesArray<String>

Get list of known Bash prefixes

Returns:

  • (Array<String>)

    List of known Bash command prefixes



35
36
37
# File 'lib/ace/lint/atoms/skill_schema_loader.rb', line 35

def known_bash_prefixes
  config["known_bash_prefixes"] || []
end

.known_integration_providersObject



39
40
41
# File 'lib/ace/lint/atoms/skill_schema_loader.rb', line 39

def known_integration_providers
  config["known_integration_providers"] || []
end

.known_toolsArray<String>

Get list of known tools

Returns:

  • (Array<String>)

    List of known tool names



29
30
31
# File 'lib/ace/lint/atoms/skill_schema_loader.rb', line 29

def known_tools
  config["known_tools"] || []
end

.reset_cache!Object

Reset configuration cache (useful for testing)



44
45
46
# File 'lib/ace/lint/atoms/skill_schema_loader.rb', line 44

def reset_cache!
  @config = nil
end

.schema_for(type) ⇒ Hash

Get schema for a specific file type

Parameters:

  • type (Symbol)

    File type (:skill, :workflow, :agent)

Returns:

  • (Hash)

    Schema definition for the type



22
23
24
25
# File 'lib/ace/lint/atoms/skill_schema_loader.rb', line 22

def schema_for(type)
  schemas = config["schemas"] || {}
  schemas[type.to_s] || {}
end