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

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • MyrinNew
    Senior Member
    • Feb 2024
    • 5168

    #1

    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






    `


    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


    `














    More...
Working...