Introduction

Nimbus is a convention-over-configuration web framework for Go, heavily inspired by Laravel. It brings the productivity and structure of full-featured frameworks to the Go ecosystem, while keeping the performance and type safety that Go developers expect.

Why Nimbus?

Most Go web frameworks are minimalist routers that leave application structure entirely up to you. Nimbus takes a different approach: it provides an opinionated project layout, a rich standard library, and familiar patterns so you can focus on building features instead of wiring things together.

  • Spend less time on boilerplate โ€” Nimbus scaffolds a complete project in seconds.
  • Consistent conventions โ€” every Nimbus app follows the same directory structure and patterns.
  • Batteries included โ€” routing, ORM, views, auth, caching, and more out of the box.
  • Go performance โ€” compiled binary, low memory footprint, fast startup.

Key Features

  • Routing โ€” Expressive route registration built on Chi with path params, groups, and middleware.
  • Controllers โ€” Struct-based controllers with action methods (Index, Show, Create, Update, Delete).
  • ORM โ€” Integrated GORM for models, migrations, and seeders.
  • Views โ€” Custom .nimbus template engine with layouts, partials, and data binding.
  • Middleware โ€” Logger, Recover, CORS, CSRF, Rate Limiting, and easy custom middleware.
  • Authentication โ€” Session guards, access tokens, and authorization policies.
  • Cache โ€” In-memory and Redis-backed caching with a unified API.
  • Events โ€” Application-level event emitter for decoupled communication.
  • Queue โ€” Background job processing for async workloads.
  • Mail โ€” SMTP email sending with template support.
  • WebSockets โ€” Real-time communication via WebSocket channels.
  • CLI โ€” nimbus command-line tool for scaffolding, serving, and code generation.

Philosophy

Nimbus follows three core principles:

  • Convention over configuration โ€” sensible defaults that work out of the box; override only when you need to.
  • Full-stack productivity โ€” everything you need for a web app ships with the framework, not as separate micro-libraries.
  • Idiomatic Go โ€” patterns feel natural to Go developers: exported struct methods, standard net/http compatibility, and minimal magic.

How Nimbus Compares

If you have used other Go web frameworks, here is how Nimbus fits in:

  • vs Gin / Echo / Chi โ€” These are excellent routers, but they leave project structure, ORM, views, and auth up to you. Nimbus includes all of that.
  • vs Fiber โ€” Fiber provides more built-in features than a bare router, but still does not enforce conventions. Nimbus adds an opinionated structure plus a CLI.
  • vs Buffalo โ€” Buffalo was the closest Go equivalent to Rails. Nimbus inherits that spirit with stronger Laravel-style conventions and modern maintenance.
  • vs Laravel (PHP) โ€” Nimbus mirrors Laravel concepts (controllers, middleware, service providers, views, ORM) in Go, offering familiar DX with Go performance.

Under the Hood

Nimbus builds on battle-tested Go libraries:

  • go-chi/chi โ€” HTTP router (net/http compatible, fast, composable).
  • github.com/CodeSyncr/nimbus/lucid โ€” Nimbus ORM surface for database operations, migrations, and model relationships.
  • godotenv โ€” Environment variable loading from .env files.

Ready to get started? Head over to the Installation guide.