config

package
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 1, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Exists

func Exists() bool

Exists returns true if a config file exists

func GetConfigDir

func GetConfigDir() (string, error)

GetConfigDir returns the XDG config directory for term-llm. Uses $XDG_CONFIG_HOME if set, otherwise ~/.config

func GetConfigPath

func GetConfigPath() (string, error)

GetConfigPath returns the path where the config file should be located

func NeedsSetup

func NeedsSetup() bool

NeedsSetup returns true if config file doesn't exist

func Save

func Save(cfg *Config) error

Save writes the config to disk

Types

type AnthropicConfig

type AnthropicConfig struct {
	APIKey      string `mapstructure:"api_key"`
	Model       string `mapstructure:"model"`
	Credentials string `mapstructure:"credentials"` // "api_key" (default) or "claude"
}

type AskConfig

type AskConfig struct {
	Instructions string `mapstructure:"instructions"` // Custom system prompt for ask
}

type Config

type Config struct {
	Provider  string          `mapstructure:"provider"`
	Exec      ExecConfig      `mapstructure:"exec"`
	Ask       AskConfig       `mapstructure:"ask"`
	Theme     ThemeConfig     `mapstructure:"theme"`
	Anthropic AnthropicConfig `mapstructure:"anthropic"`
	OpenAI    OpenAIConfig    `mapstructure:"openai"`
	Gemini    GeminiConfig    `mapstructure:"gemini"`
	Zen       ZenConfig       `mapstructure:"zen"`
}

func Load

func Load() (*Config, error)

type ExecConfig

type ExecConfig struct {
	Suggestions  int    `mapstructure:"suggestions"`  // Number of command suggestions (default 3)
	Instructions string `mapstructure:"instructions"` // Custom context for suggestions
}

type GeminiConfig

type GeminiConfig struct {
	APIKey      string `mapstructure:"api_key"`
	Model       string `mapstructure:"model"`
	Credentials string `mapstructure:"credentials"` // "api_key" (default) or "gemini-cli"
	// OAuth credentials populated at runtime when using gemini-cli
	OAuthCreds *credentials.GeminiOAuthCredentials
}

type OpenAIConfig

type OpenAIConfig struct {
	APIKey      string `mapstructure:"api_key"`
	Model       string `mapstructure:"model"`
	Credentials string `mapstructure:"credentials"` // "api_key" (default) or "codex"
	AccountID   string // Populated at runtime when using Codex OAuth credentials
}

type ThemeConfig

type ThemeConfig struct {
	Primary   string `mapstructure:"primary"`   // main accent (commands, highlights)
	Secondary string `mapstructure:"secondary"` // secondary accent (headers, borders)
	Success   string `mapstructure:"success"`   // success states
	Error     string `mapstructure:"error"`     // error states
	Warning   string `mapstructure:"warning"`   // warnings
	Muted     string `mapstructure:"muted"`     // dimmed text
	Text      string `mapstructure:"text"`      // primary text
	Spinner   string `mapstructure:"spinner"`   // loading spinner
}

ThemeConfig allows customization of UI colors Colors can be ANSI color numbers (0-255) or hex codes (#RRGGBB)

type ZenConfig added in v0.0.2

type ZenConfig struct {
	APIKey string `mapstructure:"api_key"` // Optional: leave empty for free tier
	Model  string `mapstructure:"model"`
}

ZenConfig configures the OpenCode Zen provider Zen provides free access to models like GLM 4.7 via opencode.ai API key is optional - leave empty for free tier access

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL