Skip to content
v0.1.41

The Go framework that ships batteries included

Lemmego combines the productivity of modern web frameworks with the type safety and performance of Go.

Batteries

Lemmego is a batteries-included framework.

// cmd/app/main.go
func main() {
    app.Configure().
        WithProviders(bootstrap.LoadProviders()).
        WithRoutes(bootstrap.LoadRoutes()).
        WithMiddlewares(bootstrap.LoadMiddlewares()).
    Run()
}
// bootstrap/providers.go
func LoadProviders() []app.Provider {
    return []app.Provider{
        &session.Provider{},
        &gormconnector.Provider{UseGPA: true},
        &inertia.Provider{},
        &queue.Provider{},
        &auth.Provider{},
    }
}

Features

  • Full-featured HTTP layer — Param-based routing, route grouping, flexible middleware, input validation, typed errors
  • Type-safe database layer — GPA provides compile-time type safety across SQL, NoSQL, and KV stores with generic Repository[T]
  • Plugin architecture — Extend the framework through providers without modifying core code
  • Multiple frontends — Go Templates, Templ, or Inertia.js with React/Vue
  • File storage — Unified abstraction for local, S3, and GCS
  • CLI tools — Project scaffolding, code generators, migration management
  • Background jobs — Distributed queue system with web dashboard

Get Started

What’s Included

ModuleDescription
APICore framework: routing, middleware, DI, sessions, config, validation
GPAType-safe database abstraction with multi-provider support
QueueDistributed background job system with web dashboard
CLIProject scaffolding and code generation
InertiaServer-side adapter for Inertia.js SPAs
TemplBridge for type-safe Go templates
AuthSession + JWT authentication with middleware
MigrationsBidirectional database schema management
File SystemCloud-agnostic storage (local, S3, GCS)