BlueGO is a Golang-based fullstack framework inspired by Laravel’s DX, Next.js’s hybrid rendering, and Vite’s lightning-fast frontend workflow. This repository hosts two pieces:
- Kernel (
vendor/framework) – the service container, HTTP runtime, Plasma ORM, cache/cookie/crypto helpers, and database drivers. - Nova CLI (
nova/) – the command-line tool that scaffolds projects, selects frontend stacks, and runs dev/build/migrate tasks.
- Service Container & Providers – Bind singletons/transients, register service providers, and bootstrap application state just like Laravel.
- HTTP Kernel – Router + middleware pipeline, panic recovery, security headers, logging, CORS, health endpoints, and graceful shutdown out of the box.
- Config & Env – Dot-notation config repository, layered
.envloader, auto-generatedAPP_KEY, and locale helpers. - Database Layer (Plasma ORM) – Connection manager supporting MySQL, PostgreSQL, SQLite (pure Go), MongoDB, Supabase, and Firebase; migrations & query builder scaffolding; transaction helpers.
- Support Utilities – Cache stores, cookie signing, crypto key generation, string/array helpers, request/response wrappers.
- Nova CLI –
nova new,nova create-project,nova dev,nova build,nova prod,nova compose,nova ui:select,nova make:*,nova migrate,nova run—mirroring Laravel’s Artisan/Composer workflow.
framework/
├─ go.mod
├─ vendor/framework/ # Kernel module (github.com/untrustnova/framework/framework)
│ ├─ Config/ # env + config repositories
│ ├─ Console/ # Nova command registry
│ ├─ Database/ # Plasma ORM, drivers, migrations
│ ├─ Http/ # Router/middleware/request/response/cookies
│ ├─ Kernel/ # service container + HTTP kernel
│ └─ Support/ # Cache/Crypto/Str/Arr helpers
└─ nova/ # Nova CLI
├─ commands/ # `nova dev`, `nova make:migration`, etc.
└─ internal/scaffolder/ # copies the BlueGO skeleton template
- Install Nova (from this repo)
go install ./nova
- Create a BlueGO application
nova new bloggo # or: nova create-project untrustnova/bluego bloggo # prompts for TSX/JSX and runs bun install + go mod tidy automatically cd bloggo nova dev # runs Go API + Vite dev server
- Use Nova commands
nova ui:select tsx|jsx- switch frontend templates.nova make:controller PostController,nova make:model Post,nova make:migration ....nova migrate,nova migrate:fresh- run Plasma migrations viacmd/migrate.nova build,nova prod,nova compose,nova run <cmd>- production workflow.
The starter application now lives in ../BlueGo (sibling to this kernel), analogous to laravel/laravel. Nova copies that template when running nova new or nova create-project.
- RestGo auth package (
nova add restgo) for Sanctum-like API tokens. - Plasma ORM improvements (model hooks, eager loading, richer migration DSL).
- Additional Nova tooling (testing harness, queue worker, assets pipeline).
- Docker/Kubernetes opinionated configs.
MIT (to be finalized).