DEV.co
MCP Servers · go-nunu

nunu

Nunu is a CLI scaffolding tool for Go applications that bundles popular ecosystem libraries (Gin, GORM, Wire, Zap) into a pre-configured layered architecture. It reduces boilerplate setup for new Go projects and supports code generation for handlers, services, and models.

Source: GitHub — github.com/go-nunu/nunu
2.6k
GitHub stars
205
Forks
Go
Primary language
MIT
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositorygo-nunu/nunu
Ownergo-nunu
Primary languageGo
LicenseMIT — OSI-approved
Stars2.6k
Forks205
Open issues2
Latest releasev1.1.3 (2025-08-11)
Last updated2026-04-26
Sourcehttps://github.com/go-nunu/nunu

What nunu is

Nunu provides a structured project template and CLI commands for Go applications using dependency injection (Wire), HTTP routing (Gin), ORM (GORM), logging (Zap), configuration management (Viper), and testing utilities. It enforces a modular layered architecture (handler/service/repository/model) with hot-reload support during development.

Quickstart

Get the nunu source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/go-nunu/nunu.gitcd nunu# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Rapid Go Application Scaffolding

Teams needing to bootstrap new Go microservices or REST APIs quickly with a standardized, opinionated project structure and immediate access to common dependencies.

Mid-Scale Web & API Development

Building server-side applications with standard layered architecture where dependency injection, structured logging, configuration management, and database interaction are required.

Educational & Team Onboarding

Teaching Go best practices and architecture patterns to junior developers or establishing consistent project conventions across a team unfamiliar with Go ecosystem composition.

Implementation considerations

  • Go 1.19+ is required; verify environment setup and GOBIN configuration for CLI availability after `go install`.
  • The generated project structure enforces a specific layered pattern; teams must accept or commit to refactoring if internal architecture differs significantly.
  • Wire-based dependency injection requires regeneration after model/service changes; integrate `nunu wire` into build pipelines to avoid manual compilation errors.
  • Default templates pull from GitHub; environments with network restrictions may need custom template repositories (Gitee mirrors are documented).
  • Bundled libraries (Gin, GORM, Zap, Viper) versions are set at generation time; maintenance and upgrades are manual afterward.

When to avoid it — and what to weigh

  • Extreme Minimalism or Functional Architectures — Projects requiring ultra-lightweight dependencies or functional/domain-driven patterns radically different from the bundled layered architecture.
  • Non-Standard Database or Async Patterns — Applications heavily reliant on GraphQL, gRPC, event streaming, or NoSQL-only stacks where the default GORM + SQL focus is misaligned.
  • Highly Specialized or Legacy Integration — Systems with rigid external dependency requirements or legacy codebase patterns that conflict with Nunu's opinionated structure.
  • Production Code Requiring Extensive Customization — If your team needs to heavily modify or remove core bundled libraries post-generation, the time saved by scaffolding may be offset by refactoring overhead.

License & commercial use

Nunu is released under the MIT License, which is a permissive OSI license allowing commercial use, modification, and distribution with minimal restrictions (retain license and copyright notice).

MIT License permits commercial use without restriction. However, ensure compliance with licenses of all bundled dependencies (Gin, GORM, Wire, Zap, etc.) in your commercial product. Conduct a dependency audit before production deployment.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationStrong
License clarityClear
Deployment complexityLow
DEV.co fitGood
Assessment confidenceHigh
Security considerations

Nunu itself is a scaffolding tool and does not execute untrusted code. Security posture depends on: (1) versions of bundled libraries (Gin, GORM, JWT, Casbin) at generation time; (2) user implementation of handlers/middleware; (3) environment configuration (secrets management via Viper). No built-in secrets rotation, encryption, or hardening guides. Teams must implement authentication (JWT provided), authorization (Casbin included), and input validation independently. Conduct dependency vulnerability scan after project generation.

Alternatives to consider

Buf (Protocol Buffers + gRPC scaffold)

If building gRPC microservices rather than REST APIs; Buf is more specialized for RPC-first architectures and less opinionated about layered structure.

echo or chi + manual setup

For teams preferring minimal frameworks or routing libraries; manual composition offers more control but requires more boilerplate and discipline.

Ent (Entity Framework for Go)

If ORM design and type-safe graph queries are paramount; Ent is more sophisticated than GORM but steeper learning curve and less common in Go ecosystem.

Software development agency

Build on nunu with DEV.co software developers

Nunu reduces boilerplate setup for Go applications. Our team can help evaluate whether Nunu fits your architecture, audit dependencies, and integrate it into your CI/CD pipeline.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

nunu FAQ

Can I customize the generated project structure after creation?
Yes. Nunu generates a starter project; all code is yours to modify. However, the `nunu create` commands expect the default structure. Significant deviations may break code generation helpers.
Does Nunu support databases other than MySQL?
Yes. GORM (included) supports PostgreSQL, SQLite, SQL Server, and others. Configuration is via `config/` environment files. MySQL is the documented default, not a hard requirement.
How is dependency injection managed?
Via Google Wire. Generated projects include `wire.go` and `wire_gen.go` in `cmd/server/wire/`. Run `nunu wire` after adding new services/handlers to regenerate the dependency graph.
Is Nunu suitable for production?
Nunu is a scaffolding tool; production readiness depends on your implementation. Bundled libraries (Gin, GORM, Zap) are production-grade. You must implement error handling, logging, security, and testing rigorously.

Work with a software development agency

From first prototype to production, DEV.co delivers software development services around tools like nunu. Our software development agency staffs experienced software developers and web developers for custom software development, web development, integrations, and ongoing support across mcp servers and beyond.

Ready to Accelerate Go Development?

Nunu reduces boilerplate setup for Go applications. Our team can help evaluate whether Nunu fits your architecture, audit dependencies, and integrate it into your CI/CD pipeline.