A powerful Go project scaffolder for modular clean architecture. Rage helps you bootstrap Go services and generate new modules following clean architecture principles.
- 🏗️ Project scaffolding with clean architecture structure
- 📦 Module generation with all clean architecture layers
- 🛠️ Handler, middleware, and router generation
- 🐳 Docker configuration generation
- 🔄 CI/CD pipeline generation (GitHub Actions & GitLab CI)
- 📚 API documentation generation
- Download the latest release for your platform from GitHub Releases
- Extract the archive:
# For macOS/Linux
tar xzf rage_Darwin_arm64.tar.gz # or rage_Darwin_x86_64.tar.gz for Intel Macs
xattr -d com.apple.quarantine rage # Required for macOS security
# For Windows
unzip rage_Windows_x86_64.zip
- Move the binary to your PATH:
# For macOS/Linux
sudo mv rage /usr/local/bin/
# For Windows
# Move rage.exe to a directory in your PATH
- Verify installation:
rage --help
rage new myproject
rage generate module user --with-tests
This creates:
- Handler layer
- Repository layer
- Service layer
- UseCase layer
- Model definitions
# Generate a handler
rage generate handler payment
# Generate middleware
rage generate middleware auth
# Generate router
rage generate router api
# Generate Docker configuration
rage generate docker
# Generate CI/CD configuration
rage generate cicd --provider github
# Generate API documentation
rage generate docs
.
├── cmd/ # Command line applications
├── config/ # Configuration files
├── internal/ # Private application code
│ ├── server/ # Server implementation
│ └── middleware/ # Middleware components
├── pkg/ # Public library code
└── modules/ # Business modules
└── user/ # Example module
├── handler/ # HTTP handlers
├── model/ # Domain models
├── repository/ # Data access layer
├── service/ # Business logic
└── usecase/ # Use cases
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'feat: add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, please open an issue in the GitHub repository.
- Clean Architecture principles by Robert C. Martin
- Go project layout standards
- Cobra CLI framework