Module: Diogenes

Defined in:
lib/diogenes/targets.rb,
lib/diogenes.rb,
lib/diogenes/cli.rb,
lib/diogenes/version.rb,
lib/diogenes/cli/init.rb,
lib/diogenes/dsl/hook.rb,
lib/diogenes/dsl/rule.rb,
lib/diogenes/cli/build.rb,
lib/diogenes/cli/watch.rb,
lib/diogenes/dsl/skill.rb,
lib/diogenes/cli/evaluate.rb,
lib/diogenes/cli/validate.rb,
lib/diogenes/dsl/artifact.rb,
lib/diogenes/targets/base.rb,
lib/diogenes/build/sources.rb,
lib/diogenes/configuration.rb,
lib/diogenes/targets/codex.rb,
lib/diogenes/targets/cursor.rb,
lib/diogenes/targets/gemini.rb,
lib/diogenes/validate/issue.rb,
lib/diogenes/evaluation/gate.rb,
lib/diogenes/targets/copilot.rb,
lib/diogenes/validate/runner.rb,
lib/diogenes/evaluation/gates.rb,
lib/diogenes/evaluation/session.rb,
lib/diogenes/targets/claude_code.rb,
lib/diogenes/evaluation/ci_runner.rb,
lib/diogenes/evaluation/decision_record.rb

Overview

rbs_inline: enabled

Defined Under Namespace

Modules: Build, DSL, Evaluation, Targets, Validate Classes: ArgumentError, Cli, Configuration, ConfigurationError, Error, UserError, ValidationError

Constant Summary collapse

VERSION =

: String

"0.1.10"

Class Method Summary collapse

Class Method Details

.artifact(name, &block) ⇒ Object

: (String) { () -> void } -> DSL::Artifact



68
69
70
# File 'lib/diogenes.rb', line 68

def artifact(name, &block)
  @artifacts[name] = DSL::Artifact.new(name, &block)
end

.artifactsObject

: () -> Array



82
# File 'lib/diogenes.rb', line 82

def artifacts = @artifacts.values

.configurationObject

: () -> Configuration



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

def configuration
  @configuration ||= Configuration.new
end

.configure(&block) ⇒ Object

: () { () -> void } -> Configuration



41
42
43
44
45
# File 'lib/diogenes.rb', line 41

def configure(&block)
  @configuration ||= Configuration.new
  @configuration.instance_eval(&block) if block
  @configuration
end

.hook(name, &block) ⇒ Object

: (String) { () -> void } -> DSL::Hook



63
64
65
# File 'lib/diogenes.rb', line 63

def hook(name, &block)
  @hooks[name] = DSL::Hook.new(name, &block)
end

.hooksObject

: () -> Array



79
# File 'lib/diogenes.rb', line 79

def hooks = @hooks.values

.reset!Object

: () -> void



85
86
87
88
89
90
91
# File 'lib/diogenes.rb', line 85

def reset!
  @skills = {}
  @rules = {}
  @hooks = {}
  @artifacts = {}
  @configuration = nil
end

.rule(name, &block) ⇒ Object

: (String) { () -> void } -> DSL::Rule



58
59
60
# File 'lib/diogenes.rb', line 58

def rule(name, &block)
  @rules[name] = DSL::Rule.new(name, &block)
end

.rulesObject

: () -> Array



76
# File 'lib/diogenes.rb', line 76

def rules = @rules.values

.skill(name, &block) ⇒ Object

: (String) { () -> void } -> DSL::Skill



53
54
55
# File 'lib/diogenes.rb', line 53

def skill(name, &block)
  @skills[name] = DSL::Skill.new(name, &block)
end

.skillsObject

: () -> Array



73
# File 'lib/diogenes.rb', line 73

def skills = @skills.values

.versionObject

: () -> String



36
37
38
# File 'lib/diogenes.rb', line 36

def version
  VERSION
end