OPEN-SOURCE · FULL-STACK · ONE BINARY

ToGO

The full-stack framework that ships your Go backend and React frontend as a single deployable app.

~/ — togo
❯ curl -fsSL https://to-go.dev/install.sh | sh
installing togo …
✓ togo installed → /usr/local/bin/togo
❯ togo new fort
? Frontend › TanStack
? Database › PostgreSQL
? Features › Auth · Queue · Storage
✓ scaffolded fort/ — Go API + React UI · one repo · zero glue
❯ cd fort && togo make:resource Post title:string body:text
✓ model · queries · migration · GraphQL · REST · UI page
✓ registries regenerated from togo.resources.yaml
❯ togo generate && togo migrate && togo serve
→ sqlc · gqlgen · atlas · OpenAPI ✓
→ database migrated ✓
→ listening on http://localhost:8080
curl -fsSL https://to-go.dev/install.sh | sh
  • Go 1.23
  • gqlgen + Huma
  • React 19 + TanStack
  • MCP-ready
  • MIT licensed
  • Open to contributors

Features

One binary

Backend + frontend embedded and compiled into a single artifact you can scp anywhere.

One repo

API, UI, migrations, and infra live together — generated in lockstep, never out of sync.

Zero glue

No REST-client codegen dance, no schema drift. The manifest is the source of truth.

artisan-grade CLI

togo new, make:resource, migrate, generate, serve — generators first.

Everything is a plugin

A thin microkernel. Auth, dashboard, DB drivers, cache, queue — installed via togo install.

AI-native

Every app is born agent-ready — a .claude/ tree plus a pre-wired MCP server so Claude Code can drive it.

Database stacks

01

Default

  • sqlite
02

Postgres family

  • postgres
  • togo-postgres
  • supabase
03

Others

  • mysql
  • mongodb

One command. Every layer.

make:resource emits the model, queries, migration, GraphQL, REST and UI page — then regenerates the registries.

Generate
bash
togo make:resource Post title:string body:text
Modelinternal/models/post.go
go
type Post struct {
    ID        uuid.UUID `json:"id"`
    Title     string    `json:"title"`
    Body      string    `json:"body"`
    CreatedAt time.Time `json:"createdAt"`
}
GraphQL
graphql
query {
  posts { id title createdAt }
}
REST / OpenAPI
bash
curl https://api/posts
# → 200, typed JSON · /docs has the OpenAPI UI

Install and upgrade

One script installs the CLI; the CLI upgrades itself from then on.

  • Install — Linux and macOS

    curl -fsSL https://to-go.dev/install.sh | sh
  • Install — Windows

    irm https://to-go.dev/install.ps1 | iex
  • Install — with Go

    go install github.com/togo-framework/cli/cmd/togo@latest
  • Upgrade

    togo upgrade

MCP servers

mcp.to-go.dev

The public MCP server for togo itself — docs, the plugin registry and plugin submission, so an agent can learn the framework and install into it without a human relaying the answer.

https://mcp.to-go.dev/mcp
togo-framework/mcp-web

web-mcp

The plugin that turns YOUR app into an authenticated MCP server over Streamable HTTP — a remote tool surface for Claude, Cursor and anything else that speaks MCP.

togo install togo-framework/web-mcp
togo-framework/web-mcp

Plugin marketplace

Everything the ecosystem ships — plugins, AI agents, skills, MCP tools and UI components — browsable and installable with one command.

Explore the marketplace(241)

Get started

  1. 01

    Scaffold an app

    togo new myapp && cd myapp
  2. 02

    Add a resource

    togo make:resource Post title:string body:text
  3. 03

    Generate, migrate, serve

    togo generate && togo migrate && togo serve

Community

GitHubmaintained

Ship your next app the artisan way.

Open-source, MIT-licensed, and built to dogfood itself — the ToGO website is a togo app.

curl -fsSL https://to-go.dev/install.sh | sh