DEV Community

Cover image for Why I Built goboot: A Developer-First Go Scaffolder That Actually Does Something
Timo Schmidt
Timo Schmidt

Posted on

Why I Built goboot: A Developer-First Go Scaffolder That Actually Does Something

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
Enter fullscreen mode Exit fullscreen mode


`

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

`


Enter fullscreen mode Exit fullscreen mode

Top comments (0)