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

Alchemy описывает себя как «Infrastructure-as-Effects»: облачная инфраструктура и логика приложения, написанные как единая типобезопасная программа на Effect. Вместо разделения конфигурации инфраструктуры и runtime-кода ресурсы, Workers/Lambdas, IAM-политики и вызовы SDK живут в одной программе, без YAML и без второго runtime. Ключевые идеи из README: - Одна программа, один язык: ресурсы, функции, IAM и SDK используют одну и ту же программу на Effect. - Привязки вместо связующего кода: вызов вроде S3.GetObject(bucket), как утверждается, связывает IAM-политику, переменную окружения и типизированный вызов SDK в одну строку. В примере показано, как Cloudflare.R2.ReadWriteBucket(Bucket) соединяет привязку, переменную окружения и типизированный клиент как во время деплоя, так и во время выполнения. - Ошибки в системе типов: сбои облачных API представлены как тегированные ошибки Effect, которые можно обрабатывать осознанно. - Текущее покрытие провайдеров: AWS (S3, SQS, DynamoDB, Kinesis, Lambda, EC2) и Cloudflare (Workers, R2, D1, Durable Objects, Containers). - Один и тот же код на всех этапах: локальная разработка, plan/deploy, smoke-тесты и CI представлены как разделяющие одну ментальную модель. Установка показана как `bun add alchemy@latest effect@rc`. Корневой GitHub Action может деплоить `prod` из `main`, деплоить PR-превью как `staging-{number}` и уничтожать превью при закрытии PR; рабочий процесс должен установить CLI alchemy до запуска action. README также предоставляет промпт для ИИ-агентов программирования, который получает индекс документации llms.txt, и ссылки на туториал, примеры и Discord. Проект заявляет, что находится в alpha, и что следует ожидать ломающих изменений. Он лицензирован под Apache 2.0, лицензии третьих сторон документированы отдельно.