// Open source

Infrastructure SDK for building distributed systems in 

Define services and infrastructure in code using structured patterns.
Encore automates provisioning, wiring, documentation, and observability.

Get started

Install the Encore CLI with `brew install encoredev/tap/encore`, then run `encore app create my-app` and follow the prompts to scaffold a new backend and help me explore how to build with encore.

Copy

Paste into your coding agent to install Encore and scaffold an app.

Cursor
url/url.go
1package url
2
3import (
4 "context"
5)
6
7//encore:api public method=POST path=/url
8func Shorten(ctx context.Context, p *ShortenParams) (*URL, error) {
9 id := generateID()
10 _, err := pool.Exec(ctx,
11 "INSERT INTO urls (id, url) VALUES ($1, $2)", id, p.URL)
12 if err != nil { return nil, err }
13 return &URL{ID: id, ShortURL: "/url/" + id}, nil
14}
15
16//encore:api public method=GET path=/url/:id
17func Get(ctx context.Context, id string) (*URL, error) {
18 var url string
19 err := pool.QueryRow(ctx,
20 "SELECT url FROM urls WHERE id = $1", id).Scan(&url)
21 if err != nil { return nil, err }
22 return &URL{URL: url}, nil
23}
Existing codebase
Terminal
Encore Local Development Dashboard
localhost:9400/url
Run `encore run` to see architecture
“What used to take days or weeks of back-and-forth between developers and infra teams is now automated and completed in minutes.”
Josef Sima, Engineering Director at Groupon
2–3xfaster development speed
90%shorter time to market
// POWERING DEVELOPMENT AT
GrouponPave BankBookshop.orgCoinbasePalletGradient Labs

Define your infrastructure as type-safe objects in code

Declare what your application needs directly in Go, and Encore automatically provisions it across local development, preview environments, and production.

database
PostgreSQL database provisioned & migrated

Automated local infrastructure

Encore automatically provisions all local infrastructure: databases, Pub/Sub, caches, and more.
No Docker Compose. No config files. No manual setup.

~/orders — encore run
$
Your API is running at: http://127.0.0.1:4000
Development Dashboard URL: http://127.0.0.1:9400/project-aq6i
MCP SSE URL: http://127.0.0.1:9900/sse?appID=project-aq6i

Local Infrastructure

No config files, no Docker Compose, no Pub/Sub emulators needed

Hot Reload

Code changes reflected immediately, no restarts needed

Local Dev Dashboard

Explore your app's architecture, APIs, traces, and databases in real-time

An SDK you and your AI will love

Encore provides structured patterns and built-in infrastructure guardrails, so you and your AI can build production-grade distributed systems with confidence.

Infrastructure Generation
Robust patterns for integrating databases, pub/sub, cron jobs, and more. Encore runs everything locally for you and provisions it seamlessly in preview and production
MCP for Introspection
Built-in MCP server lets AI understand your services, APIs, schemas, and traces
Standardization & Guardrails
Encore's compiler ensures generated code follows established service structures and API conventions

Turn functions into APIs
with one line of code

Add the //encore:api annotation to a Go function and Encore generates all communication boilerplate at compile-time.

hello.go
API defined - Encore generates boilerplate at compile-time

Built-in local developer tools

From your application code, Encore automatically generates documentation and architecture diagrams, and provides distributed tracing out of the box.

Service Catalog

Service Catalog with API explorer and auto-generated docs from your Go types.

Architecture Diagrams

Real-time architecture diagrams showing services, APIs, databases, Pub/Sub topics, and their connections.

Distributed Tracing

Built-in tracing for API calls, database queries, and Pub/Sub messages — no instrumentation needed.

Works with your existing stack

  • AWS
  • GCP
  • DigitalOcean
  • Neon
  • Temporal
  • Kubernetes
  • Datadog
  • Grafana
  • Next.js
  • Remix
  • Astro
  • Vue
  • Svelte
  • Prisma
  • Gorm
  • Connect
  • GitHub
  • Vercel
  • Netlify

Get started now

Get started

Install the Encore CLI with `brew install encoredev/tap/encore`, then run `encore app create my-app` and follow the prompts to scaffold a new backend and help me explore how to build with encore.

Copy

Paste into your coding agent to install Encore and scaffold an app.