A CLI tool for scaffolding and building production-ready Go applications with a layered architecture.
Nunu is a CLI tool for scaffolding and building production-ready Go applications. It provides a pre-configured project structure with a layered architecture, integrating popular libraries like Gin, Gorm, and Wire to help developers quickly bootstrap backend services without spending time on boilerplate setup.
Go developers and teams building web applications or microservices who want a standardized, maintainable project structure and accelerated development workflow.
Developers choose Nunu because it combines best-of-breed Go libraries into a cohesive framework, reducing initial setup time and enforcing architectural best practices through its CLI-driven scaffolding and dependency injection.
A CLI tool for building Go applications.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The `nunu new` command generates a complete Go project with layered architecture, configuration, and essential files in seconds, as highlighted in the README for quick startup.
Pre-configured with battle-tested tools like Gin for HTTP, Gorm for ORM, and Wire for DI, reducing manual setup and ensuring a robust foundation out of the box.
Promotes maintainability with clear separation into handler, service, and repository layers, as shown in the directory structure, facilitating code organization and testing.
Includes hot reloading via `nunu run` and CLI commands for generating components, accelerating iteration and reducing boilerplate coding effort.
Heavily opinionated with specific libraries; swapping out core components like Gin or Gorm requires significant effort and may break the integrated setup, limiting flexibility.
While modular, deviating from the prescribed architecture or adding non-standard features can be challenging due to tight integration and Wire-based dependency injection.
Relies on Google Wire for DI, which has a steeper learning curve compared to simpler approaches, potentially slowing down developers unfamiliar with compile-time DI patterns.