Go

Go is Putnami's backend service surface: small packages, explicit wiring, fast builds, and operational primitives that match the same workspace model as TypeScript.

Use it for APIs, workers, platform-adjacent services, and infrastructure-facing components where predictable runtime behavior matters more than framework magic.

Choose your path

Goal Start here Then read
Create your first Go project Getting Started How To / Guides, Extension phases, Overview
Create a service HTTP & Middleware Plugins & Lifecycle, Platform endpoints
Structure the application Plugins & Lifecycle Dependency Injection, Configuration
Protect boundaries Security Validation, Errors
Add data and messaging Persistence Events, Storage, Caching
Expose service contracts OpenAPI gRPC & Connect, Service Clients
Operate in production Platform endpoints Logging, Telemetry, Testing

The service model

Putnami Go services are built around the same architectural shape as the rest of the workspace:

  1. Application lifecycle starts and stops plugins predictably.
  2. Plugins own capabilities such as HTTP, health, events, storage, or telemetry.
  3. Dependency injection and config keep wiring explicit instead of hidden in package globals.
  4. Platform endpoints and telemetry make the service inspectable from the first deploy.

That gives Go projects a clear path from a small HTTP service to a production backend without changing the repo model.

Capability map

Concern Go docs What to expect
HTTP HTTP & Middleware Routing, middleware chains, handlers, responses
Runtime wiring Dependency Injection, Configuration Typed construction, scopes, environment-driven config
Data Persistence, Storage, Caching PostgreSQL, object storage, local and layered caches
Communication Events, gRPC & Connect, Service Clients Async workflows, RPC, outbound clients
Operability Logging, Telemetry, Platform endpoints Structured logs, traces, health and readiness endpoints

If you are coming from TypeScript

The concepts are intentionally familiar, but the implementation is Go-native.

TypeScript concern Go equivalent
application().use(...) Application lifecycle plus plugins
API routes and middleware HTTP & Middleware
DI providers Dependency Injection
Typed config Configuration
Health and telemetry Platform endpoints, Telemetry

Next: start with Getting Started, use How To / Guides for concrete tasks, then read Extension phases when you need to understand build, test, lint, serve, packaging, or cache behavior.