An open API service indexing awesome lists of open source software.

https://github.com/cesp99/spettro

Spettro is a terminal coding assistant built in Go. It automates planning, coding, and testing with multi-agent workflows, model selection, and an intuitive UI. Connects to local and remote AI providers, supports conversation history, and empowers developers to streamline their workflow from the terminal.
https://github.com/cesp99/spettro

ai ai-agent ai-agents bubbletea cli coding-agent go local multi-agent terminal tui

Last synced: about 1 month ago
JSON representation

Spettro is a terminal coding assistant built in Go. It automates planning, coding, and testing with multi-agent workflows, model selection, and an intuitive UI. Connects to local and remote AI providers, supports conversation history, and empowers developers to streamline their workflow from the terminal.

Awesome Lists containing this project

README

          

# Spettro

[![Go 1.24+](https://img.shields.io/badge/Go-1.24%2B-00ADD8?logo=go)](https://go.dev/)
[![UI Bubble Tea](https://img.shields.io/badge/UI-Bubble%20Tea-ff69b4)](https://github.com/charmbracelet/bubbletea)
[![Providers](https://img.shields.io/badge/LLM-OpenAI%20Compatible%20%7C%20Anthropic-6f42c1)](#provider-setup)
[![Status](https://img.shields.io/badge/status-experimental-orange)](#)
[![License](https://img.shields.io/badge/License-GPL--3.0-green)](LICENSE)

Spettro is a terminal-first multi-agent coding assistant written in Go.

It uses a configurable agent manifest (`spettro.agents.toml` + `agents/*.md` prompts), parallel sub-agent spawning via `TOOL_CALL` and an `agent` tool, plus specialized orchestrator/worker roles (plan, coding, ask, explore, code, git, test, review, docs).

## Highlights

- Configurable multi-agent system via `spettro.agents.toml` and `agents/*.md`
- Parallel `TOOL_CALL` spawning of sub-agents
- Permission policies: `ask-first`, `restricted`, `yolo`
- Live tool traces in planning/coding runs
- Multi-provider model support via `models.dev` catalog + OpenAI-compatible endpoints
- Conversation persistence and resume per project
- Project trust prompt before first use in a folder

## Build and run

Requirements:

- Go `1.24.2+`

```bash
git clone https://github.com/cesp99/spettro
cd spettro
make build
./bin/spettro
```

Alternative:

```bash
go run ./cmd/spettro
```

## First-time setup

At first launch:

1. Confirm folder trust.
2. Run `/connect` to add an API key (or local endpoint).
3. Run `/models` to select provider/model.
4. Start with `plan` (default agent) and switch with `Shift+Tab`.

## Common commands

Spettro commands are entered with a leading `/`.

- `/help` show help text
- `/exit`, `/quit` quit Spettro
- `/mode`, `/next` cycle active agent/mode
- `/connect` connect provider or local endpoint
- `/models [provider:model] [api_key]` open selector or set directly
- `/permission ` set execution policy
- `/permissions [ask-first|restricted|yolo]` show/set permission policy
- `/permissions debug ` toggle permission diagnostics
- `/budget ` set request token budget (`0` = unlimited)
- `/plan [prompt]` switch to plan mode or run plan prompt
- `/approve` execute pending approved plan through coding agent
- `/tasks [list|add|done|set|show]` manage session tasks
- `/mcp ` manage MCP resources and auth tokens
- `/skills` list local skills/prompts
- `/hooks` show effective runtime hooks
- `/compact [focus]` summarize conversation history
- `/compact auto ` configure auto-compact
- `/compact policy` show compact thresholds/counters
- `/clear` auto-save and clear current conversation
- `/resume` load a previous saved conversation
- `/init` analyze the repo and create/update `SPETTRO.md`

For full commands and keybindings, see [`docs/commands.md`](docs/commands.md).

## Project docs

- [Agent Manifest](AGENTS.md)
- [Agent Prompts](agents/README.md)
- [Getting started and workflow](docs/getting-started.md)
- [Commands and keybindings](docs/commands.md)
- [Configuration and storage](docs/configuration.md)
- [Architecture overview](docs/architecture.md)
- [Troubleshooting](docs/troubleshooting.md)
- [Documentation Index](docs/README.md)

## Development

```bash
make test
make build
make build-all
```