このプロジェクトについて

Alchemyは自らを「Infrastructure-as-Effects」と称しており、クラウドインフラとアプリケーションロジックを単一の型安全なEffectプログラムとして記述します。インフラ設定をランタイムコードから分離する代わりに、リソース、Workers/Lambdas、IAMポリシー、SDK呼び出しが同じプログラム内に存在し、YAMLも第二のランタイムも不要です。 READMEの主な考え方: - 1つのプログラム、1つの言語: リソース、関数、IAM、SDKが同じEffectプログラムを共有します。 - グルーコードではなくバインディング: S3.GetObject(bucket)のような呼び出しは、IAMポリシー、環境変数、型付きSDK呼び出しを1行で結線するとされています。例ではCloudflare.R2.ReadWriteBucket(Bucket)が、デプロイ時とランタイムの両方でバインディング、env変数、型付きクライアントを接続することを示しています。 - 型システム内のエラー: クラウドAPIの失敗はタグ付きEffectエラーとして表現され、意図的に処理できます。 - 現在のプロバイダ対応: AWS (S3, SQS, DynamoDB, Kinesis, Lambda, EC2) と Cloudflare (Workers, R2, D1, Durable Objects, Containers)。 - ステージ間で同じコード: ローカル開発、plan/deploy、スモークテスト、CIが1つのメンタルモデルを共有すると説明されています。 インストールは `bun add alchemy@latest effect@rc` として示されています。ルートのGitHub Actionは、`main`から`prod`をデプロイし、PRプレビューを`staging-{number}`としてデプロイし、PRがクローズされたときにプレビューを破棄できます。ワークフローは、アクションが実行される前にalchemy CLIをインストールする必要があります。READMEはまた、llms.txtドキュメントインデックスを取得するAIコーディングエージェント向けのプロンプトを提供し、チュートリアル、例、Discordへのリンクも掲載しています。 このプロジェクトはアルファ段階にあり、破壊的変更が予想されると述べています。Apache 2.0の下でライセンスされており、サードパーティライセンスは別途文書化されています。