go versiongo install github.com/uudashr/gocognit/cmd/gocognit@latestgo install github.com/fzipp/gocyclo/cmd/gocyclo@latest# Clone the repository
git clone <repo-url> goa
cd goa
# Build the binary
make build
# (Optional) Install to GOPATH/bin
make install
# Verify
./goa --help
When you run ./goa for the first time, the Setup Wizard launches interactively:
⟡ First run detected — launching setup wizard
┌─ Welcome to Goa ─┐
│ │
│ Let's get you │
│ set up. │
│ │
│ [ Next → ] │
└───────────────────┘
The wizard guides you through these steps:
http://localhost:1234/v1/chat/completions)gpt-4o, llama-3.2-1b-instruct)Yes — Periodically merge .goa/memory/*.md into a single cleaned fileNo — Keep memories as individual files onlycoder — Implements code changesplanner — Decomposes and plans workreviewer — Reviews and provides feedbackyolo — Auto-approve all tool callsconfirm — Pause before each tool callreview — Queue writes for batch approval.goa/Configuration is saved to ~/.goa/config.yaml. You can edit it directly at any time.
If you prefer to skip the wizard, create ~/.goa/config.yaml manually:
active_provider: local
active_model: llama-3.2-1b-instruct
mode:
default:
major: coder
autonomy: solo
execution:
mode: yolo
retries: 3
token_warning: 70
token_critical: 85
loop_warning: 5
loop_interrupt: 10
providers:
- id: local
name: Local LLM
endpoint: http://localhost:1234/v1/chat/completions
default_model: llama-3.2-1b-instruct
preferred: true
- id: openai
name: OpenAI
endpoint: https://api.openai.com/v1/chat/completions
api_key: ${OPENAI_API_KEY}
default_model: gpt-4o
preferred: false
tui:
theme: dark
layout: default
# Start the TUI
./goa
# Start with a specific model
./goa --model gpt-4o
# Start with a specific mode
./goa --profile planner
# Start with a specific config
./goa --config ~/.goa/custom-config.yaml
Goa searches for config in this order (later overrides earlier):
| Priority | Location | Description |
|---|---|---|
| 1 | Embedded | Compiled-in defaults (config/defaults.go) |
| 2 | ~/.goa/config.yaml |
Home/global config |
| 3 | .goa/config.yaml |
Project-level config |
| 4 | .goa/config.local.yaml |
Local overrides (gitignored) |
| 5 | GOA_* env vars |
Environment overrides |
| 6 | CLI flags (--model, etc.) |
Highest priority |
See CONFIGURATION.md for all available settings.