$git clone https://github.com/go-nunu/nunuNunu is a scaffolding tool for building Go applications. Its name comes from a game character in League of Legends, a little boy riding on the shoulders of a Yeti. Just like Nunu, this project stands on the shoulders of giants, as it is built upon a combination of popular librari
| 1 | <a href="https://trendshift.io/repositories/9047" target="_blank"><img src="https://trendshift.io/api/badge/repositories/9047" alt="go-nunu%2Fnunu | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a> |
| 2 | |
| 3 | |
| 4 | # Nunu — A CLI tool for building Go applications. |
| 5 | |
| 6 | Nunu is a scaffolding tool for building Go applications. Its name comes from a game character in League of Legends, a little boy riding on the shoulders of a Yeti. Just like Nunu, this project stands on the shoulders of giants, as it is built upon a combination of popular libraries from the Go ecosystem. This combination allows you to quickly build efficient and reliable applications. |
| 7 | |
| 8 | 🚀Tips: This project is very complete, so updates will not be very frequent, welcome to use. |
| 9 | |
| 10 | - [简体中文介绍](https://github.com/go-nunu/nunu/blob/main/README_zh.md) |
| 11 | - [Português](https://github.com/go-nunu/nunu/blob/main/README_pt.md) |
| 12 | - [日本語](https://github.com/go-nunu/nunu/blob/main/README_jp.md) |
| 13 | |
| 14 |  |
| 15 | |
| 16 | ## Documentation |
| 17 | * [User Guide](https://github.com/go-nunu/nunu/blob/main/docs/en/guide.md) |
| 18 | * [Architecture](https://github.com/go-nunu/nunu/blob/main/docs/en/architecture.md) |
| 19 | * [Getting Started Tutorial](https://github.com/go-nunu/nunu/blob/main/docs/en/tutorial.md) |
| 20 | * [Unit Testing](https://github.com/go-nunu/nunu/blob/main/docs/en/unit_testing.md) |
| 21 | * [MCP Server](https://github.com/go-nunu/nunu-layout-mcp/blob/main/README.md) |
| 22 | * [Monorepo Layout](https://github.com/go-nunu/nunu-layout-monorepo) |
| 23 | |
| 24 | |
| 25 | ## Features |
| 26 | - **Gin**: https://github.com/gin-gonic/gin |
| 27 | - **Gorm**: https://github.com/go-gorm/gorm |
| 28 | - **Wire**: https://github.com/google/wire |
| 29 | - **Viper**: https://github.com/spf13/viper |
| 30 | - **Zap**: https://github.com/uber-go/zap |
| 31 | - **Golang-jwt**: https://github.com/golang-jwt/jwt |
| 32 | - **Go-redis**: https://github.com/go-redis/redis |
| 33 | - **Testify**: https://github.com/stretchr/testify |
| 34 | - **Sonyflake**: https://github.com/sony/sonyflake |
| 35 | - **Gocron**: https://github.com/go-co-op/gocron |
| 36 | - **Go-sqlmock**: https://github.com/DATA-DOG/go-sqlmock |
| 37 | - **Gomock**: https://github.com/golang/mock |
| 38 | - **Swaggo**: https://github.com/swaggo/swag |
| 39 | - **Casbin**: https://github.com/casbin/casbin |
| 40 | - **Pitaya**: https://github.com/topfreegames/pitaya |
| 41 | - **MCP-GO**: https://github.com/mark3labs/mcp-go |
| 42 | |
| 43 | - More... |
| 44 | |
| 45 | ## Key Features |
| 46 | * **Low Learning Curve and Customization**: Nunu encapsulates popular libraries that Gophers are familiar with, allowing you to easily customize the application to meet specific requirements. |
| 47 | * **High Performance and Scalability**: Nunu aims to be high-performance and scalable. It uses the latest technologies and best practices to ensure that your application can handle high traffic and large amounts of data. |
| 48 | * **Security and Reliability**: Nunu uses stable and reliable third-party libraries to ensure the security and reliability of your application. |
| 49 | * **Modular and Extensible**: Nunu is designed to be modular and extensible. You can easily add new features and functionality by using third-party libraries or writing your own modules. |
| 50 | * **Complete Documentation and Testing**: Nunu has comprehensive documentation and testing. It provides extensive documentation and examples to help you get started quickly. It also includes a test suite to ensure that your application works as expected. |
| 51 | |
| 52 | ## Concise Layered Architecture |
| 53 | Nunu adopts a classic layered architecture. In order to achieve modularity and decoupling, it uses the dependency injection framework `Wire`. |
| 54 | |
| 55 |  |
| 56 | |
| 57 | ## Nunu CLI |
| 58 | |
| 59 |  |
| 60 | |
| 61 | |
| 62 | ## Directory Structure |
| 63 | ``` |
| 64 | . |
| 65 | ├── api |
| 66 | │ └── v1 |
| 67 | ├── cmd |
| 68 | │ ├── migration |
| 69 | │ ├── server |
| 70 | │ │ ├── wire |
| 71 | │ │ │ ├── wire.go |
| 72 | │ │ │ └── wire_gen.go |
| 73 | │ │ └── main.go |
| 74 | │ └── task |
| 75 | ├── config |
| 76 | ├── deploy |
| 77 | ├── docs |
| 78 | ├── internal |
| 79 | │ ├── handler |
| 80 | │ ├── middleware |
| 81 | │ ├── model |
| 82 | │ |