شنو كيدير GoLive
GoLive هو Agent Skill مفتوح المصدر كينقل تطبيق مبني من طرف agent من الكود المصدري للبنية التحتية الحقيقية. كيفحص المستودع، كيكتاشف الخدمات المطلوبة، كيقترح تغييرات خاصة بالمزوّد، كيسول على الموافقة، كيطبّق هاد التغييرات عبر الحسابات ديالك، وكيحقّق من النتائج اللي يقدر يراقبها.
المشروع مصمّم باش يربط بين توليد تطبيق وتشغيلو فعلياً للمستخدمين. حسب التطبيق، هاد الشي يقدر يشمل الاستضافة، قاعدة بيانات، متغيّرات البيئة، المصادقة، نطاق مخصّص، الإيميل المعاملاتي، وعمليات الأداء فـوضع الاختبار.
GoLive ما كيحتاجش حساب GoLive ولا backend مستضاف من GoLive، وما فيه حتى telemetry ديال المنتج. الولوج للمزوّدين كيبقى مربوط بالحسابات وبيانات الدخول ديالك.
تحذير ديال النسخة Alpha: الإصدار الحالي هو
0.1.0-alpha.3. تجرّبات عدة مسارات بموارد مباشرة وقابلة للتخلّص منها، ولكن اللائحة الموسّعة فخارطة طريق المشروع ما كتعتابرش أن كل مسارات الإطلاق كاملة.
الخصائص الرئيسية
- اكتشاف المستودع: GoLive كيفحص التطبيق وكيحدّد البنية التحتية والخدمات اللي باين أنه محتاجها.
- الحفاظ على المزوّدين: كيخلّي المزوّدين اللي مستعملين من طرف التطبيق بلا ما يبدّلهم أوتوماتيكياً.
- التنفيذ بموافقة مسبقة: الحسابات المستهدفة، تفاصيل الموارد، التغييرات، ومعلومات التكلفة المتاحة كيتعرضو قبل ما تدار تغييرات فالمزوّد.
- التدخلات البشرية: التسجيل، تسجيل الدخول من المتصفح، التحقق من الهوية، المشتريات، الولوج للبريد الوارد، وباقي العمليات اللي كتحتاج إنسان كيبقاو تحت التحكم ديالك.
- التحقق: GoLive كيفحص النتائج القابلة للمراقبة وكيبلّغ بوضوح على أي حاجة متوقفة أو ما تمش التحقق منها.
- سجلات دورة الحياة: كيسجّل الموارد اللي تخلقات، كيدعم فحص الانحراف عند الطلب عبر
golive status، ويقدر يولّد ملفات التسليم. - حذف مضبوط: الموارد اللي تخلقات أثناء التشغيل يمكن تحييدها عبر مسار حذف مخطّط وموافق عليه بشكل منفصل.
- دعم موجّه للمزوّدين: بالنسبة للمزوّدين اللي ما عندهمش adapters مدمجين، GoLive يقدر يحاول مساراً بأفضل مجهود باستعمال CLIs الرسمية، تكاملات MCP الرسمية، APIs، أو تعليمات لوحة التحكم.
النطاق الحالي ديال Alpha
أكثر مسارات Alpha رسوخاً كتشمل جوج مزوّدين للاستضافة وجوج مزوّدين لقواعد البيانات:
- الاستضافة: Vercel وNetlify.
- قواعد البيانات: Supabase وNeon.
- DNS ديال النطاق المخصّص: Porkbun وGoDaddy عندهم مسارات مجرّبة مباشرة لكتابة السجلات مع Vercel.
- الإيميل المعاملاتي: إعداد النطاق فـResend، والتحقق من DNS، والإرسال الفعلي من تطبيق حقيقي تجرّبو.
- الأداء: مفاتيح Stripe فـوضع الاختبار، تسجيل webhook، التحقق من الأحداث الموقّعة، وأداء فعلي ببطاقة اختبار تجرّبو.
- المصادقة: إعداد سياسات Supabase Auth ومسار تسجيل اختياري عندهم أدلة مباشرة. استرجاع كلمة السر وعزل الحسابات مطبّقين ومغطّيين بالاختبارات الوهمية، ولكن ما كمّلوش بعد تحققاً مباشراً بنفس المستوى.
تركيبات التطبيقات اللي تجرّبات مباشرة هي Vercel مع Supabase وNetlify مع Neon. التركيبات الأخرى بين المزوّدين يمكن تكون عندها تغطية وهمية بلا نفس مستوى الإثبات المباشر. Cloudflare DNS تجريبي ومازال ماشي مسار Alpha موثّق.
المتطلبات المسبقة
قبل تثبيت GoLive، وجّد التالي:
- Node.js 20 أو أحدث.
npmوnpx.- Git ملي كتستعمل قناة التثبيت ديال GitHub وSkills CLI.
- coding agent قادر يحمّل skills ويشغّل الأوامر.
التثبيت تراجع مع Codex وClaude Code. وكلاء آخرين مازال ما تمش التحقق منهم.
ثبّت GoLive باستعمال Skills CLI
باش تثبّت skill مرة وحدة لجميع المشاريع، شغّل هاد الأمر من أي مجلد:
npx skills add https://github.com/mikehasa/golive-skill --skill golive --globalالمثبّت التفاعلي كيطلب منك تختار agent. تحرّك بمفاتيح الأسهم، اختار بـSpace، وأكّد بـEnter.
التثبيت بلا تفاعل لـCodex
npx skills add https://github.com/mikehasa/golive-skill --skill golive --global --agent codex --yesالتثبيت بلا تفاعل لـClaude Code
npx skills add https://github.com/mikehasa/golive-skill --skill golive --global --agent claude-code --yesبالنسبة لتثبيت خاص بالمشروع، شغّل الأمر من مستودع المشروع وحيد --global. التثبيت كينسخ تعليمات skill، مراجع المزوّدين، وruntime مبني مسبقاً. ما كيربطش حسابات المزوّدين وما كينشرش التطبيق.
التثبيت من npm
نفس الإصدار متوفر فحزمة npm باسم golive. هاد القناة تقدر تثبّت skill بلا Git ولا Skills CLI.
تثبيت Codex
npx golive@alpha install --agent codexتثبيت Claude Code
npx golive@alpha install --agent claudeزيد --global باش تثبّت فمجلد home ديالك بلاصة المشروع الحالي:
npx golive@alpha install --agent codex --globalمثبّت npm كيرفض يكتب فوق وجهة موجودة وما كيربطش حسابات المزوّدين. جوج قنوات التثبيت فيهم نفس إصدار المشروع.
حزمة npm كتوفّر حتى عمليات منفردة فالطرفية:
npx golive@alpha help
npx golive@alpha version
npx golive@alpha detect
npx golive@alpha menu
npx golive@alpha plan
npx golive@alpha verify
npx golive@alpha handoffالعملية الطرفية apply كتحتاج لمعرّف ديال خطة مقبولة وتأكيد صريح. هاد الأوامر كتنفّذ عمليات فردية؛ وماشي بديل على سيرورة المهارة الحوارية الكاملة.
بدا GoLive فـ Coding Agent ديالك
حلّ مستودع التطبيق فـ coding agent ديالك. إلا ما بانتش المهارة اللي تثبّتات دابا، عاود حمّل المهارات ولا بدا جلسة جديدة ديال agent.
فـ Codex، عيّط للمهارة فالمحادثة بهاد الشكل:
$golive Help me take this app live.فـ Claude Code، استعمل:
/golive Help me take this app live.وتقدر حتى تعطي تعليمات أكثر تحديداً باللغة العادية:
Use the golive skill to take this app live. Keep the providers it already uses.
Show me the destination accounts and plan before changing anything.
Use test resources for now.
golive skillماشي أمر طرفي. تثبيت Skills CLI ما كيزيدش برنامج عام قابل للتنفيذ سميتوgolive. الـ coding agent كيشغّل الـ CLI اللي داخل فمجلد المهارة المثبّتة. وحزمة npm كتوفّر بوحدها أوامر عبرnpx golive@alpha.
فهم سيرورة النشر
التشغيل العادي كيتبع تسلسل مضبوط، وما كيبداش بإنشاء الموارد مباشرة.
- الفحص: GoLive كتحلّل المستودع وكتكتاشف التكاملات الموجودة ديال المزوّدين والبنية التحتية الناقصة.
- التوضيح: الـ agent كيسول شنو هو المزوّد ولا الحساب اللي خاص يتستعمل ملي ما يمكنش يستنتجو من التطبيق.
- المصادقة: كتكمّل خطوات الدخول ديال المزوّد فطرفية ولا متصفّح منفصل.
- تأكيد الوجهات: GoLive كتراجع الحساب ولا الفريق ولا المؤسسة المرتابطة، باش تقدر تتأكد فين غادي يتنشؤو الموارد.
- التخطيط: الـ agent كيقدّم أسماء الموارد، والمُعرّفات إلا كانت متوفرة، والإعدادات، والتغييرات، ومعلومات التكلفة المرتابطة.
- الموافقة: ما خاص حتى تغيير عند المزوّد يتطبّق حتى توافق على الخطة.
- التطبيق: GoLive كتجهّز الموارد المقبولة وكتربطها.
- التحقّق: الـ agent كيراجع النشر، والتكاملات، والسلوك اللي يمكن ملاحظتو فالتطبيق.
- التسجيل: الموارد اللي تنشآت ونتائج التحقّق كيتحفظو باش يتستعملو من بعد ففحص الحالة، ولا التسليم، ولا الحذف.
إلا تبدلات الخطة من بعد الموافقة، GoLive كتطلب موافقة أخرى. بعض الأشغال، بحال ربط المصادقة ولا النطاق، تقدر توقع فخطة لاحقة من بعد النشر الأولي.
مثال: نشر تطبيق كيستعمل Supabase من قبل
نفترضو أن المستودع فيه من قبل تكامل مع Supabase، ولكن ما تختارش فيه حتى مزوّد للاستضافة. بدا بهاد الأمر:
$golive Take this app live using test resources. Keep its existing Supabase integration.GoLive تقدر تسولك واش بغيتي Vercel ولا Netlify ولا مزوّد آخر. اختيار Vercel كيتبع المسار اللي تجرّب مباشرة فـ alpha ديال Vercel وSupabase. من بعد غادي تحدد واش تستعمل مشروع Supabase موجود ولا تنشئ مشروع اختبار مؤقت جديد.
يمكن يطلبو منك تدير المصادقة بشكل منفصل:
vercel login
supabase loginمن بعد الدخول، خلّي الـ agent يحدّد فريق Vercel ومؤسسة Supabase المرتابطين. راجع هاد الوجهات مزيان قبل ما توافق على الخطة.
الخطة المقبولة تقدر تشمل إنشاء مشروع الاستضافة، وإنشاء مشروع قاعدة البيانات ولا اختيارو، ونقل قيم البيئة المطلوبة، ونشر التطبيق، والتحقّق من النتيجة. ملي يكمل كلشي، GoLive كتبلّغك بالرابط المباشر، وأدلّة التحقّق، وأي فحوصات مازال ما كملاتش.
حمي بيانات الدخول أثناء الإعداد
ما تلصقش الأسرار ديال المزوّد فمحادثة الـ agent إلا إلا كانت سيرورة المزوّد كتطلب بشكل صريح وآمن آلية معيّنة. فـ macOS، GoLive تقدر تستعمل نافذة أصلية للإدخال المخفي من أجل مفتاح API مطلوب. النافذة كاتشرح علاش المفتاح مطلوب وفين غادي يتخزّن. القيمة كتكتب مباشرة فملف محلي ديال بيانات الدخول، وما كتطبعش فالمحادثة ولا فمخرجات الأوامر.
المنصات الأخرى كتستعمل المحرّر ديالك كحلّ احتياطي. بقا راقب شنو كيطلبو منك، واستعمل بيانات دخول للاختبار بصلاحيات محدودة بالقدر الممكن، وتأكد أن حساب الوجهة صحيح.
تحقّق من أكثر من الصفحة الرئيسية
الرابط الناجح ديال النشر غير هو البداية. خاص التحقّق يطابق السلوك الحقيقي ديال التطبيق. على حساب المسار المختار، GoLive تقدر تراجع مجالات بحال:
- واش النشر فالاستضافة كمل وكيقدّم التطبيق.
- واش متغيّرات البيئة ديال قاعدة البيانات تربطات بالنشر.
- واش التطبيق يقدر يتصل بقاعدة البيانات ديالو.
- واش فحوصات CRUD المصادق عليها ولا عزل الجلسات كتنجح فالمسارات المدعومة.
- واش النطاق المخصّص فيه سجلات DNS المطلوبة، وإثبات الملكية، واستجابة HTTPS.
- واش Resend كيتحقق من نطاق الإرسال وواش التطبيق يقدر يدير إرسال حقيقي.
- واش دفعة اختبار Stripe كتوصّل لحدث webhook تم التحقّق من التوقيع ديالو.
أي حاجة ما تقدرش GoLive تلاحظها خاصها تبقى مبيّنة بوضوح على أنها غير متحقّق منها. مثلاً، توصيل الرسالة لصندوق الوارد كيتأكد منّو شخص، حيث GoLive ما كتفتّشش فصندوق وارد المستقبِل.
راجع اختلافات النشر
GoLive كتوفّر سيرورة عند الطلب golive status كاتقارن التوقعات المسجّلة مع حالة المزوّد اللي يمكن ملاحظتها. هادي مراجعة للاختلافات، وماشي مراقبة مستمرة ولا تنبيهات.
golive statusإلا كنت كتستعمل تثبيت npm، راجع المساعدة ديال الحزمة باش تعرف العمليات الطرفية المتاحة فـ alpha المثبّتة:
npx golive@alpha helpدير فحوصات الحالة من بعد التغييرات اليدوية عند المزوّد، وقبل ما تسلّم المشروع لمالك آخر، ولا قبل ما تخطّط تحيد الموارد. اعتابر الموارد اللي مايمكنش الولوج ليها ولا التحقق منها ملاحظات خاصها التحقيق، وما تفترضش باللي راهي سليمة.
إنشاء سجلّ التسليم
مسار التسليم كينشئ توثيق ديال الملكية للبنية التحتية اللي GoLive عارفها. كيوضّح README باللي golive handoff --write تجرّب على fixture مؤقت خاص بـ Vercel، وأنّ الملفات اللي تخرجات تراجعات باش ما يكونوش فيها قيم كتشبه لبيانات الاعتماد.
golive handoff --writeالتسليم مفيد قبل نقل المشروع لعميل ولا لفريق هندسة آخر. راجع الوثيقة اللي تخرجات ونظيرتها بصيغة JSON، وتأكد من كل حساب ديال المزوّد ومن مالك كل مورد، وبلّغ الأسرار بشكل منفصل عبر قناة آمنة ومناسبة.
حذف الموارد المؤقتة بأمان
ملي مايبقاش النشر التجريبي محتاج ليه، طلب من المهارة تخطّط للحذف:
$golive Plan teardown for the resources created by this project. Show me everything that will be removed before deleting anything.مسار الحذف كيتطلب الموافقة. التحقق المباشر شمل مشروع Netlify مؤقت، اللي تمنع حذفه بلا --confirm-destroy، ومن بعد تحيد من بعد تأكيد صريح. والتنظيف اللي تجرّب شمل حتى سجلات DNS، ومفاتيح الإرسال ديال Resend، وendpoint ديال Stripe فـ test mode أنشأه GoLive.
ديما فتّش خطة الحذف على قواعد البيانات المشتركة، والدومينات، ومناطق DNS، وإعدادات البريد الإلكتروني، وواجهات الدفع، والمشاريع اللي يمكن يكون ولى فيها داتا مهمة. قدرة GoLive على حذف مورد ما كتعنيش باللي الحذف ديالو مناسب.
نصائح متقدمة
فضّل التركيبات المجرّبة فالتجارب الأولى
باش تستافد من أقوى الأدلة المتوفرة دابا، بدا بـ Vercel وSupabase ولا Netlify وNeon. التركيبات الأخرى يمكن تخدم، ولكن التغطية المقلّدة ماشي بحال تشغيل مباشر مكتمل.
استعمل موارد اختبار واضحة
طلب موارد مؤقتة ولا ديال الاختبار ملي كتقيّم النسخة alpha. دعم Stripe متحقق منو بشكل خاص فـ test mode؛ وREADME ما كيدّعيش نفس الجاهزية للدفع فـ live mode، ولا لمعالجة الاسترجاع، ولا الاشتراكات، ولا التحقق من الاستحقاقات.
صرّح برحلات Supabase Auth الاختيارية بحذر
إعداد سياسة Supabase Auth يقدر يسيّر التسجيل، وتأكيد البريد الإلكتروني، والحد الأدنى لطول كلمة السر، وإعدادات mailer، ورابط الموقع، واللائحة المسموح بها لإعادة التوجيه عبر خطة مصادق عليها. رحلة التسجيل الاختيارية كتتفعل بإعداد بحال:
auth:
e2e: trueاسترجاع كلمة السر وعزل الحسابات عندهم حتى هما أعلام إعداد:
auth:
recovery: true
isolation: true
identityPath: /your-identity-route
isolationPath: /your-rows-routeهاد الرحلات الأخيرة مطبّقة ومغطّاة بالمحاكاة، ولكن مازال ما تدارش ليها المصادقة المباشرة حسب توثيق alpha. العزل كيتطلب مسارات فالتطبيق بالسلوك المتوقع؛ إلا كانت المسارات ناقصة ولا ما مناسبةش، كينتج عنها تسليم لمهمة بدل نجاح زائف.
اعتابر أعلام التأكيد بوابات أمان
العمليات اللي تقدر تأثر على الأنظمة الحية كتستعمل بوابات صريحة. من الأمثلة اللي موصوفة فالمشروع --confirm-dns لكتابات DNS، و--confirm-live لبعض العمليات على الحسابات الحقيقية ولا القيم الحية، و--confirm-destroy للحذف. ما تفوّتش هاد الفحوصات بلا ما تراجع الخطة والوجهة بالضبط.
ميّز بين المهايئات المدمجة والمزوّدين الموجّهين
بالنسبة لمزوّد ما مدعومش، GoLive كيفحص واش كاين CLI رسمي، ولا تكامل MCP رسمي، ولا API قبل ما يرجع للإرشاد عبر لوحة التحكم. هادي مساعدة بأفضل مجهود. مستوى الإكمال والتحقق ماشي مضمون، لذلك توقّع عائق محدد والخطوة الموالية ملي ما تقدرش الأتمتة تكمل.
جرّب ميزات الإصدارات بحذر
المشروع فيه قدرات مطبّقة ولكن مازال ما تدارش ليها المصادقة المباشرة، بحال المعاينة، وفحص الإصدار، والترقية، والتراجع. سلوك المعاينة اختياري عبر golive.yaml:
release:
preview: trueالترقية والتراجع كيستعملو قيم اختيارية إضافية:
release:
preview: true
promote: true
rollback: trueحيت هاد القدرات مازال ما تدارش ليها المصادقة المباشرة، استعملها غير فبيئات اختبار مضبوطة وفتّش كل خطة كتتولد. النشرات الناجحة تقدر تسجّل هوية النشر ديال المزوّد فـ .golive/state.json، وهادشي كيخلي القدرات اللاحقة تشير لنشر محدد بدل URL مبهم.
قيود مهمة
- المشروع مازال فمرحلة alpha مبكرة.
- ماشي كل إطار عمل ولا إعداد حساب ديال مستخدم جديد تدار ليه المصادقة.
- خوادم backend مخصصة، والحاويات، وتخزين الكائنات، والمراقبة، والتحليلات، والمهام الخلفية، وعدة فئات أخرى ديال الإطلاق مازال غير عناصر فخارطة الطريق.
- المراقبة والتنبيه المستمران ما داخلينش؛ فحص الحالة كيتدار عند الطلب.
- DNS ديال Cloudflare تجريبي وماشي مسار alpha متحقق منو.
- استرجاع كلمة السر وعزل الحسابات فـ Supabase مطبّقين، ولكن مازال ما كمّلوش التحقق المباشر.
- SMTP مخصص ديال Resend لـ Supabase Auth مطبّق ومغطّى بالمحاكاة، ولكن ما تدارش ليه المصادقة المباشرة.
- المزوّدون الموجّهون ما كيتلقاوش نفس ضمانات الإكمال ولا التحقق اللي كيتلقاوها المهايئات المدمجة.
الخلاصة
GoLive كيوفر طريقة مبنية على الموافقة باش تنقل تطبيق بناه agent للبنية التحتية اللي كتملكها. بدا بموارد مؤقتة، وفضّل تركيبات المزوّدين اللي تجرّبات مباشرة، وتحقق من حسابات الوجهة قبل ما توافق على التغييرات، وراجع كل ملاحظة مازال ما تسدّاتش. من بعد ما يثبت النشر، استعمل فحوصات الحالة ووثائق التسليم باش تحافظ على السياق التشغيلي، ومن بعد استعمل مسار الحذف المحكوم ملي ما تبقاش موارد الاختبار محتاج ليها.
