- AGENTS.md: add Skin/Theme System section with architecture, skinnable elements table, built-in skins list, adding built-in/user skins guide, YAML example; add skin_engine.py to project structure; mention skin engine in CLI Architecture section - CONTRIBUTING.md: add skin_engine.py to project structure; add 'Adding a Skin/Theme' section with YAML schema, activation instructions - cli-config.yaml.example: add full skin config documentation with schema reference, built-in skins list, all color/spinner/branding keys - docs/skins/example-skin.yaml: complete annotated skin template with all available fields and inline documentation - hermes_cli/skin_engine.py: expand module docstring to full schema reference with all fields documented, usage examples, built-in skins list
90 lines
4.0 KiB
YAML
90 lines
4.0 KiB
YAML
# ============================================================================
|
||
# Hermes Agent — Example Skin Template
|
||
# ============================================================================
|
||
#
|
||
# Copy this file to ~/.hermes/skins/<name>.yaml to create a custom skin.
|
||
# All fields are optional — missing values inherit from the default skin.
|
||
# Activate with: /skin <name> or display.skin: <name> in config.yaml
|
||
#
|
||
# See hermes_cli/skin_engine.py for the full schema reference.
|
||
# ============================================================================
|
||
|
||
# Required: unique skin name (used in /skin command and config)
|
||
name: example
|
||
description: An example custom skin — copy and modify this template
|
||
|
||
# ── Colors ──────────────────────────────────────────────────────────────────
|
||
# Hex color values for Rich markup. These control the CLI's visual palette.
|
||
colors:
|
||
# Banner panel (the startup welcome box)
|
||
banner_border: "#CD7F32" # Panel border
|
||
banner_title: "#FFD700" # Panel title text
|
||
banner_accent: "#FFBF00" # Section headers (Available Tools, Skills, etc.)
|
||
banner_dim: "#B8860B" # Dim/muted text (separators, model info)
|
||
banner_text: "#FFF8DC" # Body text (tool names, skill names)
|
||
|
||
# UI elements
|
||
ui_accent: "#FFBF00" # General accent color
|
||
ui_label: "#4dd0e1" # Labels
|
||
ui_ok: "#4caf50" # Success indicators
|
||
ui_error: "#ef5350" # Error indicators
|
||
ui_warn: "#ffa726" # Warning indicators
|
||
|
||
# Input area
|
||
prompt: "#FFF8DC" # Prompt text color
|
||
input_rule: "#CD7F32" # Horizontal rule around input
|
||
|
||
# Response box
|
||
response_border: "#FFD700" # Response box border (ANSI color)
|
||
|
||
# Session display
|
||
session_label: "#DAA520" # Session label
|
||
session_border: "#8B8682" # Session ID dim color
|
||
|
||
# ── Spinner ─────────────────────────────────────────────────────────────────
|
||
# Customize the animated spinner shown during API calls and tool execution.
|
||
spinner:
|
||
# Faces shown while waiting for the API response
|
||
waiting_faces:
|
||
- "(。◕‿◕。)"
|
||
- "(◕‿◕✿)"
|
||
- "٩(◕‿◕。)۶"
|
||
|
||
# Faces shown during extended thinking/reasoning
|
||
thinking_faces:
|
||
- "(。•́︿•̀。)"
|
||
- "(◔_◔)"
|
||
- "(¬‿¬)"
|
||
|
||
# Verbs used in spinner messages (e.g., "pondering your request...")
|
||
thinking_verbs:
|
||
- "pondering"
|
||
- "contemplating"
|
||
- "musing"
|
||
- "ruminating"
|
||
|
||
# Optional: left/right decorations around the spinner
|
||
# Each entry is a [left, right] pair. Omit entirely for no wings.
|
||
# wings:
|
||
# - ["⟪⚔", "⚔⟫"]
|
||
# - ["⟪▲", "▲⟫"]
|
||
|
||
# ── Branding ────────────────────────────────────────────────────────────────
|
||
# Text strings used throughout the CLI interface.
|
||
branding:
|
||
agent_name: "Hermes Agent" # Banner title, about display
|
||
welcome: "Welcome! Type your message or /help for commands."
|
||
goodbye: "Goodbye! ⚕" # Exit message
|
||
response_label: " ⚕ Hermes " # Response box header label
|
||
prompt_symbol: "❯ " # Input prompt symbol
|
||
help_header: "(^_^)? Available Commands" # /help header text
|
||
|
||
# ── Tool Output ─────────────────────────────────────────────────────────────
|
||
# Character used as the prefix for tool output lines.
|
||
# Default is "┊" (thin dotted vertical line). Some alternatives:
|
||
# "╎" (light triple dash vertical)
|
||
# "▏" (left one-eighth block)
|
||
# "│" (box drawing light vertical)
|
||
# "┃" (box drawing heavy vertical)
|
||
tool_prefix: "┊"
|