● مجتمع
ombulabs
⚡ فوري
claude-code_rails-upgrade-skill
بواسطة ombulabs · ombulabs/claude-code_rails-upgrade-skill
مهارة Claude Code تقوم بترقية Rails بشكل منهجي — من التدقيق إلى إصلاح التحذيرات المتقادمة وتحديث حزم البرامج — دون تعطيل أي شيء.
مهارة ترقية Rails (بواسطة OmbuLabs) توجه Claude عبر خطة الترقية القياسية لـ Rails: تدقيق الكود، إصلاح التحذيرات المتقادمة، تطبيق القيم الافتراضية للإطار، التعامل مع عدم توافق حزم البرامج، والتحقق من الإصدار الجديد. بناءً على خبرة OmbuLabs في الإنتاج عند ترقية تطبيقات Rails. مناسبة للانتقال من N إلى N+1، أو اللحاق بالإصدارات الأقدم.
لماذا تستخدمه
الميزات الأساسية
- كتب التشغيل التي تدرك الإصدار (Rails 6 → 7, 7 → 7.1, 7.1 → 7.2, 7.2 → 8)
- مراجعة تحذيرات التقادم + اقتراحات الإصلاح
- هجرة القيم الافتراضية للإطار (rails app:update)
- فحوصات التوافق الخاصة بـ Gem مقابل إصدار Rails المستهدف
- التنظيف الشامل (إزالة Spring في إصدارات Rails الأحدث)
- ترقية تركز على الاختبارات: إصلاح الاختبارات قبل التبديل
عرض مباشر
كيف يبدو في الممارسة
claude-code-rails-upgrade-skill.replay
▶ جاهز
حالات الاستخدام
استخدامات عملية: claude-code_rails-upgrade-skill
متى تستخدمه: أنت على Rails 6.1 وتحتاج إلى الوصول إلى 7.2. تريد خطة، وليس دعاءً.
الخطوات
-
تدقيق الحالة الحالية
دقق هذا تطبيق Rails: الإصدار الحالي، إصدار Ruby، حزم البرامج، تحذيرات التقادم من تشغيل اختبار.✓ تم النسخ
→ تقرير خط الأساس
-
بناء المسار
خطط للترقية إلى Rails 7.2. انتقل من إصدار إلى آخر (6.1 → 7.0 → 7.1 → 7.2)، كل منها بمعايير محطات رئيسية.✓ تم النسخ
→ خطة متعددة المراحل
-
تحديد العوائق
أي حزم برامج لا تتمتع بإصدار متوافق مع 7.2؟ مقترحات لكل منها (ترقية/استبدال/نسخة محلية).✓ تم النسخ
→ قائمة العوائق لكل حزمة برامج
النتيجة: خطة ترقية واقعية مع محطات رئيسية موزعة على مراحل.
المزالق
- القفز إلى نسختين رئيسيتين في نفس الوقت — تطبق المهارة نسخة واحدة صغيرة/رئيسية في كل مرة — لا تتجاوزها
متى تستخدمه: أنت بين الإصدارات واختبار التشغيل مليء بتحذيرات التقادم.
الخطوات
-
جمع
قم بتشغيل الاختبارات، واجمع جميع تحذيرات التقادم الفريدة.✓ تم النسخ
→ قائمة خالية من التكرارات مع حالات file:line
-
التجميع + الإصلاح
جمّع حسب السبب. اقترح إصلاحات قليلة مع الاختلافات لكل مجموعة.✓ تم النسخ
→ الاختلافات في الإصلاح المجمع
النتيجة: تشغيل اختبار نظيف جاهز لارتفاع الإصدار التالي.
متى تستخدمه: لقد قمت بترقية Gemfile وقمت بتشغيل rails app:update؛ الآن لديك مجموعة من المهيئات الجديدة.
الخطوات
-
مراجعة الفرق
راجع الفرق من rails app:update. ضع علماً على أي تغيير افتراضي قد يعطل تطبيقنا (strict_loading, zeitwerk mode, إلخ).✓ تم النسخ
→ شرح المخاطر لكل تغيير
-
التفعيل على مراحل
لكل قيمة افتراضية محفوفة بالمخاطر، أنتج نشراً على مراحل: فعّل خلف علامة env، تحقق من staging، ثم قلب.✓ تم النسخ
→ خطة موزعة على مراحل لكل قيمة افتراضية
النتيجة: القيم الافتراضية مفعلة دون انحدارات غير متوقعة.
المزالق
- تفعيل جميع load_defaults في نفس الوقت — استخدم new_framework_defaults_X.Y.rb للترقية تدريجياً
التركيبات
اجمعها مع خوادم MCP أخرى لتحقيق نتائج x10
مراجعة أمان الكود المرقى
بعد ترقية Rails 7.2، قم بتشغيل مراجعة OWASP على معالجة المصادقة والمعاملات.✓ تم النسخ
التكلفة والحدود
تكلفة التشغيل
- حصة API
- بلا حد
- الرموز لكل استدعاء
- 20-80k عبر الترقية
- التكلفة المالية
- مجاني
- نصيحة
- قم بتشغيل مراجعات التقادم على مجلدات محددة بدلاً من التطبيق بأكمله في نفس الوقت.
الأمان
الصلاحيات والأسرار ونطاق الأثر
تخزين بيانات الاعتماد: بلا بيانات اعتماد
نقل البيانات الخارجي: يتم إرسال الكود إلى Claude للاستدلال
- قم دائماً بالترقية في فرع منفصل. لا تسمح لـ Claude بتشغيل أوامر تدميرية (db:migrate, bundle update) دون تأكيد صريح.
استكشاف الأخطاء
الأخطاء الشائعة وحلولها
rails app:update ينتج ملفات ثنائية غير محفوظة
هذه عادة ما تكون ملفات النظام. تجاهلها في Git وأعد إنشاؤها بنظافة.
الاختبارات تمر محلياً، تفشل في CI بعد الترقية
ربما اختلافات في التحميل التلقائي أو eager_load في وضع الإنتاج. قم بالتشغيل مع RAILS_ENV=production محلياً.
فشل حل مجموعة Gem
ستقترح المهارة إصدارات بديلة من Gem؛ في بعض الأحيان قد تكون نسخة محلية أو استبدال مطلوباً.
تحقق: bundle update --conservative
البدائل
claude-code_rails-upgrade-skill مقابل البدائل
| البديل | متى تستخدمها | المقايضة |
| next_rails gem | تريد مساعد ترقية حتمياً | بلا إصلاحات تقادم موجهة بواسطة LLM |