Об этом проекте
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, лицензии третьих сторон документированы отдельно.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.