Help us shape the future of Go! Take the 2026 Go Developer Survey

vormia-go-cli

module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2026 License: MIT

README

vormia-go-cli

Command-line tool for the Vormia Go application framework. Scaffold projects, run them locally, and verify your environment — the same developer workflow Laravel's artisan provides, built on Cobra and embedded Go templates.

Version: v1.0.0 — Slice 1 (new, serve, doctor). Generators (make:model, migrate, install, upgrade) ship alongside their matching framework slices.

Install

go install github.com/vormialabs/vormia-go-cli/cmd/vormia@v1.0.0

Or build from source:

git clone https://github.com/vormialabs/vormia-go-cli.git
cd vormia-go-cli
go build -o vormia ./cmd/vormia

Requires Go 1.26+.

Verify:

vormia --version
# vormia version 1.0.0

Quick start

vormia new blog --db sqlite
cd blog
go mod tidy
vormia serve

Open http://localhost:8080/health — you should see ok.

That path exercises the full stack: CLI scaffolds a project → generated app imports vormia-go and drivers → kernel wires chi + sqlite → serves a request.

Commands

Command Description
vormia new <name> Scaffold a new Vormia Go application
vormia serve Run the application (go run .) from the project root
vormia doctor Check Go toolchain and project metadata
vormia new

Creates a working slice-1 application: chi router, chosen database driver, optional Redis cache, a /health route, and .vormia.json metadata for future upgrade tooling.

vormia new blog
vormia new blog --db postgres --cache redis
vormia new blog --module example.com/blog --db mysql
Flag Default Choices Purpose
--module project name any Go module path go.mod module line
--db sqlite sqlite, postgres, mysql database driver
--cache none redis, none cache driver

Generated projects pin v1.0.0 of vormia-go and the selected drivers in go.mod.

vormia serve

Runs go run . in the current directory. Requires .vormia.json at the project root — run it from inside a scaffolded app, not the CLI repo itself.

The app's kernel already handles serving and graceful shutdown; the CLI does not reimplement the run loop.

vormia doctor

Checks that go is on PATH. When run inside a project, also confirms .vormia.json is present.

vormia doctor

Generated project

vormia new blog --db sqlite produces:

blog/
├── main.go           # kernel + chi + driver wiring + /health route
├── go.mod            # pinned framework and driver versions
├── .env.example      # APP_PORT, DB_*, REDIS_* placeholders
├── .gitignore
└── .vormia.json      # project metadata (name, module, drivers, framework version)

Templates ship inside the CLI binary via //go:embed — vormia new works anywhere with no external template files.

Local development

Scaffolded apps resolve dependencies from GitHub. For local end-to-end testing before tags are published, add replace directives to the generated go.mod:

replace github.com/vormialabs/vormia-go => ../vormia-go
replace github.com/vormialabs/vormia-go-driver-chi => ../vormia-go-driver-chi
replace github.com/vormialabs/vormia-go-driver-sqlite => ../vormia-go-driver-sqlite

Then go mod tidy and vormia serve work against your local checkouts.

Testing

go test -v ./...
go vet ./...

Scaffold tests render into a temp directory and verify file output without building the generated project (that requires published or replaced modules).

Roadmap

Commands are added alongside the framework slices they depend on — no stubs with broken output.

Command Waits on
make:model, make:controller, make:service Framework ORM slice
migrate up / migrate down Framework migration system
install Config/provider slice
upgrade Release manifests
Package Role
vormia-go Application kernel and contracts
vormia-go-driver-chi Chi router driver
vormia-go-driver-sqlite SQLite database driver
vormia-go-driver-postgresql PostgreSQL database driver
vormia-go-driver-mysql MySQL database driver
vormia-go-driver-redis Redis cache driver

License

MIT — see LICENSE.

Directories

Path Synopsis
cmd
vormia command
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL