Stop Copy-Pasting Go Project Setup: Let a CLI Do the Boilerplate
You know the drill. You're starting a new Go project, and before you can write a single line of business logic, you're manually creating folder structures, wiring up a router, and figuring out which database driver to import. It's not hard work—it's just tedious. And it's the same tedious work you did on the last project, and the one before that.
Go Blueprint is a CLI tool that removes that friction entirely. One command, and you've got a complete Go project structure with your preferred framework and database driver already wired in. Instead of spending your first hour on setup, you spend it on the actual code you wanted to write.
What It Does
Go Blueprint is a command-line tool that scaffolds a full Go project structure for you. You run go-blueprint create, answer a few prompts (or pass flags to skip them), and you get a ready-to-go project with the framework and database of your choice already integrated.
The tool supports six popular Go frameworks: Chi, Gin, Fiber, HttpRouter, Gorilla/mux, and Echo. For databases, you can pick from MySQL, Postgres, SQLite, MongoDB, Redis, or ScyllaDB. So whether you're building a tiny API with SQLite or a larger service with Postgres and Redis, there's a combination that fits.
The generated structure isn't just a flat "hello world" file either. It sets up an HTTP server (or FastHTTP if you're using Fiber) and organizes the project in a way that makes sense for real development. The idea is that you start with a solid foundation and immediately focus on the parts of your application that are actually unique to it.
You can also use the --advanced flag to layer in extra features during setup. That includes HTMX support with Templ, CI/CD workflows via GitHub Actions, a WebSocket endpoint, Tailwind CSS integration, or Docker configuration. These are optional additions, so you can keep your project lean if you don't need them.
Why It's Cool
What makes Go Blueprint stand out is how it handles the "starter template" problem. Plenty of projects offer boilerplate templates, but they're usually locked into one framework or one database. Go Blueprint treats those choices as options, not constraints.
-
It respects your stack preferences. You're not forced into a single opinionated setup. Want Gin with Postgres? Fine. Prefer Echo with SQLite? Also fine. The combinations are flexible enough that the tool adapts to you, not the other way around.
-
The advanced features are additive, not bloated. The
--advancedflag is a nice design decision. The core tool stays minimal, but if you want Tailwind or Docker support, it's there without making the basic experience heavier. -
Multiple install paths. Go install works if you're already in the Go ecosystem, but there's also npm and Homebrew options. That lowers the barrier for people who might not have Go's toolchain configured a certain way.
-
It handles the boring parts well. The generated structure includes things like setting up the HTTP server and integrating the database driver. Those are exactly the kind of details that are easy to get wrong or forget, especially when you're switching between frameworks project to project.
-
Non-interactive mode for scripting. The flag-based setup (
--name my-project --framework gin --driver postgres) means you can automate project creation. That's handy if you're setting up multiple services or want to include this in a larger workflow.
How to Try It
Getting started is straightforward. You can install Go Blueprint using whichever package manager you prefer:
# Go install
go install github.com/melkeydev/go-blueprint@latest
# Or via npm
npm install -g @melkeydev/go-blueprint
# Or via Homebrew
brew install go-blueprint
If you're using Zsh, you might need to add your GOPATH to your shell configuration:
GOPATH=$HOME/go PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
Then reload your shell config with source ~/.zshrc.
Once installed, the simplest way to use it is:
go-blueprint create
That launches an interactive prompt where you'll choose your project name, framework, and database driver. If you'd rather skip the prompts, use flags:
go-blueprint create --name my-project --framework gin --driver postgres --git commit
Check go-blueprint create -h to see all available options and shorthands. The project lives at github.com/melkeydev/go-blueprint, where you can also find documentation on the supported frameworks and database drivers.
Final Thoughts
Go Blueprint isn't trying to be a full application generator or a framework itself—it's just removing the repetitive setup work that slows you down at the start of every project. For anyone who regularly spins up Go services, especially with different framework and database combinations, it's a practical timesaver. The advanced feature flags give it depth without complicating the core experience, which is a balance a lot of scaffolding tools don't manage well.
If you've ever found yourself copy-pasting the same config files from an old project just to get a new one started, this tool is worth a look. It won't write your application logic for you, but it'll get you to the point where you can start writing it a lot faster.
Follow @githubprojects for more developer tools and open source projects.