Go Getting Started

Use Go when the first project is a backend service, worker, platform-adjacent component, or library where explicit wiring and predictable runtime behavior matter.

This path starts with the workspace template, then moves into the Go framework primitives.

Pick the project shape

You need... Template What you get
An HTTP service go-server Service entry point, health endpoint, tests, Dockerfile
A shared Go package go-library Go module, exported function, tests, workspace wiring

If you are starting from an empty directory:

putnami init

Create the project

For a service:

putnami projects create api --template go-server
putnami test api
putnami serve api

For a library:

putnami projects create domain --template go-library
putnami test domain

What to look at first

Start with the service skeleton, then add capabilities in this order:

  1. Overview for the module map and framework shape.
  2. HTTP & Middleware for routing, middleware, handlers, and responses.
  3. Plugins & Lifecycle for startup, shutdown, and capability ownership.
  4. Configuration and Dependency Injection before wiring spreads across package globals.
  5. Platform endpoints, Logging, and Telemetry before production.

Daily loop

putnami test api
putnami serve api
putnami lint,test,build --impacted

putnami serve keeps the Go project inside the same workspace workflow as TypeScript, Python, and tooling projects.