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
Chiwith 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
.nimbustemplate 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 โ
nimbuscommand-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/httpcompatibility, 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.envfiles.
Ready to get started? Head over to the Installation guide.