GoFire
Go toolkit for building Firebase-authenticated APIs. Define endpoints in YAML, auto-generate handlers, deploy to Vercel with one command.
Features
- Firebase Auth middleware – Bearer token verification (file path or JSON credentials)
- api.yaml – Define endpoints in YAML; server loads it at runtime, so new endpoints work after
gofire add+gofire gen(no server regenerate) - Handler Registry – Generated handlers auto-register via
init(); usehandlers.Registerfor custom handlers - CLI –
gofire add,gofire gen,gofire list,gofire deploy - Vercel-ready – One-command serverless deployment
- Chi router – Lightweight, idiomatic Go HTTP routing
Quick Start
# Install CLI
go install github.com/messivite/goFire/cmd/gofire@latest
# Create new project (from scratch)
gofire new my-api
cd my-api
go mod tidy
go run ./cmd/server
Or add endpoints and regenerate:
gofire add endpoint "GET /users"
gofire add endpoint "POST /users" --auth
gofire gen
go mod tidy
go run ./cmd/server
new vs init: Use gofire new when starting from scratch (creates everything). Use gofire init when you already have a Go project with go.mod.
Install Demo (Video)
Watch a step-by-step install and usage demo:
▶ Watch Install Demo on YouTube
How It Works
Flow: api.yaml → gofire gen → handlers + server → server loads api.yaml at runtime → go run or gofire deploy
api.yaml ──→ gofire gen ──→ handlers/*.go + server/server.go
│
Server reads api.yaml at startup
│
go run ./cmd/server or gofire deploy (Vercel)
Add + gen: After gofire add endpoint, run gofire gen. New handlers are generated; the server picks up changes from api.yaml at runtime, so no server regenerate is needed. Use gofire gen --handlers-only for custom server projects.