[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-4986":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":45,"readmeContent":46,"aiSummary":47,"trendingCount":16,"starSnapshotCount":16,"syncStatus":48,"lastSyncTime":49,"discoverSource":50},4986,"encore","encoredev\u002Fencore","encoredev","Automate infrastructure from local to your cloud","https:\u002F\u002Fencore.dev",null,"Go",12031,587,66,62,0,4,32,97,24,43.31,"Mozilla Public License 2.0",false,"main",[26,27,28,29,30,31,32,33,34,5,35,36,37,38,39,40,41,42,43,44],"api","aws","backend","backend-framework","cloud","cloud-native","database","devops","distributed-systems","gcp","go","golang","microservice-framework","microservices","nodejs-framework","postgresql","serverless","typescript","typescript-framework","2026-06-12 02:01:06","\u003Cp align=\"center\" dir=\"auto\">\n\u003Ca href=\"https:\u002F\u002Fencore.dev\">\u003Cimg src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F78424526\u002F214602214-52e0483a-b5fc-4d4c-b03e-0b7b23e012df.svg\" width=\"160px\" alt=\"encore icon\">\u003C\u002Fimg>\u003C\u002Fa>\u003Cbr\u002F>\u003Cbr\u002F>\u003Cbr\u002F>\n\u003Cb>Open Source Framework for creating type-safe distributed systems with declarative infrastructure\u003C\u002Fb>\u003Cbr\u002F>\n\u003C\u002Fp>\n\n- **Framework:** The Encore framework, available for TypeScript and Go, lets you define APIs, services, and infrastructure (databases, Pub\u002FSub, caching, buckets, cron jobs) as type-safe objects in your code. Write your application once, then deploy it anywhere without code changes by [exporting a Docker image](https:\u002F\u002Fencore.dev\u002Fdocs\u002Fts\u002Fself-host\u002Fbuild) and supplying the infra configuration.\n\n- **Local Dev Tools:** The Encore CLI runs your app locally and automatically provisions local infrastructure. Encore's local dev dashboard provides tools for a productive workflow: Tracing, API Explorer, Service Catalog, Architecture Diagrams, and Database Explorer.\n\n- **DevOps Platform (Optional):** [Encore Cloud](https:\u002F\u002Fencore.cloud) parses your application and automatically provisions the required infrastructure in your own AWS\u002FGCP account. Other tools include Preview Environments for each PR, Service Catalog, Distributed Tracing, Metrics, and Cost Analytics.\n\n**⭐ Star this repository** to help spread the word and stay up to date.\n\n### Get started\n\n**Install Encore:**\n\n- **macOS:** `brew install encoredev\u002Ftap\u002Fencore`\n- **Linux:** `curl -L https:\u002F\u002Fencore.dev\u002Finstall.sh | bash`\n- **Windows:** `iwr https:\u002F\u002Fencore.dev\u002Finstall.ps1 | iex`\n\n**Create your first app:**\n\n- **TypeScript:** `encore app create --example=ts\u002Fhello-world`\n- **Go:** `encore app create --example=hello-world`\n\n**Use with AI coding assistants:**\n\nAdd Encore's [LLM instructions](https:\u002F\u002Fencore.dev\u002Fdocs\u002Fts\u002Fai-integration) to your project, so your AI tools can understand your architecture, generate type-safe code, and use Encore's infrastructure primitives.\nUse the built-in [MCP server](https:\u002F\u002Fencore.dev\u002Fdocs\u002Fts\u002Fai-integration) to give your AI runtime context (query databases, call APIs, analyze traces) for seamless debugging and faster iterations. [Learn more](https:\u002F\u002Fencore.dev\u002Fdocs\u002Fts\u002Fai-integration)\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F461b902f-8fd3-46f1-a73c-0ebbfa789ce3\n\n_Encore's local development dashboard_\n\n## How it works\n\nEncore's open source backend frameworks, [Encore.ts](https:\u002F\u002Fencore.dev\u002Fdocs\u002Fts) and [Encore.go](https:\u002F\u002Fencore.dev\u002Fdocs\u002Fprimitives\u002Foverview), enable you to define resources like services, databases, Pub\u002FSub, caches, buckets, and cron jobs, as type-safe objects in your application code.\n\nYou only define **infrastructure semantics** (_what matters for the behavior of the application_), not configuration for specific cloud services. Here's how you define a database in Encore.ts:\n\n```typescript\nconst db = new SQLDatabase(\"users\", { migrations: \".\u002Fmigrations\" });\n```\n\nEncore parses your application to understand your infrastructure requirements, then sets up infrastructure in different environments:\n\n- **Locally:** The Encore CLI sets up local infrastructure (microservices, Postgres, Pub\u002FSub, etc.) and provides a development dashboard with distributed tracing, API documentation, service catalog, architecture diagrams, and database explorer. Works offline, no Docker Compose needed.\n\n- **AWS\u002FGCP:** Encore Cloud deploys to your AWS\u002FGCP account without any Terraform or YAML needed. It automatically sets up compute instances (serverless or Kubernetes), databases (RDS\u002FCloud SQL), Pub\u002FSub (SQS\u002FGCP Pub\u002FSub), storage (S3\u002FGCS), caching (ElastiCache\u002FMemorystore), and all other required resources like security groups and IAM policies, according to best practices.\n\n- **Self-hosted:** Use the Encore CLI to export your app as Docker images, then supply your infra config to host anywhere.\n\n\u003Cimg width=\"578\" alt=\"Encore overview\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F89fb83cf-2400-4b54-969d-6f7a5911e76c\" \u002F>\n\n_Encore orchestrates infrastructure from local development and testing, to production in your cloud._\n\n#### Encore makes it simpler to build distributed systems\n\n- **Microservices without boilerplate:** Call APIs in other services like regular functions. Encore handles service discovery, networking, and serialization. Get cross-service type-safety and auto-complete in your IDE.\n\n- **Modular monolith to microservices:** Structure your application using independent services for clarity. Then deploy them colocated in a single process or as distributed microservices, without changing a single line of code. Encore handles service communication whether in-process or over the network.\n\n- **Testing built-in:** Mock API calls, get dedicated test infrastructure, and use distributed tracing for tests.\n\n### Example: Hello World\n\nDefining microservices and API endpoints is very simple. With less than 10 lines of code, you can create a production-ready, deployable service.\n\n**Hello World in Encore.ts**\n\n```typescript\nimport { api } from \"encore.dev\u002Fapi\";\n\nexport const get = api(\n  { expose: true, method: \"GET\", path: \"\u002Fhello\u002F:name\" },\n  async ({ name }: { name: string }): Promise\u003CResponse> => {\n    const msg = `Hello ${name}!`;\n    return { message: msg };\n  }\n);\n\ninterface Response {\n  message: string;\n}\n```\n\n**Hello World in Encore.go**\n\n```go\npackage hello\n\n\u002F\u002Fencore:api public path=\u002Fhello\u002F:name\nfunc World(ctx context.Context, name string) (*Response, error) {\n\tmsg := fmt.Sprintf(\"Hello, %s!\", name)\n\treturn &Response{Message: msg}, nil\n}\n\ntype Response struct {\n\tMessage string\n}\n```\n\n### Example: Using Pub\u002FSub\n\nIf you want a Pub\u002FSub Topic, you declare it directly in your application code and Encore will integrate the infrastructure and generate the boilerplate code necessary.\nEncore orchestrates the relevant Pub\u002FSub infrastructure for different environments:\n\n- **NSQ** for local environments\n- **GCP Pub\u002FSub** for environments on GCP\n- **SNS\u002FSQS** for environments on AWS\n\n**Using Pub\u002FSub in Encore.ts**\n\n```typescript\nimport { Topic } \"encore.dev\u002Fpubsub\"\n\nexport interface SignupEvent {\n    userID: string;\n}\n\nexport const signups = new Topic\u003CSignupEvent>(\"signups\", {\n    deliveryGuarantee: \"at-least-once\",\n});\n```\n\n**Using Pub\u002FSub in Encore.go**\n\n```go\nimport \"encore.dev\u002Fpubsub\"\n\ntype User struct { \u002F* fields... *\u002F }\n\nvar Signup = pubsub.NewTopic[*User](\"signup\", pubsub.TopicConfig{\n  DeliveryGuarantee: pubsub.AtLeastOnce,\n})\n\n\u002F\u002F Publish messages by calling a method\nSignup.Publish(ctx, &User{...})\n```\n\n### Need some infrastructure Encore doesn't provide?\n\nEncore never prevents you from using arbitrary infrastructure.\n\nYou can use any external resource as you normally would, directly integrating standard SDKs (AWS SDK, GCP client libraries, third-party APIs, etc.). You then provision that resource yourself as you normally would.\n\n### Want to use Encore in an existing system?\n\nYou don't need a complete rewrite, Encore supports incremental adoption.\n\n**Service-by-service adoption (recommended):** Build new services with Encore and run them alongside your existing system, integrated via APIs. Then incrementally migrate existing services as needed. Each migrated service immediately gets Encore's full feature set: infrastructure provisioning, tracing, architecture diagrams.\n\n#### Deployment options:\n\n- **Your Kubernetes cluster:** Deploy directly to your existing Kubernetes infrastructure. Run Encore alongside legacy systems in the same environment.\n- **Encore-managed infrastructure:** Encore provisions and manages infrastructure in your AWS\u002FGCP account, deployed within your existing VPC and security setup.\n- **Terraform provider:** Encore provides a [Terraform provider](https:\u002F\u002Fencore.dev\u002Fdocs\u002Fplatform\u002Fintegrations\u002Fterraform) to make it simple to integrate Encore managed infrastructure with your existing infrastructure landscape.\n\nStart with low-risk, frequently-changed services to validate the approach. Learn more in our [migration guide](https:\u002F\u002Fencore.dev\u002Fdocs\u002Fplatform\u002Fmigration\u002Fmigrate-to-encore).\n\n## Learn more\n\n- **Documentation:** [Encore Docs](https:\u002F\u002Fencore.dev\u002Fdocs)\n\n- **See example apps:** [Example Apps Repo](https:\u002F\u002Fgithub.com\u002Fencoredev\u002Fexamples\u002F)\n\n- **See products built with Encore:** [Showcase](https:\u002F\u002Fencore.cloud\u002Fshowcase)\n\n- **Hear from teams using Encore:** [Case studies](https:\u002F\u002Fencore.cloud\u002Fcustomers)\n\n- **Have questions?** Join the friendly developer community on [Discord](https:\u002F\u002Fencore.dev\u002Fdiscord)\n\n- **Talk to a human:** [Book a 1:1 demo](https:\u002F\u002Fencore.dev\u002Fbook) with one of our founders\n\n- **Videos:**\n  - \u003Ca href=\"https:\u002F\u002Fyoutu.be\u002FvvqTGfoXVsw\" alt=\"Intro video: Encore concepts & features\" target=\"_blank\">Intro: Encore concepts & features\u003C\u002Fa>\n  - \u003Ca href=\"https:\u002F\u002Fyoutu.be\u002FwiLDz-JUuqY\" alt=\"Demo video: Getting started with Encore.ts\" target=\"_blank\">Demo video: Getting started with Encore.ts\u003C\u002Fa>\n  - \u003Ca href=\"https:\u002F\u002Fyoutu.be\u002FIwplIbwJtD0\" alt=\"Demo video: Building and deploying a simple service\" target=\"_blank\">Demo: Building and deploying a simple Go service\u003C\u002Fa>\n  - \u003Ca href=\"https:\u002F\u002Fyoutu.be\u002Fipj1HdG4dWA\" alt=\"Demo video: Building an event-driven system\" target=\"_blank\">Demo: Building an event-driven system in Go\u003C\u002Fa>\n  - Find more videos in our [YouTube channel](youtube.com\u002Fchannel\u002FUCvqeAqMPotfuA6SPXa4VhNQ\u002F).\n\n### How Encore compares to other tools\n\n| Tool                               | What it does                                                  | How Encore differs                                                                                                                                                                                                                                                           |\n| ---------------------------------- | ------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **Pulumi \u002F CDK \u002F Terraform \u002F SST** | Infrastructure-as-Code tools for provisioning cloud resources | Other solutions define configuration for specific infra services, coupling your application to one set of infrastructure. Encore uses semantic infrastructure (services, databases, Pub\u002FSub), write once, deploy anywhere (AWS\u002FGCP\u002Flocal), colocated or distributed services |\n| **Serverless Framework \u002F Chalice** | Frameworks for deploying serverless functions to AWS          | Encore supports any architecture (monolith, microservices, serverless) and any cloud (AWS, GCP, self-hosted)                                                                                                                                                                 |\n| **NestJS \u002F Express \u002F Fiber**       | Web frameworks for building APIs and services                 | Encore provides the same capabilities plus infrastructure primitives, local dev tooling, observability, and optional cloud deployment                                                                                                                                        |\n| **Convex \u002F Supabase \u002F Firebase**   | Managed backend-as-a-service platforms                        | Encore gives you similar productivity but supports microservices and event-driven systems, and deploys to your own cloud account with no vendor lock-in                                                                                                                      |\n| **Vercel \u002F Netlify \u002F Railway**     | Deployment platforms (primarily frontend\u002Ffull-stack)          | Encore is backend-specialized with deeper primitives (Pub\u002FSub, cron, caching) and multi-cloud infrastructure automation                                                                                                                                                      |\n\n### Why teams use Encore\n\n- **Faster Development**: Encore streamlines the development process by providing guardrails, clear abstractions, and removing manual infrastructure tasks from development iterations.\n- **Scalability & Performance**: Encore simplifies building large-scale microservices applications that can handle growing user bases and demands, without the normal boilerplate and complexity.\n- **Control & Standardization**: Built-in tools like automated architecture diagrams, infrastructure tracking and approval workflows, make it easy for teams and leaders to get an overview of the entire application.\n- **Security & Compliance**: Encore Cloud helps ensure your application is secure and compliant by enforcing security standards like least privilege IAM, and provisioning infrastructure according to best practices for each cloud provider.\n- **Reduced Costs**: Encore Cloud's automatic infrastructure management removes common cloud expenses like overprovisioned test environments, and reduces DevOps workload.\n\n## Open Source\n\nEverything needed to develop and deploy Encore applications is Open Source, including the backend frameworks, parser, compiler, runtime, and CLI.\n\nThis includes all code needed for local development, everything that runs in your application when it is deployed, and everything needed to generate a Docker image for your application, so you can easily deploy your application anywhere. [Learn more in the docs](https:\u002F\u002Fencore.dev\u002Fdocs\u002Fts\u002Fself-host\u002Fbuild).\n\n## Join our growing developer community\n\nDevelopers building with Encore are part of fast-moving teams that want to focus on creative programming and building great software to solve meaningful problems. It's a friendly place, great for exchanging ideas and learning new things!\n\n**Join the community on [Discord](https:\u002F\u002Fencore.dev\u002Fdiscord).**\n\nWe rely on your contributions and feedback to improve Encore for everyone who is using it.\nHere's how you can contribute:\n\n- ⭐ **Star and watch this repository to help spread the word and stay up to date.**\n- Meet fellow Encore developers and chat on [Discord](https:\u002F\u002Fencore.dev\u002Fdiscord).\n- Follow Encore on [Twitter](https:\u002F\u002Ftwitter.com\u002Fencoredotdev).\n- Share feedback or ask questions via [email](mailto:hello@encore.dev).\n- Leave feedback on the [Public Roadmap](https:\u002F\u002Fencore.dev\u002Froadmap).\n- Send a pull request here on GitHub with your contribution.\n\n## Frequently Asked Questions (FAQ)\n\n### Who's behind Encore?\n\nEncore was founded by long-time engineers from Spotify and Google. We've lived through the challenges of building complex distributed systems with thousands of services, and scaling to hundreds of millions of users.\n\nEncore grew out of these experiences and is a solution to the frustrations that came with them: unnecessary infrastructure complexity and tedious repetitive work that suffocates developers' productivity and creativity.\n\n### Who is Encore for?\n\n**Individual developers:** Build cloud applications without managing infrastructure configuration. Go from idea to deployed application in minutes instead of days.\n\n**Startup teams:** Get a production-ready backend on AWS\u002FGCP without dedicated DevOps engineers. Focus your time on your product instead of reinventing infrastructure patterns and building platform tooling.\n\n**Large organizations:** Standardize backend development across teams. Reduce onboarding time and operational overhead. Spin up new services in minutes with consistent patterns, without needing days of back and forth between development and DevOps teams.\n\n### Does defining infrastructure in code couple my app to infrastructure?\n\nNo. Encore keeps your application code cloud-agnostic by letting you refer only to **logical resources** (like \"a Postgres database\" or \"a Pub\u002FSub topic\"). A backend-agnostic interface means your code has no cloud-specific imports or configurations.\n\nEncore's compiler and runtime handle the mapping of logical resources to actual infrastructure, which is configured per environment. Your code stays identical whether the environment uses e.g.:\n\n- **AWS RDS** or **GCP Cloud SQL** for databases\n- **SQS\u002FSNS** or **GCP Pub\u002FSub** for messaging\n- **AWS Fargate**, **Cloud Run**, or **Kubernetes** for compute\n\nThis **reduces coupling** compared to traditional Infrastructure-as-Code or cloud SDKs, which embed cloud-specific decisions directly in your codebase. With Encore, swapping cloud providers or infrastructure services requires no code changes.\n\n### What kind of support does Encore offer?\n\nEncore is fully open source and maintained by a dedicated full-time team. Support options include:\n\n- **Community Support:** Free support via [Discord](https:\u002F\u002Fencore.dev\u002Fdiscord)\n- **Documentation:** Comprehensive guides and API references at [encore.dev\u002Fdocs](https:\u002F\u002Fencore.dev\u002Fdocs)\n- **Paid Support:** For teams requiring guaranteed response times or dedicated support, [contact us](mailto:hello@encore.dev) about support plans\n\n### What if I want to migrate away from Encore?\n\nEncore is designed to let you go outside of the framework when you want to, and easily drop down in abstraction level when you need to, so you never run into any dead-ends.\n\nShould you want to migrate away, it's straightforward and does not require a big rewrite. 99% of your code is regular Go or TypeScript.\n\nEncore provides tools for [self-hosting](https:\u002F\u002Fencore.dev\u002Fdocs\u002Fts\u002Fself-host\u002Fbuild) your application, by using the Open Source CLI to produce a standalone Docker image that can be deployed anywhere you'd like.\n\nLearn more in the [migration guide](https:\u002F\u002Fencore.dev\u002Fdocs\u002Fts\u002Fmigration\u002Fmigrate-away)\n\n## Roadmap\n\nWe're actively expanding Encore's capabilities. Here's what's on the horizon:\n\n**Languages**\n\n- **Python**: Next on the roadmap for broader ecosystem support\n\n**Cloud Providers**\n\n- **Azure**: Planned to complement existing AWS and GCP support\n\n**Infrastructure Primitives**\n\n- Expanding storage, compute, and queue options\n\nSee the full [Public Roadmap](https:\u002F\u002Fencore.dev\u002Froadmap) and share your feedback on what you'd like to see next.\n\n## Contributing to Encore and building from source\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n","Encore 是一个用于构建健壮且类型安全的分布式系统的开源框架，支持声明式基础设施定义。其核心功能包括通过 TypeScript 或 Go 定义 API、服务及基础设施（如数据库、消息队列等）为类型安全的对象，并提供本地开发工具以提升开发效率，如追踪、API 探索器等功能。此外，Encore 还可选地提供了 DevOps 平台，能够自动在用户的 AWS 或 GCP 账户中配置所需资源。适用于需要快速迭代且对代码质量和系统稳定性有高要求的云原生应用开发场景。",2,"2026-06-11 03:01:55","top_language"]