When you start a Go project, you usually copy something old, grab a half-broken boilerplate, or stitch together folders until it “feels right.”
But what if you had a clean, versioned starting point — designed from day one to scale, evolve, and stay sane?
That’s where goboot
comes in.
What is goboot
?
goboot
is a deterministic scaffolding tool for Go projects.
Not a framework. Not a code dump.
Instead: a modular, developer-first CLI that grows clean Go projects in structured, maintainable layers.
It’s designed for:
- OSS maintainers who care about hygiene
- Indie builders and backend devs who hate chaos
- Infrastructure/codegen projects that need reproducibility
v0.0.0
– Structured Bootstrap with Real Output
The first public release is more than just layout:
- CLI entrypoint:
goboot
- Working service system (
base_project
) - Go
text/template
rendering — both in paths and file content - A fully functional scaffold generator with placeholders and structure
- Full documentation:
README
,ROADMAP
,VERSIONING
, ADRs, diagrams
This means goboot
already does something useful:
It can render a minimal project scaffold from a config, cleanly and reproducibly.
Design Principles
-
Modular by default (
cmd/
,pkg/
,configs/
,templates/
) - Deterministic output — no random CLI magic
- Layered roadmap with minimalism, security, and CI in mind
- No runtime reflection, no global state, no magic
It’s boring on purpose — so your projects don’t fall apart.
Roadmap Highlights
Next milestones include:
- CI & lint/test automation
- Contributor workflows
- Docker support
- Template extension system
- Plugin-based generator logic
Full roadmap: ROADMAP.md
Try It
git clone https://github.com/it-timo/goboot.git
cd goboot
go run ./cmd/goboot/main.go
`
This will invoke the base_project
service — rendering a basic project scaffold from templates using your config.
Follow Along
- ⭐ Star the repo
- Join discussions or open issues
- Future releases will be added as comments below
Thanks for reading —
Timo
GitHub: https://github.com/it-timo/goboot
License: MIT
`
Top comments (1)
📦 v0.0.1 – Local Tooling & Linting
First functional release of goboot — bringing local developer workflows and static analysis into play.
Where v0.0.0 laid out the project’s structure, this version adds actual tooling support: reproducible hygiene, pre-commit setup, and script-based linting aligned with modern Go practices.
🚀 What's inside:
📌 Status:
Still within the v0.0.x pre-alpha phase.
But this marks the shift from structure to working logic.
🔜 Next:
Local testing support (base_test) is up next.