One guide per topic, each linking to the package pages it covers.
Where to start
Three entry points, depending on what you are doing.
Adopting one package into an existing service. Go straight to its page under /packages/. Every package is importable on its own and pulls only the dependencies it reaches, so nothing else here has to be adopted with it.
Building a new service. /docs/getting-started/ wires the lifecycle end to end, and /docs/service-scaffolding/ generates a complete working project if you would rather start from one.
Moving off gogen. /docs/migration-from-gogen/ has the module path change and what else moved.
Topic guides
Each of these covers how several packages fit together, which is the part a single package page cannot show.
- /docs/getting-started/ : installing the module, importing a package, and wiring a service lifecycle end to end.
- /docs/service-scaffolding/ : generating a complete web service from
project.cfgwithmake project. - /docs/dependency-footprint/ : what each import actually pulls into your build, and how to verify it.
- /docs/observability/ : structured logging, the metrics contract and its backends, trace IDs, and log redaction.
- /docs/resilience/ : retries, backoff and jitter,
Retry-After, periodic work, and DNS caching. - /docs/security/ : password storage, breach checks, JWT authentication, encryption, and the endpoints to keep off the public internet.
- /docs/data-and-messaging/ : SQL lifecycle and transactions, distributed locking, Redis, Valkey, Kafka, S3, and SQS.
- /docs/testing/ : the test helpers, the generated mocks, and the QA pipeline.
- /docs/migration-from-gogen/ : moving from the deprecated
github.com/tecnickcom/gogenmodule path. - /docs/development/ : the Makefile workflow, linting, coverage, benchmarks, and the Docker build.
- /docs/ai-assistants/ : using nurago with LLM coding assistants,
llms.txt, and MCP documentation retrieval.
What each kind of page is for
The documentation is split four ways, and knowing which to open saves a search.
Package pages, under /packages/, cover one package: what it does, the problem it addresses, how it compares to the standard library or the obvious alternative, and measured costs where the package ships benchmarks. One page per package, seventy of them.
Topic guides, listed above, cut across packages. Retries, backoff and scheduling are three packages and one subject, and /docs/resilience/ is where that subject is treated whole.
Articles, under /articles/, go deeper into a single package than its page has room for: the failure that prompted a design, the trade-off taken, and the boundary of what the code promises. Twenty of them, mostly on the packages with the least obvious internals.
The API reference on pkg.go.dev is generated from the source and is authoritative for signatures, types and runnable examples. The pages here do not reproduce it.
Long-form guide
Building a Production REST API in Go is a twenty-part guide on tecnick.com that builds one complete service, from net/http and a bound socket through configuration, shutdown, middleware, the request lifecycle, connection pools, a full feature, testing and a deployment manifest.
It stays on that site because it is a Go guide that happens to use nurago, rather than a nurago guide. The pages here answer “how do I do X”; that one answers “why is the service shaped this way, and what happens when a request arrives”.
Reference
- Package catalog: /packages/
- Capability index: /features/
- Comparison with the alternatives: /comparison/
- In-depth articles: /articles/
- API reference: https://pkg.go.dev/github.com/tecnickcom/nurago
- Source: https://github.com/tecnickcom/nurago
- Who maintains this: /about/
- Licence: MIT, for the whole module