gitmyhub

encore

Go ★ 12k updated 3d ago

The infrastructure platform for the intelligence era

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.

GoTypeScriptDockerAWSGCPTerraformsetup: moderatecomplexity 3/5

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.

Where it fits