● مجتمع
maxritter
⚡ فوري
pilot-shell
بواسطة maxritter · maxritter/pilot-shell
Claude Code المدفوع بالمواصفات مع بوابات جودة مدمجة — كل تغيير يمر بـ plan → spec → implement → verify قبل أن يُنشر.
يُغلّف pilot-shell Claude Code في حلقة مدفوعة بالمواصفات: الميزات تبدأ كخطط، وتصبح مواصفات، وتُنفَّذ ضد معايير القبول، وتُشحن فقط بعد اجتياز البوابات (lint, type, test, doc). كما يحفظ معرفة المشروع — المحظورات والقرارات والتنبيهات — حتى تستمر الجودة عبر الجلسات.
لماذا تستخدمه
الميزات الأساسية
- حلقة plan → spec → implement → verify كالتدفق الافتراضي
- بوابات جودة: lint, type, test, وجود doc، كلها مُفرَّضة
- ملف معرفة المشروع يُحافظ عليه تلقائياً
- معايير القبول أولاً؛ الاختبارات تُكتب قبل الكود
- يتكامل مع سير عمل Claude Code دون فرض أداة جديدة
عرض مباشر
كيف يبدو في الممارسة
جاهز
حالات الاستخدام
استخدامات عملية: pilot-shell
متى تستخدمه: طلب ميزة غامض من PM؛ تريده مشحوناً بشكل صحيح، لا بسرعة.
الخطوات
-
التخطيط
Use pilot-shell. Plan the feature 'export usage CSV per workspace per month'. List unknowns + risks.✓ تم النسخ
→ خطة مع مجهولات صريحة؛ تملأ الثغرات قبل الخطوة التالية
-
المواصفة
From the plan, write a spec with acceptance criteria + non-goals + edge cases.✓ تم النسخ
→ المواصفة محفوظة في /specs/<feature>.md
-
التنفيذ
Implement against the spec. Tests first, then code. Stop at any unmet criterion.✓ تم النسخ
→ اختبارات + تنفيذ؛ الاختبارات الفاشلة مرئية حتى يجتازها التنفيذ
-
التحقق من البوابات
Run all gates: lint, type, tests, docs. Block PR if any red.✓ تم النسخ
→ تقرير البوابة؛ أخضر فقط = مرشح للدمج
النتيجة: ميزات تُشحن مكتملة المواصفات، مع اختبارات ووثائق.
المزالق
- مرحلة المواصفة تطول في ماراثون تخطيط — حدّد وقت مرحلة المواصفة بـ 30 دقيقة؛ اشحن أصغر مواصفة تُثبّت القبول
متى تستخدمه: فتحت 3 PRs هذا الأسبوع؛ كلها فشلت في CI على أساسيات.
الخطوات
-
توصيل البوابات
Use pilot-shell. Configure quality gates to mirror our CI: eslint, tsc, vitest, prettier.✓ تم النسخ
→ .pilot.config.json مع البوابات مدرجة
-
الحجب على الأحمر
Set policy: don't open PR until all gates green locally.✓ تم النسخ
→ السياسة مُطبَّق
-
القياس
After 2 weeks, compare CI first-run pass rate before/after.✓ تم النسخ
→ معدل النجاح يرتفع
النتيجة: PRs تجتاز CI في أول محاولة؛ أقل تخبطاً للمراجعين.
المزالق
- البوابات المحلية تختلف عن CI بدقة (إصدار Node) — ثبّت إصدار Node المحلي بـ .nvmrc؛ طابق أوامر CI بدقة
متى تستخدمه: تُسلّم / تشارك المشروع؛ تريد تسجيل القرارات والمحظورات.
الخطوات
-
تهيئة ملف المعرفة
Use pilot-shell. Initialize project knowledge with: architecture, key invariants, decisions log.✓ تم النسخ
→ /.pilot/knowledge.md أُنشئ بأقسام
-
التسجيل أثناء السير
Whenever a decision is made (chose Postgres over MySQL), record with date + reason.✓ تم النسخ
→ القرارات تتراكم؛ المتعاونون الجدد يمكنهم قراءة التاريخ
-
الاستخدام في التأهيل
When a new collaborator starts, point Claude Code to this file as primary context.✓ تم النسخ
→ تأهيل أسرع؛ أقل 'لماذا هو هكذا'
النتيجة: المعرفة تنجو من تغييرات الفريق.
المزالق
- ملف المعرفة يصبح يومياً للتفاصيل — أبقِه موجزاً: المحظورات، القرارات، التنبيهات. لا سجل يومي
التركيبات
اجمعها مع خوادم MCP أخرى لتحقيق نتائج x10
قالب PR يُملأ تلقائياً من المواصفة؛ CI يتحقق من البوابات
When opening a PR, populate the body from the spec markdown; CI checks gates match.✓ تم النسخ
المواصفات والمعرفة مُلتزمة في المستودع
Persist /specs/ and /.pilot/knowledge.md in repo for review history.✓ تم النسخ
التكلفة والحدود
تكلفة التشغيل
- حصة API
- لا شيء — محلي
- الرموز لكل استدعاء
- مستندات المواصفة ~500-2000 رمز؛ ملف المعرفة يُحدَّد بـ ~3000 ليبقى قابلاً للإدارة
- التكلفة المالية
- مجاني
- نصيحة
- حدّد knowledge.md بـ ~3000 رمز؛ دمج الإدخالات القديمة دورياً
الأمان
الصلاحيات والأسرار ونطاق الأثر
الحد الأدنى من الصلاحيات: filesystem-write
تخزين بيانات الاعتماد: لا شيء
نقل البيانات الخارجي: لا شيء
- المواصفات قد تصف تفاصيل منتج حساسة — أضف /specs/ إلى gitignore إذا كانت خاصة
استكشاف الأخطاء
الأخطاء الشائعة وحلولها
البوابات تجتاز محلياً لكن تفشل في CI
ثبّت إصدار Node والتبعيات الخاصة بنظام التشغيل؛ طابق أمر CI بدقة
تحقق: قارن مخرجات الأمر المحلي مع CI
خطوة التنفيذ تتخطى الاختبار-أولاً
اضبط السياسة strict_tdd=true في .pilot.config؛ الأداة ستُرفض كتابة التنفيذ قبل الاختبارات
مرحلة المواصفة تطول
استخدم --time-box 30m؛ أجبر القرارات على المجهولات بدلاً من المواصفات المثالية
ملف المعرفة طويل جداً
شغّل knowledge_consolidate؛ يؤرشف الإدخالات القديمة في /.pilot/archive/
البدائل
pilot-shell مقابل البدائل
| البديل | متى تستخدمها | المقايضة |
| spec-workflow-mcp | تريد هذا كخادم MCP بوصول متعدد الأدوات (لا مهارة Claude Code) | إعداد أكثر؛ نشر أكثر مرونة |
| Plain CLAUDE.md + manual TDD | مشروع منفرد، لا تحتاج أتمتة | يعتمد على الانضباط؛ حواجز حماية أقل |