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 initCreate the project
For a service:
putnami projects create api --template go-server
putnami test api
putnami serve apiFor a library:
putnami projects create domain --template go-library
putnami test domainWhat to look at first
Start with the service skeleton, then add capabilities in this order:
- Overview for the module map and framework shape.
- HTTP & Middleware for routing, middleware, handlers, and responses.
- Plugins & Lifecycle for startup, shutdown, and capability ownership.
- Configuration and Dependency Injection before wiring spreads across package globals.
- Platform endpoints, Logging, and Telemetry before production.
Daily loop
putnami test api
putnami serve api
putnami lint,test,build --impactedputnami serve keeps the Go project inside the same workspace workflow as TypeScript, Python, and tooling projects.
Read next
- Go overview for the package map.
- Extension for Go-specific build, test, serve, and packaging behavior.
- Tooling & Workspace for project selection, impacted work, and caching.