ToGO
Open-source · Full-stack · One binary
ToGO

The full-stack framework that ships your Go backend and React frontend as a single deployable app — a Laravel-artisan-grade CLI for the Go + sqlc + Atlas + React stack.

$curl -fsSL https://to-go.dev/install.sh | sh
Get started Read the docs
~/myapp — togo
$ npm install -g @togo-framework/cli
$ togo new myapp   # pick a frontend (TanStack / Next.js) + a database
 Go API + React UI scaffolded · single binary · one repo · zero glue
$ togo make:resource Post title:string body:text
$ togo generate && togo migrate && togo serve
 serving on http://localhost:8080

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.
Generators first

One command. Every layer.

make:resource emits the model, queries, migration, GraphQL, REST and UI page — then regenerates the registries. Driven by togo.resources.yaml.

bash
togo make:resource Post title:string body:text
internal/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"`
}
API-first

GraphQL and REST. Both generated.

Every resource is exposed over a gqlgen GraphQL schema and a Huma REST/OpenAPI 3.1 API — typed, documented, always in sync.

GraphQL
graphql
query {
  posts { id title createdAt }
}
REST / OpenAPI
bash
curl https://api/posts
# → 200, typed JSON · /docs has the OpenAPI UI
The microkernel

Everything, generated. Nothing, glued.

A thin microkernel with an artisan-grade CLI — every capability is a plugin you install.

One repo, one binary

Your Go API and React UI compile into a single deployable artifact. No glue, no orchestration.

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.

Pick your database

sqlite by default · postgres · togo-postgres · supabase · mysql · mongodb — wired from day 0.

API-first

Every resource is exposed over GraphQL (gqlgen) and REST/OpenAPI (Huma) — generated, typed, in sync.

AI-native

Every app is born agent-ready — a .claude/ tree + a pre-wired MCP server so Claude Code can drive it.
Database stacks
sqlite — defaultpostgrestogo-postgres · ParadeDB + pgvector + pg_cronsupabasemysqlmongodb

A plugin for every capability.

Auth, dashboard, cache, queue, storage, realtime, search, mail, notifications, database drivers — install any with a single command, or publish your own.

$ togo install togo-framework/auth
$ togo install togo-framework/dashboard
✓ auto-registers with the kernel
AI-native

Born agent-ready

Every app ships a .claude/ tree (skills, agents, rules) and a pre-wired MCP server, so Claude Code can scaffold, migrate and deploy it end to end.

bash
myapp/.claude/
├── skills/      # /togo:resource, /togo:migrate …
├── agents/      # togo-backend, togo-frontend
└── rules/       # framework conventions
.mcp.json        # → togo MCP server
Deploy

One command to ship

Built-in Terraform scaffolds a per-app infra repo. togo deploy builds the single binary and ships it.

bash
togo infra:init hetzner
togo deploy
# → one binary built, provisioned, live
ToGO

Ship your next app the artisan way.

Open-source, MIT-licensed, and built to dogfood itself — this very site is a togo app.

$curl -fsSL https://to-go.dev/install.sh | sh
Star on GitHub