Ruby on Rails
اتفاقيات إطار عمل Rails الممتدة لعشرين عاماً وثقافة الاختبار المسبق تجعلان بيئته الأكثر ملاءمة للبرمجة الذاتية مقارنة بمنظومة جافاسكريبت السائدة.
AI-assisted summary of From Prompt to Rails: An Online Rails App Generator - Paweł Strzałkowski — original source. Check the original for full context.
Source published:
Key ideas
- إطلاق منصة Hifumi مفتوحة المصدر (hifumi.dev) لتوليد تطبيقات ويب حية وكاملة مبنية على إطار Ruby on Rails بدلاً من بيئات JavaScript الشائعة في مولدات الأكواد الحالية. (3:16)
- تعتمد المنصة على سير عمل مهيكل تقوده أداة Roast المطورة من Shopify بالتكامل مع RubyLLM وClaude Code لتقسيم عملية التطوير إلى مراحل مراجعة (Revisions) دقيقة ومحكمة. (10:59)
- تنفيذ كل مرحلة بناء داخل حاوية Docker مؤقتة تُحذف فورياً (`--rm`)، مع تطبيق فحوصات حتمية واختبارات تكاملية حالت دون الحاجة للتراجع التلقائي للكود طوال ثلاثة أشهر من التجارب. (15:24)
- توفير نظام معاينة تفاعلية حية يربط بين Docker وKamal Proxy وفحص الجاهزية `/up`، مع بث الواجهة مباشرة للمستخدم داخل إطار iframe بالاعتماد على Solid Queue وHotwire. (17:30)
Detailed notes
## Background نُشر هذا العرض التقديمي عبر قناة Ruby on Rails الرسمية على منصة YouTube في 1 أكتوبر 2026 برعاية شركة Shopify، ويقدمه المهندس باويل ستراكوفسكي (Paweł Strzałkowski). يستعرض الفيديو مشروع Hifumi، وهو مولد تطبيقات مفتوح المصدر يحول الأوامر النصية إلى تطبيقات متكاملة مبنية بإطار Ruby on Rails بدلاً من JavaScript، متناولاً دورة التطوير الكاملة من التخطيط والتنفيذ عبر الوكلاء في حاويات Docker وصولاً إلى المعاينة المباشرة والتصدير إلى GitHub.
## TL;DR يستعرض باويل ستراكوفسكي منصة Hifumi التي تهدف لكسر هيمنة منظومة JavaScript على مولدات التطبيقات المدعومة بالذكاء الاصطناعي وجلب قوة إطار Ruby on Rails للمستخدمين والمطورين. يشرح العرض كيفية تحويل الفكرة الأولية إلى خطة تنفيذ متعددة المراحل تُدار عبر Roast وRubyLLM، وتُنفذ برمجياً باستخدام Claude Code داخل حاويات Docker معزولة ومؤقتة. يتطرق الحديث أيضاً إلى معمارية الفحص الذاتي، ونظام المعاينة الحية المعتمد على Kamal Proxy وSolid Queue، وصولاً إلى تصدير كود نظيف وتوثيق متكامل إلى مستودعات GitHub، مؤكداً أن اتفاقيات Rails العريقة تجعلها البيئة الأكثر مثالية للبرمجة الوكالية الحديثة.
## Atmosphere & style يتسم العرض بطابع عملي حماسي يمزج بين الفكاهة الذكية والعمق الهندسي الرصين؛ حيث يظهر المتحدث شغفاً حقيقياً بثقافة ومجتمع Ruby on Rails على مدار عقود. تبدأ الأجواء بنبرة نقدية طريفة تجاه طوفان أدوات JavaScript السريعة، لتتحول تدريجياً إلى شرح تقني معماري مشوق ومبهر يستعرض نماذج حية وتطبيقات واقعية بُنيت بالكامل عبر النظام. ينقل المتحدث شعوراً بالثقة والتفاؤل بمستقبل بيئة Rails، خاتماً كلمته بحماس ملهم يدعو الحضور لاستكشاف الأداة وبناء أفكارهم بأنفسهم.
## Bulletin - [03:16](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=196s) إطلاق منصة Hifumi مفتوحة المصدر (hifumi.dev) لتوليد تطبيقات ويب حية وكاملة مبنية على إطار Ruby on Rails بدلاً من بيئات JavaScript الشائعة في مولدات الأكواد الحالية. - [10:59](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=659s) تعتمد المنصة على سير عمل مهيكل تقوده أداة Roast المطورة من Shopify بالتكامل مع RubyLLM وClaude Code لتقسيم عملية التطوير إلى مراحل مراجعة (Revisions) دقيقة ومحكمة. - [15:24](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=924s) تنفيذ كل مرحلة بناء داخل حاوية Docker مؤقتة تُحذف فورياً (`--rm`)، مع تطبيق فحوصات حتمية واختبارات تكاملية حالت دون الحاجة للتراجع التلقائي للكود طوال ثلاثة أشهر من التجارب. - [17:30](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=1050s) توفير نظام معاينة تفاعلية حية يربط بين Docker وKamal Proxy وفحص الجاهزية `/up`، مع بث الواجهة مباشرة للمستخدم داخل إطار iframe بالاعتماد على Solid Queue وHotwire.
## Key takeaways - [00:12](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=12s) معظم منصات الذكاء الاصطناعي التوليدية المتاحة تقيد المستخدمين بنظام JavaScript، مما يجعل رواد الأعمال غير التقنيين ملزمين بمسار تقني قد لا يناسب بناء تطبيقات ويب متكاملة مثلما يتيح Ruby on Rails. - [03:16](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=196s) اسم المشروع Hifumi مستوحى من طريقة العد اليابانية التقليدية للأرقام الثلاثة الأولى (Hi, Fu, Mi)، ويعمل المشروع كقالب مفتوح المصدر يتطلب فقط تزويد مفتاح OpenRouter الشخصي لتغطية استهلاك الرموز. - [05:22](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=322s) يبدأ بناء التطبيق باستيضاح المتطلبات وطرح أسئلة متابعة وتوليد بيانات تجريبية (Seed Data) لضمان ظهور التطبيق بواجهة واقعية فور التشغيل. - [05:22](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=322s) الاعتماد على خطة تنفيذ مرحلية مفصلة بدلاً من الموجهات الشاملة المباشرة يقلل من مخاطر البرمجة الوكالية التي قد تنتج سلوكيات غير مرغوبة للتعليمات غير المصرح بها. - [05:22](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=322s) تطبيق قاعدة محورية في توليد الواجهات تلزم الوكيل البرمجي بوضع الميزة الأساسية في مسار الجذر (Root Route) لتجنب فتح تطبيقات فارغة للمرة الأولى. - [10:59](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=659s) هيكلة كل خطوة في الخطة تحت مسمى 'مراجعة' (Revision) ذات نطاق مستقل، تنتج عند اكتمالها التزامين نظيفين في مستودع Git أحدهما للكود والآخر لملفات التوثيق. - [10:59](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=659s) استخدام لغة سير العمل Roast التابعة لشركة Shopify يفصل المسؤوليات بدقة بين الأوامر الحتمية والمهام المعتمدة على الذكاء الاصطناعي بدلاً من احتكار النموذج لكامل المنظومة. - [12:55](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=775s) تكامل مكتبة RubyLLM 2.0 لإدارة الاتصال بالنماذج مع أداة Claude Code التي تنفذ التعديلات في بيئة سطر الأوامر باستخدام وضع تجاوز الأذونات المستقل (`--dangerously-skip-permissions`). - [15:24](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=924s) تطبيق دورة تحقق مؤتمتة تعالج الأخطاء المتوقعة حتمياً أولاً (مثل تثبيت الحزم)، وتمنح الوكيل فرصة أو فرصتين للتصحيح الذاتي قبل إعلان فشل البناء. - [15:24](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=924s) عزل عمليات بناء المراجعات داخل حاويات Docker معزولة تعمل بخيار الإتلاف التلقائي (`--rm`) لتوفير طبقة حماية أمنية للخادم المضيف ضد الأكواد غير الموثوقة. - [17:30](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=1050s) إدارة المعاينة الحية السحابية والمحلية عبر تسجيل الحاويات الجاهزة داخل Kamal Proxy فور اجتياز فحص السلامة المدمج في ريلز (`/up`). - [22:29](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=1349s) إدارة المنظومة التشغيلية بالكامل بالاعتماد على خمس مهام خلفية فقط في Solid Queue مع بث الاستجابات والتحديثات اللحظية عبر Hotwire. - [22:29](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=1349s) استخدام نمط النشر والاشتراك (Pub/Sub) عبر `ActiveSupport::Notifications` لفك الارتباط المباشر بين منطق البناء ومنطق إيقاف وإدارة حاويات المعاينة القديمة. - [22:29](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=1349s) منح المستخدمين الملكية التامة للكود المصدري عبر ميزة التصدير المباشر بضغطة زر واحدة إلى مستودع GitHub خاص، شاملاً سجل الإيداعات والتوثيق. - [27:25](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=1645s) اتفاقيات Rails الصارمة وعقلية الاختبارات المسبقة المتجذرة منذ عشرين عاماً تجعل الإطار الخيار الأكثر انسجاماً وتوافقاً مع فهم النماذج اللغوية في عصر الوكلاء البرمجيين.
## Detailed walkthrough ### [00:12](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=12s) خلفية الفكرة والحاجة إلى مولد تطبيقات خاص بـ Ruby on Rails
تبدأ جميع المواقع الإلكترونية بفكرة أو حلم؛ فقد يرغب طفل في إنشاء موقع يجعله ثرياً، أو يطلب "ديفيد" (ديفيد هاينماير هانسون) إنشاء مدونة تقتصر على المقالات والتعليقات، أو يبحث شخص مثل "بوب" عن تطبيق ويب داخلي مخصص للموارد البشرية داخل شركته. تتيح أدوات الذكاء الاصطناعي التوليدية والنماذج اللغوية الكبيرة (LLMs) اليوم تحويل هذه الرغبات إلى واقع بمجرد كتابة أمر نصي في منصات مثل Lovable أو v0 أو Bolt.new. تكمن المشكلة الجوهرية في أن معظم هذه المولدات تُنتج حصراً تطبيقات مبنية على لغة JavaScript، رغم أن إطار عمل Ruby on Rails لا يزال يمثل، في نظر الكثيرين، الخيار الأمثل لبناء تطبيقات الويب الحديثة والمتكاملة.
يقدم باويل ستراكوفسكي (Paweł Strzałkowski) نفسه وخلفيته المهنية؛ فهو يعمل نهاراً كمدير تقني (CTO) في وكالة البرمجيات البولندية Visuality المتخصصة في Ruby ومقرها وارسو، كما أنه شريك مؤسس في شركة الاستشارات Century Perspective التي تدعم تطبيقات Rails الناضجة للتكيف مع ثورة الذكاء الاصطناعي. ومع مرور 30 عاماً على بنائه أول موقع إلكتروني باستخدام لغة HTML البسيطة، يواصل باويل اليوم بناء تطبيقات تعتمد على الوكلاء الأذكياء (Agentic Coding) والنماذج اللغوية مستخدماً إطار Rails. يرى باويل أن أهمية المولدات تتضاعف عند مقارنة 30 مليون مطور يستخدمون الأدوات الذكية بالقاعدة الضخمة لمستخدمي الإنترنت البالغة 6 مليارات شخص لديهم جميعاً أفكار لمشاريع؛ فالمطالبة النصية الأولى التي يكتبها شخص غير تقني غالباً ما تقيده بالتقنية الناتجة وتحدد المسار التقني لشركته الناشئة بالكامل.
- تضم منصات المولدات الحالية أدوات شهيرة تُخرج شفرات برمجية تعتمد بالكامل على منظومة JavaScript. - يهدف المشروع إلى جلب قوة إطار Ruby on Rails إلى المستخدمين الذين يبنون التطبيقات بالكامل عبر مربعات الأوامر النصية. - كتابة تطبيقات الويب بواسطة Rails تفتح آفاقاً لتوسيع استخدام النماذج اللغوية الكبيرة وتعزز بيئة ومجتمع المطورين التابعين له.
---
[03:16](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=196s) تسمية المشروع وإطلاق منصة Hifumi
واجه المشروع تحدياً مبكراً كاد أن يوقفه وهو مرحلة التسمية؛ إذ سعى باويل في البداية إلى اسم مستوحى من مصطلحات القطارات والسكك الحديدية الشهيرة في بيئة Rails، مثل "Locomotive" أو "Depot"، لكنها لم تكن خيارات مقنعة. قاده التفكير للعودة إلى الأصول الثقافية اليابانية للغة Ruby، انطلاقاً من مبدأ أن بناء تطبيق ويب يجب أن يكون سهلاً وسلساً مثل العد "واحد، اثنان، ثلاثة". ورغم معرفته المحدودة باللغة اليابانية التي تقتصر على العد حتى 99، وجد أن النطق المباشر لأرقام "Ichi, Ni, San" يبدو ثقيلاً نوعاً ما وغير ملائم للاسم البرمجي المنشود.
لجأ باويل إلى استشارة Claude، الذي اقترح طريقة يابانية تقليدية في العد حتى الرقم عشرة وهي "Hi, Fu, Mi" (هي، فو، مي). إلى جانب دلالتها العددية، يُعد "Hifumi" اسماً شخصياً يابانياً مألوفاً، مما جعل الكلمة تترك أثراً فورياً لديه. نتج عن ذلك منصة Hifumi، وهو مشروع مفتوح المصدر يُعد بمثابة مخطط تطبيقي لإنشاء مشاريع Rails، والمتاح للجميع عبر الرابط المباشر `hifumi.dev`. المنصة مجانية ومفتوحة بالكامل، وتتطلب فقط إدخال مفتاح الـ API الخاص بالمستخدم من خدمة OpenRouter لتغطية تكاليف الرموز (Tokens)، مع إمكانية استنساخ المشروع وتشغيله محلياً دون أي قيود.
```mermaid flowchart LR accTitle: Hifumi App Lifecycle Overview accDescr: The lifecycle steps from an initial user idea to GitHub export and deployment. subgraph Flow["دورة حياة التطبيق في Hifumi"] Idea["الفكرة والمطالبة النصية"] --> Plan["استيضاح الفكرة وبناء الخطة"] Plan --> Build["التنفيذ عبر الوكلاء"] Build --> Preview["المعاينة والتحسين التكراري"] Preview --> Export["التصدير إلى GitHub"] end ```
- الاسم Hifumi مستمد من العد التقليدي الياباني للأرقام الثلاثة الأولى: "Hi" (واحد)، "Fu" (اثنان)، "Mi" (ثلاثة). - يعتمد الموقع المنشور hifumi.dev على تزويد المستخدم لمفتاح OpenRouter API لحسابه الخاص: "أنا لن أدفع تكاليف الرموز (Tokens) نيابة عنكم. لقد ولى ذلك الزمن". - يتيح سير العمل العام الانتقال من الفكرة، إلى البناء، والمعاينة الحية، والتحسين، وصولاً لتصدير الكود المصدري النهائي بالكامل إلى حساب GitHub تمهيداً للإطلاق التجاري والاكتتاب العام (IPO).
---
[05:22](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=322s) استيضاح المتطلبات وصياغة خطة التنفيذ متعددة المراحل
يبدأ العمل في Hifumi بطرح المتطلبات الوظيفية واحتياجات العمل في صندوق إدخال نصي بارز داخل لوحة التحكم، مع توفير خيارات لتحديد نماذج ذكاء اصطناعي مختلفة للمهام الفرعية عبر حزمة Ruby LLM. ولأن الأفكار الأولية تكون غير واضحة أو ناقصة بطبيعتها، يقوم Hifumi بدور الفريق الاستشاري عبر طرح أسئلة متابعة متتالية لتوضيح التفاصيل، مثل الاستفسار عما إذا كان التطبيق يحتاج لبيانات تجريبية أولية (Seed Data)، نظراً لأن التطبيق يبدو فارغاً وسيئاً بدونها، بينما "يتألق حقاً" عندما يتضمن بيانات حية توضيحية. وعند استقرار الرؤية، يسأل المساعد المستخدم: "هل أنت مستعد للبدء في البناء؟" ليشرع مباشرة في وضع خطة التنفيذ.
تعتمد المنهجية البرمجية على تقسيم الهدف إلى مراحل مدروسة؛ فالاعتماد على أمر وكيل مباشر مثل `slash golden clothes` لتنفيذ كل ما يطلبه المستخدم دفعة واحدة ينطوي على مخاطرة، لأنه "في البرمجة الوكالية (Agentic Coding)، أي شيء لا تقوله سيُستخدم ضدك بطريقة أو بأخرى". لمعالجة هذا، يولد Hifumi خطة تنفيذ مفصلة؛ فعند طلب تطبيق مدونة للمنشورات والتعليقات، صاغ النظام خطة من 5 خطوات شملت: إنشاء نماذج البيانات، ضبط التخطيط العام، توليد البيانات الأولية، وإجراء اختبار تكاملي شامل (System/Integration Test). لا تقتصر كل خطوة على مجرد ملخص عام، بل تتحول في الكواليس إلى موجه مفصل وكامل (Detailed Agentic Prompt) يمتد لصفحة كاملة من التعليمات الصارمة الموجهة للأداة البرمجية.
- يتيح Hifumi تخصيص نماذج لغوية متعددة للمهام المنفصلة أثناء الإعداد. - يُطرح سؤال محدد دائماً حول تضمين بيانات أولية لإعطاء الواجهة مظهراً حقيقياً فور التشغيل. - تضمنت تجربة تحويل المدونة لتصبح متمحورة حول مشروع أمارشي (Omarchy) خطة جديدة شملت: تغيير الهوية البصرية، وتعديل التنسيق والخطوط، وتحديث المحتوى، مع الحفاظ على هيكل التطبيق الأصلي. - قاعدة أساسية لتوليد تطبيقات الويب: "ضع الميزة الرئيسية في مسار الجذر (Root Route)"، لتجنب الحصول على تطبيق مبني بنجاح لكنه يعرض صفحة فارغة عند فتحه للمرة الأولى.
---
[10:59](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=659s) بنية خطة العمل ولغة النطاق واستخدام أداة Roast
تظهر واجهة متابعة البناء في Hifumi تحديثات حية لحالة الخطة؛ إذ تُميز كل مرحلة بحالات مرئية واضحة (مكتملة، قيد الإنشاء، أو معلقة) باستخدام تقنيات Hotwire وبث التنبيهات المباشرة عبر Active Support Notifications. وفي لغة النطاق (Domain Language) الخاصة بـ Hifumi، يُطلق على كل مرحلة من مراحل الخطة اسم "مراجعة" (Revision). تتكامل هذه المراجعات لتشكل الخطة العامة للمشروع، وتمتلك كل مراجعة هدفاً مستقلاً، وملخصاً من جملة واحدة، ونطاق عمل محدد المعالم تلتزم به بدقة.
```mermaid flowchart TD accTitle: Hifumi Revision Workflow Execution accDescr: Structure of a single Revision execution yielding deterministic steps and LLM actions into two git commits. subgraph PlanStructure["بنية الخطة والمراجعة (Revision)"] Rev["المراجعة (Revision)<br/>- هدف محدد<br/>- ملخص مركز<br/>- نطاق العمل"] end subgraph WorkflowEngine["سير العمل عبر Roast"] Steps["خطوات حتمية (Deterministic)<br/>+ مهام قائمة على LLM"] end subgraph Output["المخرجات في مستودع Git"] C1["التزام كود المصدر (Code Commit)"] C2["التزام التوثيق (Docs Commit)"] end Rev --> Steps Steps --> C1 Steps --> C2 ```
يتم تشغيل كل مراجعة من خلال "سير عمل" (Workflow) يتألف من سلسلة خطوات تجمع بين التنفيذ الحتمي للأوامر والمهام التي تتطلب تدخلاً من النماذج اللغوية. وعند اكتمال معالجة مراجعة معينة، يُسجل النظام تلقائياً التزامين منفصلين (Two Commits) في مستودع Git: أحدهما مخصص للتعديلات البرمجية التي طرأت على كود التطبيق، والآخر يوثق التغييرات في ملفات التوثيق. ويتم إدارة وهندسة سير العمل الداخلي بالكامل بالاعتماد على Roast، وهي لغة برمجية وسيطة مفتوحة المصدر طورتها Shopify وتعتمد على Ruby لتنفيذ مسارات العمل المعقدة التي تدمج التعديلات الحتمية مع التوجيهات الذكية. وقد فضّل باويل الاعتماد عليها لضمان فصل واضح للمسؤوليات داخل النظام بدلاً من احتكار Ruby LLM لكل مفاصل المشروع.
- تعتمد المتابعة الحية على Hotwire لبث تغيرات حالة المراحل من "قيد البناء" إلى "مكتمل". - تبدأ الخطة دائماً من هيكل قالب مسبق لتطبيق Rails (App Skeleton) ولا تبدأ من الصفر المطلق لضمان السرعة وتماسك الإعدادات. - تسفر كل مرحلة مكتملة عن حفظ التزامين نظيفين في Git (الكود المصدري + التوثيق). - تم اختيار Roast من Shopify خصيصاً لقدرتها العالية على الدمج المنظم بين العمليات الحتمية وعمليات الذكاء الاصطناعي مع إبقاء المعمارية مفصولة ومنظمة.
[12:55](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=775s) دور RubyLLM وRoast في إدارة سير العمل والربط مع Claude Code
يقوم المعمار الأساسي لـ Hifumi على الفصل التام بين طبقة التواصل مع النموذج اللغوي (LLM) وطبقة تنفيذ وإدارة سير العمل (Workflow). يمازح بافاو الحضور بأنه كان يود أن يسأل كم شخصاً في القاعة استخدم حزمة RubyLLM، لكنه لا يستطيع رؤيتهم بسبب أضواء المسرح، لذا يكتفي بتوجيه شكر خاص لمطورها Carmine Paolino، مؤكداً أنه "لولا RubyLLM لما وُجد هذا المشروع على الإطلاق"، ومشيراً إلى إطلاق الإصدار 2.0 مؤخراً. لتنظيم هذه الخطوات، يعتمد المشروع على أداتين متكاملتين: مكتبة RubyLLM لإدارة التفاعل اللغوي، وأداة Roast لإدارة مسارات العمل خطوة بخطوة.
```mermaid flowchart TD accTitle: دورة تنفيذ المراجعات في Hifumi accDescr: رسم توضيحي لمراحل بناء المراجعة، بدءاً من تجميع الأمر، والتنفيذ في حاوية دوكر، وصولاً إلى الفحص والتوجيه عبر كمال بروكسي. subgraph S_PREP ["1. إعداد الأمر وتوليد الكود"] A["تحديد مهام المراجعة ونطاق العمل"] --> B["إدراج التوثيق ولقطة مساحة العمل"] B --> C["تطبيق قواعد ريلز والاختبارات"] C --> D["إرسال الأمر إلى Claude Code"] end
subgraph S_EXEC ["2. التنفيذ والعزل في Docker"] D --> E["تشغيل حاوية معزولة مؤقتة (--rm)"] E --> F["فحص البناء: bundle و Sidekiq وطلبات GET"] F --> G{"هل تنجح الاختبارات؟"} G -- "نعم" --> H["حفظ التغييرات وتحديث التوثيق"] G -- "لا" --> I["إصلاح حتمي أو إعادة المحاولة عبر الوكيل"] I --> G end
subgraph S_SERVE ["3. النشر والمعاينة الحية"] H --> J["فحص سلامة التطبيق (/up)"] J --> K["تسجيل المسار في Kamal Proxy"] K --> L["بث المعاينة عبر Solid Queue و Hotwire"] end ```
يتبع سير عمل Roast مجموعة محددة من المراحل تُنفذ مع كل "مراجعة" (Revision) أو مرحلة من الخطة. تبدأ العملية ببناء موجه الأوامر (Prompt)، والذي يجمع مهام المراجعة المحددة، ونطاق العمل المطلوب، والتوثيق المكتوب للمشروع حتى تلك اللحظة، بالإضافة إلى لقطة شاملة (Snapshot) لحالة مساحة العمل الحالية. كما تُحقن مع الموجه قواعد عمل صارمة تضمن الجودة؛ مثل الالتزام بفلسفة ريلز التقليدية ("Do it the Rails way") وتغطية الشيفرة البرمجية بالاختبارات الشاملة. فور اكتمال الأمر، يُمرر إلى Claude Code — وهو الأداة المفضلة لدى بافاو، مع إمكانية استبدالها بنماذج أخرى عبر مهايئات متوافقة مع Claude أو من خلال مفتاح OpenRouter API. يتم تشغيل الوكيل باستخدام خياره المفضل: تجاوز الأذونات التلقائي (`--dangerously-skip-permissions`)، لتفادي مقاطعة المستخدم بطلبات الموافقة اليدوية في كل تعديل.
تتميز هذه البنية بميزة اقتصادية وعملية هائلة؛ إذ إن تشغيل Hifumi محلياً (Localhost) يعتبر مجانياً بالكامل لمن يمتلك اشتراكاً في Claude، مما يتيح تجربة النظام وتوليد التطبيقات والتوثيق دون دفع فلس واحد لتوليد الشيفرة. أما المحادثات التمهيدية المدارة عبر RubyLLM ونموذج OpenRouter فلا تكلف سوى بضعة سنتات زهيدة.
- **RubyLLM 2.0**: الحزمة الأساسية للاتصال بالنماذج الذكية، ومحرك التوليد النصي التفاعلي. - **Roast**: محرك إدارة خطوات العمل المتسلسلة لكل مرحلة بناء. - **Claude Code**: أداة تنفيذ وتعديل الأكواد الفعلية عبر واجهة سطر الأوامر. - **`--dangerously-skip-permissions`**: علم تشغيل أساسي يمنح الوكيل البرمجي صلاحية العمل التلقائي المستقل دون مقاطعة المستخدم.
---
[15:24](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=924s) دورة التحقق، الإصلاح الحتمي، والعزل عبر حاويات Docker
بمجرد أن ينتهي الوكيل من كتابة الشيفرة للمراجعة المحددة، تبدأ مرحلة الفحص الآلي الصارم للتأكد من سلامة التطبيق. تشمل هذه الفحوصات التأكد من تثبيت الحزم بنجاح عبر `bundle install`، واجتياز فحوصات العمليات الخلفية (مثل Sidekiq)، وإجراء اختبارات على جميع مسارات GET للتأكد من عدم ظهور أي أخطاء برمجية في الصفحات، ثم تشغيل حزمة الاختبارات المؤتمتة الكاملة داخل بيئة Hifumi. في حال وجود أخطاء، يسعى النظام لحلها أولاً بطريقة "حتمية" (Deterministic)؛ فإذا نسي الوكيل تثبيت حزمة جديدة، يقوم النظام بتشغيل أمر التثبيت تلقائياً. أما إذا كان الخطأ يتطلب تدخلاً منطقياً، يُرسل النظام أمر إصلاح موجه للوكيل لمحاولة تصحيح الخطأ مرة أو مرتين.
وفي سيناريو الفشل المستمر الذي يعجز الوكيل عن معالجته، يُصنف بناء المراجعة كبناء فاشل، ويتم التراجع تلقائياً في مستودع Git إلى الحالة السابقة لتلك المراجعة. ويشير بافاو بفخر إلى أن آلية التراجع هذه لم تُستدعَ مطلقاً طوال الأشهر الثلاثة الأخيرة من الاختبارات في Hifumi بفضل دقة الإصلاح الذاتي. وعند اجتياز كافة الفحوصات بنجاح، تُحفظ التغييرات في Git، ويُولد توثيق تقني للمرحلة ويُحفظ بالتوازي، لتكتمل الخطة خطوة بخطوة.
أما عن الجانب الأمني، فإن إعطاء نموذج ذكاء اصطناعي صلاحيات كتابة وتشغيل أكواد بأذونات غير مقيدة مباشرة على الخادم المضيف يمثل خطورة بالغة. لحل هذه المعضلة، تنشئ كل مراجعة حاوية Docker مؤقتة ومستقلة تماماً، تُشغل مع خيار الحذف الفوري (`docker run --rm`)، بحيث تُدمر الحاوية بالكامل فور انتهاء المراجعة. ومع أن حاويات دوكر لا توفر عزلاً أمنياً تاماً كالأجهزة الوهمية، إلا أنها تضمن فصلاً آمناً بين مراجعات العمليات البرمجية وبيئة الخادم الأساسية.
- **فحوصات السلامة الآلية**: فحص سلامة الحزم (`bundle`)، وتكامل Sidekiq، والتأكد من استجابة جميع مسارات طلبات HTTP GET دون انهيار. - **استراتيجية الإصلاح ثنائية المسار**: إصلاحات حتمية تلقائية للأخطاء المتوقعة، تليها مطالبات تصحيح يحللها الوكيل الذكي (محاولة إلى محاولتين). - **العزل التشغيلي**: تنفيذ كل مراجعة وكل تطبيق Rails داخل حاوية Docker مؤقتة باستخدام الخيار `--rm`.
---
[17:30](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=1050s) نظام المعاينة الحية: Docker وKamal Proxy وSolid Queue
يصف بافاو ميزة المعاينة الحية بأنها "الجزء الأكثر متعة" في المعمار التقني بأكمله؛ فالمعضلة الهندسية تكمن في: كيف يمكن لتطبيق Rails قيد التشغيل أن ينشئ ويعاين تطبيق Rails آخر بالكامل ومنحه واجهة حية تفاعلية؟ يقدم بافاو عرضاً حياً لتطبيق بُني من الصفر بمطالبة خالية تماماً من أي مصطلحات تقنية أو ذكر لإطار ريلز، وتقتصر على متطلبات العمل الفعلية. وبمجرد اكتمال البناء، تظهر نافذة المعاينة الحية داخل إطار `iframe` متكامل.
يستعرض بافاو التطبيق الناتج، وهو عبارة عن منصة مجتمعية لتنظيم رحلات المشي لمسافات طويلة (Hiking). يمكن للمستخدم تسجيل حساب جديد، وتصفح الرحلات المتاحة؛ حيث يعرض رحلة في إنجلترا يشارك فيها شخصان فقط، ثم يضغط على زر الانضمام، ليتغير طلبه فوراً إلى "معلق" (Pending) داخل صفحة الحساب الشخصي. يعلق بافاو بابتسامة: "قد لا يبدو الأمر فائق التعقيد، لكنه تطبيق Rails تفاعلي متكامل، مكتمل الوظائف وذو مظهر جميل جداً".
تعتمد البنية التحتية لهذه المعاينة على الدمج بين Docker وKamal Proxy. تبدأ الخطوات ببناء صورة دوكر للتطبيق المُولد ثم تشغيل الحاوية. في بيئة التطوير المحلية (Localhost)، تُربط الحاوية بمنفذ ديناميكي يعتمد على معرف المشروع (المنفذ 3000 مضافاً إليه معرف المشروع، مثل المنفذ `3010`). أما في بيئة الإنتاج السحابية، تُربط الحاوية بنطاق فرعي مثل `project_id.preview.hifumi.dev`. يقوم النظام بعد ذلك بالتحقق من جاهزية التطبيق عبر طلب `curl` موجه إلى نقطة الفحص الافتراضية في ريلز (`/up`). وبمجرد نجاح الفحص، يُنفذ أمر سطر أوامر عبر دوكر لربط التطبيق مع Kamal Proxy: `docker exec kamal-proxy...` ليصبح التطبيق متاحاً للإنترنت الخارجي فوراً. وبفضل إدارة هذه التدفقات بالكامل عبر مهمة خلفية في Solid Queue، يتم بث جاهزية الرابط مباشرة إلى واجهة المستخدم عبر Hotwire لتظهر داخل الـ `iframe` دون الحاجة إلى تحديث الصفحة.
- **منفذ المعاينة المحلي**: `localhost:3000 + project_id` (مثال: `localhost:3010`). - **نطاق الإنتاج الفرعي**: `project_id.preview.hifumi.dev` مسجل وموجه عبر Kamal Proxy. - **فحص الجاهزية**: الاعتماد على مسار Rails المدمج `/up` قبل توجيه الزوار. - **التحديث المباشر**: استخدام Solid Queue لمعالجة الإعداد، وبث كود الـ `iframe` للعميل عبر تقنيات Hotwire.
---
[22:29](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=1349s) بنية الأحداث (Pub/Sub) والتصدير السلس إلى GitHub مع أمثلة للتطبيقات
على الرغم من العمليات الحسابية والمعمارية المعقدة التي يديرها Hifumi، فإن التطبيق بأكمله يعتمد على خمس مهام خلفية فقط (Jobs) داخل Solid Queue. حتى رسائل الدردشة الموجهة للنموذج اللغوي تُحال إلى مهمة خلفية، وتُسلّم كافة الإجراءات والردود عبر Hotwire في الوقت الفعلي. لتحقيق أقصى درجات الفصل بين المكونات، استعان بافاو بنمط الناشر والمشترك (Pub-Sub) المدمج في ريلز عبر `ActiveSupport::Notifications`.
يربط نمط الأحداث بين أجزاء النظام بسلاسة دون وجود اعتماديات مباشرة بين منطق البناء ومنطق المعاينة؛ فعلى سبيل المثال، عند طلب خطة بناء جديدة، يُطلق النظام حدثاً باسم `instruction_requested`. يشترك نظام المعاينة في هذا الحدث، وبمجرد التقاطه، يقوم بجدولة مهمة لإيقاف وإغلاق أي حاوية معاينة تعمل حالياً لهذا المشروع، مما يضمن تحرير الموارد وعدم تضارب الإصدارات القديمة مع عمليات البناء الجارية.
``` [طلب خطة جديدة: instruction_requested] │ ▼ (ActiveSupport::Notifications) [مشترك إدارة المعاينة] │ ▼ [جدولة مهمة Solid Queue لإيقاف حاوية المعاينة السابقة] ```
يؤكد بافاو أن ملكية المشروع تعود بالكامل للمستخدم وليس لـ Hifumi. يتيح النظام تصدير الكود إلى مستودع GitHub خاص بالمستخدم في أي لحظة وبنقرة زر واحدة. تُسجل كل مراجعة تم بناؤها في سجل التغييرات على هيئة إيداعين منفصلين (Two Git Commits)، ويمكن للمستخدم متابعة البناء لاحقاً باستخدام Hifumi ودفع الإيداعات الجديدة إلى المستودع تباعاً.
عند استعراض الكود المصدري المُصدَّر لتطبيق اللياقة البدنية، تظهر وحدات التحكم (Controllers) نظيفة ومنسقة؛ حيث تبدو `WorkoutsController` كوحدة تحكم ريلز قياسية وبسيطة، بينما تحتوي `CalendarsController` على منطق أعمال مجالي أكثر عمقاً. يختتم بافاو هذا الجزء باستعراض تنوع المشاريع التي أُنشئت بنجاح عبر Hifumi بالكامل من خلال Ruby on Rails: - **صفحة هبوط لصالة ألعاب رياضية (Gym Landing Page)**: واجهة تسويقية جذابة خالية من التعقيدات البرمجية. - **بوابة تصميم داخلي (Interior Design Portal)**: تتضمن مساعد تصميم تفاعلي لتحديد الغرف، والأثاث، والميزانية. - **منصة اجتماعية للرحلات الخلوية (Hiking Social Network)**: تتيح استكشاف الرحلات وتنظيم الانضمام إليها. - **شبكة تواصل عائلية**: لمشاركة اللحظات والصور الخاصة بين أفراد العائلة. - **نظام إدارة موارد بشرية (HR App)**: لإدارة إجازات الموظفين، وأوقات العمل، والجداول الزمنية داخل الوكالات. - **مخطط جداول المؤتمرات (Conference Agenda Planner)**: لإضافة المؤتمرات، وجداول المتحدثين، ونشر رابط عام للمشاركين. - **نظام إدارة أساطيل المركبات (Fleet Manager)**: تطبيق B2B متقدم يتيح تتبع استهلاك الوقود، والتقارير، وإدارة السائقين والمركبات.
[27:25](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=1645s) قوة Rails في عصر الوكلاء الذكيين ودعوة لتجربة Hifumi
يختتم المتحدث عرضه بتسليط الضوء على الإمكانات الهائلة الكامنة في إطار عمل Rails، مشيراً إلى أن ما تم بناؤه سواء استُخدم مباشرة كدفعة واحدة أو مع إدخال بعض التعديلات الطفيفة لاحقاً، يجسد القوة الحقيقية التي اكتسبها المجتمع التقني على مدار ما يقارب العشرين عاماً الماضية. هذه القوة تنبع من التقاليد والاتفاقيات الراسخة (Conventions) وعقلية "الاختبار أولاً" (Test-first mindset)، إضافة إلى كافة الأدوات المتكاملة والمتاحة فوراً للاستخدام الجاهز داخل بيئة Rails. الميزة الجوهرية هنا تكمن في أن النماذج اللغوية الكبيرة (LLMs) باتت تفهم هذه الاتفاقيات الصارمة بشكل أفضل وأدق يوماً بعد يوم، مما يجعل التوافق بين الإطار والذكاء الاصطناعي طبيعياً وسلساً.
يوضح المتحدث أنه عند دمج خطة عمل محكمة وتقسيم مدروس للمهام إلى أجزاء ومراحل واضحة، مع إجراء مراجعات دقيقة لكل خطوة، يصبح بالإمكان استغلال هذا النهج التقني بنجاح في العمل البرمجي اليومي، سواء بالاعتماد على أداة Hifumi نفسها أو بتطبيق المنهجية بشكل مستقل داخل أي بيئة تطوير. ويختم حديثه بنبرة حماسية داعياً الحضور والمهتمين إلى زيارة موقع `hifumi.dev`، وتجربة الأداة بأنفسهم، والأهم من ذلك استنساخ المستودع (Fork/Clone) وتشغيله محلياً، والاستمتاع بمواصلة البناء والتطوير باستخدام Ruby on Rails، معبراً عن إيمانه القاطع بقوله: "لأنني أعتقد حقاً أن روبي أون ريلز مهيأة تماماً لعصر الوكلاء الذكيين"، قبل أن يوجه شكره الجزيل للجمهور.
```mermaid flowchart LR accTitle: Rails and AI Agents Synergy accDescr: يوضح المخطط كيف تتكامل اتفاقيات ريلز وثقافة الاختبار مع نماذج الذكاء الاصطناعي لإنتاج تطبيقات متكاملة. subgraph RailsStrengths["ركائز Rails (20 عاماً)"] A["اتفاقيات واضحة وموحدة"] B["عقلية الاختبار أولاً"] end subgraph Execution["منظومة الوكلاء الذكيين"] C["فهم دقيق لدى نماذج LLM"] D["تخطيط وتجزئة مرحلية"] end subgraph Outcome["المخرجات"] E["تطبيقات منتجة عبر Hifumi"] end A --> C B --> C C --> D D --> E ```
- **تاريخ طويل من الاتفاقيات:** الاستفادة من خبرات وتراكمات تقنية دامت قرابة 20 عاماً تقدم حلولاً جاهزة ومجربة داخل إطار العمل دون الحاجة لإعادة اختراع العجلة. - **تناغم النماذج مع الاتفاقيات:** تبرع النماذج اللغوية الكبيرة (LLMs) في كتابة أكواد Rails وتتبع بنيتها بفضل وضوح المعايير وثبات الهيكلية عبر المشاريع. - **عناصر النجاح البرمجي بالأدوات الذكية:** يعتمد التطوير الفعال على خطة جيدة، وتجزئة المهام لمراحل محددة، ومراجعة مستمرة للتنفيذ. - **الدعوة لتجربة Hifumi والمساهمة مفتوحة المصدر:** حث المطورين على الدخول إلى `hifumi.dev`، وتجربة المنصة، وعمل Fork للكود البرمجي للمساهمة في تطويره والبناء بواسطته.
## Notable quotes > [03:16](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=196s) أنا لن أدفع تكاليف الرموز (Tokens) نيابة عنكم. لقد ولى ذلك الزمن — Paweł Strzałkowski
> [05:22](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=322s) هل أنت مستعد للبدء في البناء؟ — Paweł Strzałkowski
> [05:22](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=322s) في البرمجة الوكالية (Agentic Coding)، أي شيء لا تقوله سيُستخدم ضدك بطريقة أو بأخرى — Paweł Strzałkowski
> [05:22](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=322s) ضع الميزة الرئيسية في مسار الجذر (Root Route) — Paweł Strzałkowski
> [12:55](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=775s) لولا RubyLLM لما وُجد هذا المشروع على الإطلاق — Paweł Strzałkowski
> [12:55](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=775s) Do it the Rails way — Paweł Strzałkowski
> [17:30](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=1050s) الجزء الأكثر متعة — Paweł Strzałkowski
> [17:30](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=1050s) قد لا يبدو الأمر فائق التعقيد، لكنه تطبيق Rails تفاعلي متكامل، مكتمل الوظائف وذو مظهر جميل جداً — Paweł Strzałkowski
> [27:25](https://www.youtube.com/watch?v=0_ZLKWlc7FY&t=1645s) لأنني أعتقد حقاً أن روبي أون ريلز مهيأة تماماً لعصر الوكلاء الذكيين — Paweł Strzałkowski
## Mentioned Paweł Strzałkowski, David Heinemeier Hansson, Carmine Paolino, Ruby on Rails, Hifumi, Roast, RubyLLM, Claude Code, Claude, Docker, Kamal Proxy, Solid Queue, Hotwire, ActiveSupport::Notifications, OpenRouter, GitHub, Shopify, Visuality, Century Perspective, Sidekiq, Lovable, v0, Bolt.new
## Video description Most AI app generators turn a prompt into a JavaScript app. Hifumi, an open-source generator, turns it into a working Ruby on Rails app instead. This talk walks through the full flow, from asking follow-up questions and writing a phased implementation plan to building each phase with Roast and Claude Code in throwaway Docker containers. It then covers live previews with Kamal Proxy and exporting the finished app to your own GitHub.
Links: https://hifumi.dev/
#RailsWorld #RubyOnRails #AI #RubyLLM #AgenticCoding #OpenSource Thank you Shopify for sponsoring the editing and post-production of these videos. Check out insights from the Engineering team at: https://shopify.engineering/
[Source](https://www.youtube.com/watch?v=0_ZLKWlc7FY)