GoBack
A TUI-driven Project Scaffolding Tool for Go Backend Services
Effortlessly generate robust backend project structures with your favorite frameworks, databases, and architectural patterns.
β¨ Why GoBack?
Tired of manually setting up boilerplate for every new Go backend project? GoBack automates the entire process. Built with the elegant Bubble Tea framework, it provides a beautiful and intuitive Terminal User Interface (TUI) to configure and generate projects in seconds, letting you focus on writing business logic, not setup code.
π Key Features
- Interactive TUI Mode: A beautiful, step-by-step terminal interface for effortless project configuration.
- Powerful CLI Mode: A fully-featured command-line interface for automation and scripting.
- Rich Tech Stack: Mix and match popular frameworks, databases, ORMs, and architectures.
- DevOps Ready: Generate CI/CD and infrastructure configuration files for Docker, Kubernetes, and more.
- Intelligent Scaffolding: Automatically generates
go.mod, Makefile, .gitignore, and a starter README.md.
- Customizable: Configure default settings and save your preferences for even faster generation.
π οΈ Supported Tech Stack
GoBack offers a wide range of options to build your perfect stack:
| Category |
Supported Options |
| Frameworks |
Fiber, Gin, Chi, Echo |
| Databases |
postgresQL, MySQL, SQLite |
| ORM / Tools |
GORM, SQLC, SQLX |
| Architecture |
Simple, DDD, Clean Architecture, Hexagonal |
| DevOps |
Kubernetes, Helm, Terraform, Ansible, Docker |
π¦ Installation
Prerequisites
- Go 1.23 or higher.
- A terminal that supports 256 colors (recommended for the best TUI experience).
With go install (Recommended)
go install github.com/NarmadaWeb/goback@latest
# your favorite version
go install github.com/NarmadaWeb/goback@0.1.2 # x.x.x
update version to latest
go install -u github.com/NarmadaWeb/goback@latest
With Install Script
For quick installation on Linux, macOS, or Windows (via WSL/Git Bash), use the install script:
curl -fsSL https://raw.githubusercontent.com/NarmadaWeb/goback/main/install.sh | bash
This will automatically download the latest release binary for your platform and install it to /usr/local/bin (or ~/bin if you don't have sudo access).
From Source
git clone https://github.com/NarmadaWeb/goback.git
cd goback
go build .
sudo mv goback /usr/local/bin/
β‘ Quick Start
Interactive TUI Mode (Recommended)
Simply run the command to launch the interactive TUI.
goback
# or
goback tui
The TUI will guide you through:
- Selecting your framework, database, and ORM.
- Choosing an architectural pattern.
- Optionally adding DevOps tool configurations.
- Entering your project details.
- Reviewing your selections and generating the project.
CLI Mode
For scripting and automation, use the new command with flags.
# Generate a simple Fiber API with postgresQL and GORM
goback new my-api \
--framework fiber \
--database postgresql \
--tool gorm \
--architecture ddd
# See all available flags
goback new --help
Click to see more CLI examples
# Create a Gin API with Clean Architecture and a custom module path
goback new user-service \
--framework gin \
--database mysql \
--tool gorm \
--architecture clean \
--module https://github.com/my-org/user-service
# Create a Chi API with full DevOps support
goback new payment-service \
--framework chi \
--database postgresql \
--tool sqlx \
--architecture hexagonal \
--devops \
--devops-tools kubernetes,helm,terraform,ansible,docker
π€ Contributing
Contributions are welcome! Whether it's adding a new feature, fixing a bug, or improving documentation, your help is appreciated.
- Fork the repository.
- Create a new feature branch (
git checkout -b feature/my-amazing-feature).
- Make your changes and commit them (
git commit -m 'feat: Add some amazing feature').
- Push to the branch (
git push origin feature/my-amazing-feature).
- Open a Pull Request.
Please check our Contributing Guidelines and look for issues tagged with good first issue.
π License
This project is licensed under the MIT License. See the LICENSE file for details.
π Acknowledgments
GoBack is built on the shoulders of giants. Our heartfelt thanks to the creators and maintainers of these amazing libraries:
Made with β€οΈ by the NarmadaWeb team for the Go community.