Об этом проекте

Encore — это платформа инфраструктуры, предназначенная для того, чтобы инженеры и ИИ-агенты могли создавать production-системы без ожидания инфраструктуры. Она состоит из двух частей: SDK инфраструктуры с открытым исходным кодом для TypeScript и Go, а также опциональной управляемой платформы, которая оркестрирует облачную инфраструктуру. С помощью SDK разработчики объявляют ресурсы, необходимые приложению, непосредственно в коде: SQL-базы данных, темы Pub/Sub, корзины объектного хранения, кэши, cron-задачи и секреты. Каждое объявление становится узлом в графе приложения Encore. Запуск `encore run` запускает всю систему локально с реальным Postgres, реальной семантикой Pub/Sub и распределенной трассировкой, в то время как развертывание предоставляет облачные эквиваленты в собственном аккаунте AWS или GCP пользователя. В README представлена таблица соответствия локальных эквивалентов (Postgres, NSQ, локальная файловая система, Redis) сервисам AWS (RDS, SNS+SQS, S3, ElastiCache) и GCP (Cloud SQL, Cloud Pub/Sub, GCS, Memorystore). Конфигурация отделена от семантики приложения: ресурсы объявляются в коде, а настройки, зависящие от окружения, управляются через панель управления платформы Encore, консоль облачного провайдера или Terraform-провайдер. Рабочий процесс охватывает локальную разработку, preview-окружения для каждого PR (опционально с ветвлением баз данных из seed-окружения) и production-развертывание, где Encore сравнивает граф приложения с окружением, предоставляет недостающие ресурсы, настраивает IAM с минимальными привилегиями на основе путей кода и развертывает новый код. Внедрение происходит постепенно: существующая инфраструктура может использоваться как обычно через AWS/GCP SDK или сторонние API, сервисы можно мигрировать по одному, а развертывание может быть направлено на существующий кластер Kubernetes или VPC. В README указано, что 99% кода — это обычный Go или TypeScript, и приведена ссылка на руководство по миграции. Заявленные ограничения включают поддержку языков (TypeScript/Node.js и Go сейчас, Python скоро), охват инфраструктуры, сосредоточенный на распространенных ресурсах, и полностью автоматизированное предоставление ресурсов, ограниченное в настоящее время AWS и GCP, с Azure в дорожной карте и возможностью самостоятельного хостинга через `encore build docker` на любом провайдере. Проект также подчеркивает ИИ-ассистированную разработку: `encore app create` может генерировать файлы правил для таких инструментов, как Cursor и Claude Code, и настраивать MCP-сервер, позволяющий агентам инспектировать сервисы, API, базы данных и трассировки. Локальная панель разработки на localhost:9400 показывает сервисы, API, трассировки, базы данных, сообщения Pub/Sub и диаграммы архитектуры. Опциональная управляемая платформа добавляет preview-окружения, предоставление ресурсов с IAM минимальных привилегий, распределенную трассировку, метрики и логи, аналитику затрат, рабочие процессы утверждения, а также автоматически генерируемые каталоги сервисов и диаграммы архитектуры. Encore лицензирован под MPL-2.0, при этом фреймворк, парсер, компилятор, рантайм и CLI являются открытым исходным кодом, а управляемая платформа развертывания — коммерческим сервисом.