Skip to main content

Configuration Overview

Agate uses a flexible configuration system that allows you to customize behavior, appearance, and functionality. Configuration can be done through code, configuration files, or environment variables.

Configuration File

Create a .agate.yaml file in your project root or home directory:
.agate.yaml
app:
  title: "My Agate Application"
  theme: "dark"

agents:
  default:
    enabled: true
  shell:
    tmux_enabled: true
    default_shell: "/bin/zsh"

ui:
  borders: true
  overlay_transparency: 0.8

keybindings:
  quit: "ctrl+c"
  toggle_overlay: "ctrl+o"
  switch_agent: "ctrl+tab"

Environment Variables

Configure Agate using environment variables:
export AGATE_THEME=dark
export AGATE_DEBUG=true
export AGATE_CONFIG_PATH=/path/to/config

Programmatic Configuration

Configure Agate directly in your Go code:
app := agate.New()

// Set application properties
app.Config().
  SetTitle("My App").
  SetTheme("dark").
  EnableDebug(true)

// Configure agents
app.AgentConfig().
  SetDefaultEnabled(true).
  EnableShellAgent(true)

// Configure UI
app.UIConfig().
  EnableBorders(true).
  SetOverlayTransparency(0.8)

Configuration Options

Application Settings

OptionTypeDefaultDescription
titlestring”Agate”Application window title
themestring”dark”UI theme (dark/light)
debugboolfalseEnable debug mode

Agent Configuration

OptionTypeDefaultDescription
default_enabledbooltrueEnable default agents
shell_enabledbooltrueEnable shell agent
tmux_enabledboolfalseEnable tmux integration

UI Configuration

OptionTypeDefaultDescription
bordersbooltrueShow component borders
overlay_transparencyfloat0.9Overlay transparency level

Keybindings

Customize keybindings for your workflow:
keybindings:
  # Application controls
  quit: "ctrl+c"
  help: "?"

  # Agent controls
  switch_agent: "ctrl+tab"
  agent_menu: "ctrl+a"

  # UI controls
  toggle_overlay: "ctrl+o"
  toggle_borders: "ctrl+b"

Environment-Specific Configuration

Use different configurations for different environments:
# .agate.dev.yaml
app:
  debug: true
  theme: "light"

# .agate.prod.yaml
app:
  debug: false
  theme: "dark"
Load specific configurations:
AGATE_ENV=dev agate run
AGATE_ENV=prod agate run

Next Steps

Agent System

Learn about Agate’s agent architecture