Module: AI::Profile

Defined in:
lib/profile.rb

Overview

── Profile ──────────────────────────────────────────────────────────Loads user-facing configuration from environment variables.

Constant Summary collapse

DEFAULT_SYSTEM =
"You are a helpful assistant. Be direct and concise."

Class Method Summary collapse

Class Method Details

.color(var, fallback) ⇒ Object



8
9
10
11
# File 'lib/profile.rb', line 8

def color(var, fallback)
  v = ENV[var]
  v && v.match?(/\A\d+\z/) && (0..255).cover?(v.to_i) ? v.to_i : fallback
end

.loadObject



13
14
15
16
17
18
19
20
21
# File 'lib/profile.rb', line 13

def load
  let(
    name:   ENV["AI_NAME"]   || "Assistant",
    icon:   ENV["AI_ICON"]   || "\u2726",
    prompt: ENV["AI_PROMPT"] || "\u276f",
    color:  color("AI_COLOR", 110),
    system: ENV["AI_SYSTEM_PROMPT"] || DEFAULT_SYSTEM
  )
end