Introduction
Go Blueprint eliminates the repetitive setup work when starting a new Go project. Instead of manually wiring up an HTTP framework, database connection, Docker configuration, and project structure, you run a single command and get a working project with your preferred stack.
What Go Blueprint Does
- Scaffolds Go projects with popular HTTP frameworks (Gin, Echo, Fiber, Chi, and more)
- Configures database drivers for PostgreSQL, MySQL, SQLite, MongoDB, and Redis
- Generates Docker and docker-compose files for the chosen stack
- Creates a clean project structure following Go community conventions
- Sets up Makefile, .env, and CI configuration files
Architecture Overview
Go Blueprint is a CLI application written in Go that uses the Bubble Tea TUI framework for its interactive interface. It maintains a set of Go templates for each supported framework and database combination. When you create a project, it renders the appropriate templates with your chosen options, writes the files to disk, initializes a Go module, and runs go mod tidy. The generated project follows a standard layout with cmd, internal, and config directories.
Self-Hosting & Configuration
- Install via go install or download a pre-built binary from GitHub releases
- Run go-blueprint create for the interactive TUI or pass flags for non-interactive use
- Choose from Gin, Echo, Fiber, Chi, standard library, Gorilla, and other frameworks
- Select a database driver or skip database setup entirely
- The generated project includes a Makefile with common tasks like build, run, and test
Key Features
- Interactive TUI for selecting project options with keyboard navigation
- Supports 8+ HTTP frameworks and 5+ database drivers out of the box
- Generates production-ready Docker and docker-compose configurations
- Creates test scaffolding and CI workflow templates
- Non-interactive mode with flags enables use in automation scripts
Comparison with Similar Tools
- gonew — Official Go project cloning tool; Go Blueprint offers framework-specific scaffolding
- Cookiecutter — Language-agnostic template tool; Go Blueprint is Go-specific with curated stacks
- Yeoman — JavaScript scaffolding ecosystem; Go Blueprint serves the Go community
- Buffalo — Full-stack Go framework with generator; Go Blueprint is framework-agnostic
- create-go-app — Similar concept; Go Blueprint supports more frameworks and databases
FAQ
Q: Which Go frameworks does Go Blueprint support? A: Gin, Echo, Fiber, Chi, Gorilla/Mux, standard library net/http, and several others. New frameworks are added regularly by the community.
Q: Can I customize the generated project structure? A: The generated code is yours to modify. Go Blueprint creates a starting point; you can restructure directories and add packages as needed.
Q: Does Go Blueprint generate tests? A: Yes. The scaffolded project includes test file stubs and a Makefile target for running tests.
Q: Can I use Go Blueprint in CI/CD pipelines? A: Yes. The non-interactive mode (--name, --framework, --driver flags) works in scripts and automated pipelines.