Sobre o projeto

O Alchemy se descreve como "Infrastructure-as-Effects": infraestrutura de nuvem e lógica de aplicação escritas como um único programa Effect com segurança de tipos. Em vez de separar a configuração de infraestrutura do código de execução, recursos, Workers/Lambdas, políticas IAM e chamadas de SDK ficam no mesmo programa, sem YAML e sem um segundo runtime. Ideias principais do README: - Um programa, uma linguagem: recursos, funções, IAM e SDKs compartilham o mesmo programa Effect. - Bindings em vez de código de cola: uma chamada como S3.GetObject(bucket) conecta, segundo a descrição, a política IAM, a variável de ambiente e uma chamada de SDK tipada em uma única linha. O exemplo mostra Cloudflare.R2.ReadWriteBucket(Bucket) conectando um binding, variável de ambiente e cliente tipado tanto no momento do deploy quanto em runtime. - Erros no sistema de tipos: falhas de API de nuvem são representadas como erros Effect marcados (tagged) que podem ser tratados de forma deliberada. - Cobertura de provedores hoje: AWS (S3, SQS, DynamoDB, Kinesis, Lambda, EC2) e Cloudflare (Workers, R2, D1, Durable Objects, Containers). - Mesmo código em todas as etapas: desenvolvimento local, plan/deploy, smoke tests e CI são apresentados como compartilhando um único modelo mental. A instalação é mostrada como `bun add alchemy@latest effect@rc`. Uma GitHub Action na raiz pode fazer deploy de `prod` a partir de `main`, fazer deploy de previews de PR como `staging-{number}` e destruir previews quando um PR é fechado; o workflow precisa instalar a CLI do alchemy antes da action ser executada. O README também fornece um prompt para agentes de codificação com IA que busca um índice de documentação llms.txt, e links para um tutorial, exemplos e Discord. O projeto afirma estar em alfa e que mudanças incompatíveis devem ser esperadas. Ele é licenciado sob Apache 2.0, com licenças de terceiros documentadas separadamente.