Documentation

Guides for building and running Go services with nurago

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.

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