Files
gnoma/internal/config/defaults.go
T
vikingowl cfa87f1c1b feat: wire config system into main — TOML config now active
config.Load() called at startup. Layered: defaults → global
(~/.config/gnoma/config.toml) → project (.gnoma/config.toml)
→ env vars. CLI flags override config values.

Config drives:
- provider.default + provider.model as defaults
- provider.api_keys for key resolution
- provider.endpoints for custom base URLs
- permission.mode + permission.rules loaded into checker
- tools.bash_timeout passed to bash tool

Example .gnoma/config.toml:
  [provider]
  default = "ollama"
  model = "qwen3:14b"
  [permission]
  mode = "bypass"
  [[permission.rules]]
  tool = "bash"
  pattern = "rm -rf"
  action = "deny"
2026-04-03 17:38:58 +02:00

23 lines
414 B
Go

package config
import "time"
func Defaults() Config {
return Config{
Provider: ProviderSection{
Default: "mistral",
Model: "",
MaxTokens: 8192,
APIKeys: make(map[string]string),
Endpoints: make(map[string]string),
},
Permission: PermissionSection{
Mode: "default",
},
Tools: ToolsSection{
BashTimeout: Duration(30 * time.Second),
MaxFileSize: 1 << 20, // 1MB
},
}
}