⟡ Goa

Terminal-native AI coding agent — full LLM transparency, multi-agent collaboration, and a rich ANSI TUI.

Go 1.25+ GPL-3.0-or-later macOS · Linux · Windows
★ GitHub ↓ Releases
go install github.com/pijalu/goa/cmd/goa@latest copy

What is Goa?

Goa is a terminal-native AI coding agent built in Go. It gives you a full-featured chat interface in your terminal, powered by any OpenAI-compatible LLM. Every thought, every tool call, every result is visible — no hidden context, no opaque black boxes.

Inspired by pi, OpenCode, and kimi-code, Goa is designed for developers who want complete control over their AI coding workflow.

Features

🧠

Multi-provider

Works with any OpenAI-compatible endpoint: OpenAI, llama.cpp, LM Studio, Ollama, and more.

🛠

Tool System

Read, write, edit, search, bash, SSH, background execution, git utilities — all transparent.

📝

Config Cascade

Embedded → home → project → local → environment → CLI overrides.

👤

Agent Profiles

Built-in coder, planner, and reviewer profiles — custom profiles via inheritance.

🧩

Skills

Reusable prompt templates — inline (system prompt injection) or sub-agent mode.

🔁

Multi-Agent

Pair (planner → coder) and reviewer (coder → reviewer) collaboration pipelines.

🔌

JS Plugins

Extend Goa with JavaScript plugins via the Goja runtime — custom tools, commands, and UI.

🖥

Rich TUI

Differential-rendering ANSI terminal UI with chat, thinking stream, tool ledger, side panels, and modals.

Interactive Clarify

The agent can ask structured clarifying questions (title/summary/options) answered on the input line.

💾

Session Persistence

Full JSONL session history with /save and /restore.

📦

Diagnostic Export

Self-contained ZIP bundle via /export with events, logs, config, and issue description.

Architecture

┌─────────────────────────────────────────────────────────────────┐ │ Goa Process │ │ │ │ ┌───────────────────────────────────────────────────────────┐ │ │ │ TUI Layer (ANSI engine) │ │ │ │ Header │ ChatViewport │ StatusBar │ Editor │ Footer │ │ │ └──────────────────────┬────────────────────────────────────┘ │ │ │ agentic events / key events │ │ ┌──────────────────────▼────────────────────────────────────┐ │ │ │ Goa Core Engine │ │ │ │ CommandRouter │ AgentManager │ ConfigLoader │ │ │ │ LoopDetector │ ExecutionController │ SessionStore │ │ │ └──────┬────────────────────────────┬───────────────────────┘ │ │ │ │ │ │ ┌──────▼───────────┐ ┌─────────────▼───────────────────────┐ │ │ │ Agent SDK │ │ Tool Registry │ │ │ │ Agent/Session │ │ read · edit · bash · search · ... │ │ │ │ SkillRunner │ │ ssh · bg_exec · memento · webfetch │ │ │ └──────┬───────────┘ └─────────────────────────────────────┘ │ │ │ │ │ ┌──────▼───────────────────────────────────────────────────┐ │ │ │ Provider Layer │ │ │ │ OpenAIProvider (any compatible endpoint) │ │ │ └──────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────┘

Quick Start

  1. Build from source
    git clone https://github.com/pijalu/goa && cd goa && make build
  2. Run the interactive wizard
    ./goa

    On first run, Goa walks you through configuring a provider, selecting a profile, and choosing an execution mode.

  3. Start coding

    Ask questions, request refactors, review diffs — all from your terminal.

Download

Pre-built binaries for every release are available on the GitHub Releases page.

linux/amd64 linux/arm64 macOS/amd64 macOS/arm64 windows/amd64

Documentation