Documentation
Nimbus is an Laravel-style web framework for Go. Explore the guides below to get started.
Start
Getting Started Path
Build your first app in 30-45 minutes.
Introduction
What is Nimbus and why it exists.
Installation
Install CLI, create an app, run the server.
Folder Structure
Directories, conventions and layout.
Configuration
.env files, config struct, environment.
Deployment
Build, Docker, nginx, systemd.
FAQs
Common questions and answers.
Production Readiness
Production Readiness Checklist
End-to-end launch checklist: migrations, queue reliability, realtime security, health probes, and release gates.
Queue Operations Guide
Lease tuning, retries, reclaim handling, and production alerts.
Realtime Security Defaults
Origin allowlists and safe WebSocket/Presence deployment patterns.
Versioning & Release Policy
SemVer guarantees, deprecation windows, and CI release gates for stable upgrades.
Maintainer Release Checklist
Step-by-step pre-release, release, and post-release checklist for predictable framework releases.
Choose your stack
API-only backend
Best for mobile, SPA, and service APIs.
Start with: Routing โ Controllers โ Validation โ Auth โ Queue
SSR with .nimbus templates
Best for server-rendered apps with minimal frontend JS.
Start with: Nimbus Template โ Routing โ Session/Auth โ Validation
SPA with Inertia
Best for React/Vue/Svelte apps with server-driven routing.
Start with: Inertia โ Inertia Setup โ Validation โ Auth โ Deployment
Basics
Routing
Methods, params, groups.
Controllers
Organize handlers into structs.
HTTP Context
Request + response helpers.
Middleware
Logger, Recover, custom chains.
Validation
Struct tags and request validation.
Exception Handling
Error types, panic recovery.
Nimbus Template
Inertia
Inertia.js
Vue, React, Svelte SPAs with server-driven routing.
Inertia Setup
Add Inertia to an existing app.
Inertia HMR & Vite
Hot Module Replacement, React Fast Refresh, troubleshooting.
Data Layer
Database & ORM
GORM, models, queries.
Migrations
Schema changes over time.
Seeders
Populate data for dev/testing.
NoSQL Integrations
MongoDB and Redis usage.
Auth & Security
Shield
XSS, CSRF, CSP & security headers.
Auth Introduction
Guards, users, RequireAuth.
Session Guard
Cookie-based sessions.
Access Tokens
Bearer token authentication.
Stateless Guard
JWT and PASETO authentication.
Authorization
Policies and permissions.
CORS
Cross-origin resource sharing.
CSRF
Cross-site request forgery protection.
Rate Limiting
Throttle incoming requests.
Digging Deeper
Cache
In-memory cache store.
Storage
File system driver (low-level).
Drive
File storage (fs, S3, GCS, R2, Spaces, Supabase).
Transmit
SSE for real-time server-to-client push.
Reverb
WebSocket channels with optional Redis fan-out.
Events
Event bus, listen and dispatch.
Logger
Structured logging with zap.
SMTP driver, send messages.
Queue
Background jobs (sync, Redis, database, SQS, Kafka).
Scheduler
Cron-like task scheduling.
WebSockets
Real-time communication.
Core Concepts
Application Lifecycle
Boot, register, run.
Dependency Injection
IoC container, Bind, Singleton.
Service Providers
Register and boot services.
Container Services
Built-in services and custom bindings.
Best Practices
Development guidelines and architecture.
Command Line & Testing
CLI Introduction
nimbus new, serve, make:*.
Creating Commands
Custom commands with nimbus/command.
Hot Reload
Air integration, auto-restart.
Testing Introduction
go test, TestClient setup.
HTTP Tests
Request assertions and examples.
Advanced Features
Workflow Engine
Durable step-based workflows with persistence.
Feature Flags
Runtime feature toggling.
Multi-Tenancy
Subdomain, header, or path tenancy.
Realtime Presence
Track online users across channels.
OpenAPI Generation
Auto-generate OpenAPI 3.0 spec from routes.
Studio Admin Panel
Auto-generated CRUD admin for models.
Edge Functions
Serverless edge handlers.
Runtime Metrics
Goroutines, heap, GC monitoring.
Full-Text Search
Search with Meilisearch, Typesense.