इस प्रोजेक्ट के बारे में

Alchemy स्वयं को "Infrastructure-as-Effects" बताता है: क्लाउड इन्फ्रास्ट्रक्चर और एप्लिकेशन लॉजिक एक ही, टाइप-सुरक्षित Effect प्रोग्राम के रूप में लिखे जाते हैं। इन्फ्रास्ट्रक्चर कॉन्फ़िगरेशन को रनटाइम कोड से अलग करने के बजाय, रिसोर्स, Workers/Lambdas, IAM नीतियाँ और SDK कॉल एक ही प्रोग्राम में रहते हैं, बिना YAML और बिना किसी दूसरे रनटाइम के। README के मुख्य विचार: - एक प्रोग्राम, एक भाषा: रिसोर्स, फंक्शन, IAM और SDK एक ही Effect प्रोग्राम साझा करते हैं। - ग्लू कोड के बजाय बाइंडिंग्स: S3.GetObject(bucket) जैसा कॉल कथित तौर पर IAM नीति, एनवायरनमेंट वेरिएबल और एक टाइप्ड SDK कॉल को एक पंक्ति में जोड़ता है। उदाहरण दिखाता है कि Cloudflare.R2.ReadWriteBucket(Bucket) डिप्लॉय समय और रनटाइम दोनों पर एक बाइंडिंग, env var और टाइप्ड क्लाइंट को जोड़ता है। - टाइप सिस्टम में त्रुटियाँ: क्लाउड API विफलताओं को टैग किए गए Effect त्रुटियों के रूप में दर्शाया जाता है जिन्हें जानबूझकर संभाला जा सकता है। - आज प्रोवाइडर कवरेज: AWS (S3, SQS, DynamoDB, Kinesis, Lambda, EC2) और Cloudflare (Workers, R2, D1, Durable Objects, Containers)। - सभी चरणों में एक ही कोड: लोकल डेवलपमेंट, plan/deploy, स्मोक टेस्ट और CI को एक ही मानसिक मॉडल साझा करते हुए प्रस्तुत किया गया है। इंस्टॉलेशन `bun add alchemy@latest effect@rc` के रूप में दिखाया गया है। एक रूट GitHub Action `main` से `prod` को डिप्लॉय कर सकता है, PR प्रीव्यू को `staging-{number}` के रूप में डिप्लॉय कर सकता है, और PR बंद होने पर प्रीव्यू को नष्ट कर सकता है; वर्कफ़्लो को action चलने से पहले alchemy CLI इंस्टॉल करना होगा। README AI कोडिंग एजेंट्स के लिए एक प्रॉम्प्ट भी देता है जो llms.txt डॉक्युमेंटेशन इंडेक्स प्राप्त करता है, और एक ट्यूटोरियल, उदाहरणों तथा Discord के लिंक देता है। प्रोजेक्ट बताता है कि यह अल्फा में है और ब्रेकिंग बदलावों की अपेक्षा की जानी चाहिए। यह Apache 2.0 के अंतर्गत लाइसेंस प्राप्त है, तृतीय-पक्ष लाइसेंस अलग से प्रलेखित हैं।