Skip to content

untrustnova/framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project BlueGO Kernel & Nova CLI

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:

  1. Kernel (vendor/framework) – the service container, HTTP runtime, Plasma ORM, cache/cookie/crypto helpers, and database drivers.
  2. Nova CLI (nova/) – the command-line tool that scaffolds projects, selects frontend stacks, and runs dev/build/migrate tasks.

Highlights

  • 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 .env loader, auto-generated APP_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 CLInova 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.

Repository Layout

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

Workflow

  1. Install Nova (from this repo)
    go install ./nova
  2. 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
  3. 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 via cmd/migrate.
    • nova build, nova prod, nova compose, nova run <cmd> - production workflow.

BlueGO Skeleton Repo

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.

Future Roadmap

  • 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.

License

MIT (to be finalized).

About

An Kernel for BlueGo.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages