أغلب من يستخدم وكيل برمجة يبدأ بجملة وصفية قصيرة وينتظر الكود مباشرة. Spec Kit من GitHub يعالج نمطًا مختلفًا يسمّيه «التطوير المُوجَّه بالمواصفة» (Spec-Driven Development): المواصفة نفسها تصبح قابلة للتنفيذ، فتولّد التطبيق الفعلي بدل أن تكون مجرد وثيقة إرشادية تُهمَل بعد بدء الكتابة.
خمس خطوات من الفكرة إلى الكود
| الأمر | الوظيفة |
|---|---|
| /speckit.constitution | تحديد المبادئ الحاكمة للمشروع: جودة الكود، معايير الاختبار، اتساق تجربة المستخدم |
| /speckit.specify | وصف ماذا تريد بناءه ولماذا، دون الدخول في اختيار التقنيات |
| /speckit.plan | تحويل الوصف إلى خطة تنفيذ تقنية بناءً على حزمة التقنيات المختارة |
| /speckit.tasks | تفكيك الخطة إلى قائمة مهام قابلة للتنفيذ |
| /speckit.implement | تنفيذ جميع المهام وبناء الميزة وفق الخطة |
أوامر إضافية للجودة
ثلاثة أوامر اختيارية تسد فجوات شائعة: `/speckit.clarify` يوضّح المناطق الناقصة التحديد قبل التخطيط، و`/speckit.analyze` يفحص الاتساق بين المواصفة والخطة والمهام بعد إنشائها وقبل التنفيذ، و`/speckit.checklist` يولّد قوائم تحقق مخصصة تُوصف بأنها «اختبارات وحدة للغة الإنجليزية»، تتحقق من اكتمال المتطلبات ووضوحها لا من الكود نفسه.
يعمل مع أكثر من 30 وكيلًا
الأداة لا ترتبط بوكيل واحد. تدعم أكثر من 30 وكيل برمجة، أدوات سطر أوامر ومساعدات داخل بيئات التطوير على حد سواء. أغلب الوكلاء يعرضون أوامر Spec Kit كأوامر شرطة مائلة (`/speckit.*`)، بينما Codex CLI في وضع المهارات يستخدم بادئة مختلفة، وGitHub Copilot CLI يستخدم أمر `/agents` لاختيار الوكيل المناسب.
التوسعة عبر ثلاث طبقات
يمكن تخصيص Spec Kit عبر نظامين متكاملين وتجاوزات محلية للمشروع، تُحل وقت التشغيل من الأعلى للأسفل بحسب الأولوية:
- الإضافات (Extensions): تضيف أوامر وقدرات جديدة غير موجودة أصلًا، مثل التكامل مع Jira أو مراجعة الكود بعد التنفيذ.
- الأنماط الجاهزة (Presets): تغيّر كيفية عمل الأوامر الموجودة دون إضافة جديدة، مثل فرض تنسيق امتثال تنظيمي أو تبني منهجية معينة (Agile، Waterfall).
- تجاوزات محلية للمشروع: تعديلات لمرة واحدة على مشروع محدد دون بناء نمط جاهز كامل.
الحزم لتوفير إعداد فريق كامل بأمر واحد
الحزمة (Bundle) تجمع مجموعة مختارة من الإضافات والأنماط والخطوات في إعداد واحد مُصدَر بالإصدار وموجَّه لدور معين، مثل مدير منتج أو محلل أعمال أو باحث أمني أو مطوّر. توصف كل حزمة بملف بيان مكتوب يدويًا يثبّت كل مكوّن على إصدار محدد، ويمكن أن تكون مرتبطة بوكيل معين أو محايدة ترث تكامل المشروع الحالي.
ضمانات تشغيلية موثّقة
أمر `bundle info` يعرض بالضبط ما سيضيفه أمر `bundle install` قبل التنفيذ، وعمليات التثبيت غير قابلة للتكرار الضار (idempotent) ومحصورة داخل جذر المشروع، وأمر الإزالة لا يمس أبدًا مكوّنًا تعتمد عليه حزمة أخرى مثبَّتة. وكل أوامر الاستهلاك والتأليف تعمل بلا اتصال إنترنت على مصادر محلية أو مثبَّتة الإصدار.
ثلاث مراحل تطوير مختلفة
يستهدف المشروع ثلاث حالات استخدام: البناء من الصفر (توليد تطبيق كامل من متطلبات عالية المستوى)، الاستكشاف الإبداعي (تجربة عدة تطبيقات موازية بحزم تقنية مختلفة)، والتحسين التكراري لأنظمة قديمة (تحديث تدريجي مع فصل تحديثات أداة Spec Kit نفسها عن تطور مواصفات المشروع).
المتطلبات الأساسية
يعمل على لينكس وmacOS وويندوز، ويحتاج أداة uv لإدارة الحزم (أو pipx كبديل)، وPython 3.11 فأعلى، وGit، إضافة إلى أي وكيل برمجة مدعوم من القائمة الطويلة.
متى يستحق العبء
الفائدة العملية الحقيقية تظهر في المشاريع متوسطة إلى كبيرة الحجم، حيث يكلّف الغموض في المتطلبات وقتًا أكبر بكثير من وقت كتابة مواصفة واضحة أولًا. لمهمة برمجية صغيرة ومحددة النطاق، الإجراء الكامل بخطواته الخمس قد يكون عبئًا زائدًا لا يستحق الوقت المستثمر فيه.