explaingit

encoredev/encore

11,943GoAudience · developerComplexity · 3/5Setup · moderate

TLDR

Encore is an open-source framework for building multi-service backends in TypeScript or Go where you declare databases, queues, and APIs directly in code and Encore handles local setup and cloud deployment automatically.

Mindmap

mindmap
  root((Encore))
    What it does
      Multi-service backend
      Code-first config
      Auto infrastructure
    Tech Stack
      Go
      TypeScript
      Docker
    Deployment
      Encore Cloud
      AWS or GCP
      Docker export
    Developer Tools
      Local dashboard
      Request tracing
      API explorer
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build a multi-service backend where databases and message queues spin up automatically just by declaring them in your Go or TypeScript code.

USE CASE 2

Deploy a backend to your own AWS or GCP account without writing Terraform or YAML config files.

USE CASE 3

Add a new Encore service to an existing backend system one at a time and have it talk to your current services via normal API calls.

USE CASE 4

Export your Encore app as a Docker image and run it on any infrastructure you already control.

Tech stack

GoTypeScriptDockerAWSGCPTerraform

Getting it running

Difficulty · moderate Time to first run · 1h+

Deploying via Encore Cloud requires linking your own AWS or GCP account, self-hosted deployment requires a Docker image export and manual infrastructure config.

In plain English

Encore is an open-source framework for building backend applications that need to run as multiple services, talk to databases, and send messages between components. It supports both TypeScript and Go. The core idea is that you describe what your app needs (a database, a scheduled job, a message queue) directly in your code as typed objects, and Encore figures out how to set all of that up for you, whether on your laptop or in the cloud. When you run your app locally, Encore's command-line tool boots up all the required pieces automatically, including a local database and message broker, with no Docker Compose file required. It also opens a browser dashboard where you can browse your service structure, trace individual requests end to end, explore your database tables, and call your API endpoints manually. This is meant to cut down on the setup friction that normally slows down backend work. When you are ready to deploy, Encore offers a few options. You can use Encore Cloud, which connects to your own AWS or GCP account and provisions everything your app needs there, including databases, compute, and storage, without writing Terraform or YAML config files. Alternatively, you can export your app as a Docker image and run it anywhere you like, supplying your own infrastructure configuration. For teams already running existing systems, Encore is designed to be added one service at a time. You can write new services with Encore and have them talk to the rest of your existing system via normal API calls, then gradually bring more services over as it makes sense. It also offers a Terraform provider for cases where you want Encore-managed resources to sit alongside infrastructure you already control. The project is aimed at backend developers who want to spend less time on infrastructure plumbing and more time writing application logic. It does not replace your cloud provider, it works on top of AWS or GCP in your own account, so you keep full ownership of the resources.

Copy-paste prompts

Prompt 1
Using Encore with TypeScript, write a service that declares a Postgres database, exposes an API endpoint to save a record, and another to query it, show the full code including how Encore wires up the DB connection.
Prompt 2
How do I deploy an Encore app to my own AWS account using Encore Cloud? Walk me through the steps from a working local app to a deployed service.
Prompt 3
I have an existing Go backend. Show me how to add one new Encore service that calls my existing REST endpoints without rewriting the rest of the system.
Prompt 4
Walk me through opening the Encore local development dashboard, tracing a specific request end-to-end, and calling an API endpoint manually from the browser UI.
Open on GitHub → Explain another repo

← encoredev on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.