● مجتمع
automazeio
⚡ فوري
CCPM (Claude Code Project Mgmt)
بواسطة automazeio · automazeio/ccpm
استخدم GitHub Issues + Git worktrees كطبقة إدارة مشروع لـ Claude Code — كل issue يصبح branch، كل وكيل يعمل معزولاً، لا تلوث متبادل.
CCPM (Claude Code Project Management) يعامل GitHub Issues كوحدة عمل لوكلاء AI البرمجية. كل issue يحصل على Git worktree خاص (branch + checkout معزول)، حتى تتمكن جلسات Claude المتعددة من العمل بالتوازي بدون تدخّل. المهارة توفر أوامر لإنشاء issues من prompts والمطالبة بها وشحنها كـ PRs والتنظيف. مُصمَّم للمطورين المنفردين الذين يشغّلون عدة تبويبات Claude في آنٍ واحد.
لماذا تستخدمه
الميزات الأساسية
- GitHub Issues كطابور عمل
- Git worktrees لكل issue — عمل وكيل متوازٍ حقيقي
- أوامر slash /start و/ship و/abandon
- إنشاء PR تلقائي مرتبط بالـ issue
- تنظيف عند الدمج/التخلي
- يعمل على أي مستودع GitHub مع
gh مثبّتاً
عرض مباشر
كيف يبدو في الممارسة
جاهز
حالات الاستخدام
استخدامات عملية: CCPM (Claude Code Project Mgmt)
متى تستخدمه: لديك 5 issues صغيرة؛ فعلها بالتسلسل بطيء لكن تبديل الـ branches يكسر الحالة.
الخطوات
-
اختيار الـ issues
Use ccpm. List open issues; recommend 3 small ones I can do in parallel today.✓ تم النسخ
→ 3 issues مع تقدير تقريبي، لا عوائق بينها
-
بدؤها
Start issue #42, #43, #45 each in its own worktree. Open 3 Claude Code sessions ready.✓ تم النسخ
→ 3 worktrees منشأة في ../wt-42 وما شابه؛ كل جلسة تعرف أي issue تمتلكه
-
شحنها
(In each session) When done — /ship — push branch and open PR linked to the issue.✓ تم النسخ
→ PR منشأ ومرتبط بالـ issue، CI يبدأ
النتيجة: ثلاثة issues مُغلَقة بنهاية اليوم بدون ألم تبديل الـ branches.
المزالق
- الـ issues تلمس ملفات متداخلة → تعارضات دمج — المهارة تُحذّر عند تداخل ملفات الـ issues المختارة؛ اختر غير المتداخلة للتوازي
متى تستخدمه: تستمر في كتابة 'أوه وأيضاً يجب أن...' في المحادثة. التقطها كـ issues مناسبة.
الخطوات
-
الالتقاط
Use ccpm. I want to add JSON export to the dashboard. Create an issue with rationale, acceptance criteria, and a rough plan.✓ تم النسخ
→ issue منسّق بشكل جيد منشأ على GitHub
-
الربط
Link to related issues if any.✓ تم النسخ
→ الارتباطات مضافة
النتيجة: الأفكار تصبح issues يمكنك فرزها لاحقاً.
المزالق
- الـ issues تصبح طويلة جداً — المهارة تفرض حداً أقصى 200 كلمة لنص الـ issue
متى تستخدمه: بعد 30 دقيقة على issue تدرك أن النهج خاطئ؛ تريد الانسحاب بنظافة.
الخطوات
-
التخلي
/abandon. Remove the worktree, delete the branch, close the issue with a comment explaining why.✓ تم النسخ
→ worktree محذوف، branch محذوف، issue مُغلَق مع شرح
النتيجة: لا branches يتيمة تطارد المستودع.
المزالق
- أردت في الواقع الاحتفاظ ببعض العمل — المهارة تحفظ patch تحت /tmp/ccpm-stashes قبل الحذف — قابل للاسترداد لـ ~7 أيام
التركيبات
اجمعها مع خوادم MCP أخرى لتحقيق نتائج x10
التأكد من أن CCPM وGitHub MCP متوافقان على حالة الـ issue
Sync issue state after every /ship to ensure project boards reflect.✓ تم النسخ
نقل السياق عبر worktrees
When starting an issue, recall any memorix entries tagged with this issue's component.✓ تم النسخ
التكلفة والحدود
تكلفة التشغيل
- حصة API
- مرتبط بحدود GitHub API (5000/ساعة مع مصادقة)
- الرموز لكل استدعاء
- خفيف — معظم العمليات git + gh CLI
- التكلفة المالية
- مجاني
- نصيحة
- لا تُفرط في إنشاء الـ issues — المهارة تشجع على التقاط الأفكار لكن ليس كل فكرة صغيرة
الأمان
الصلاحيات والأسرار ونطاق الأثر
الحد الأدنى من الصلاحيات: repo (for issue + PR write)
تخزين بيانات الاعتماد: عبر gh auth
نقل البيانات الخارجي: GitHub API
لا تمنح أبدًا: admin:org
- /abandon يحذف branches — علامة تأكيد مطلوبة للمستودعات المشتركة
استكشاف الأخطاء
الأخطاء الشائعة وحلولها
git worktree add يفشل: مستخدم بالفعل
worktree سابق لا يزال موجوداً؛ نظّف بـ git worktree prune
تحقق: `git worktree list`
gh PR create يُخطئ بـ 'no commits between'
أنشئ التزاماً واحداً على الأقل على branch الـ worktree قبل /ship
جلستان تدّعيان نفس الـ issue
المهارة تكتب lockfile لكل issue — البدء الثاني يفشل برسالة واضحة
البدائل
CCPM (Claude Code Project Mgmt) مقابل البدائل
| البديل | متى تستخدمها | المقايضة |
| Linear MCP | أنت على Linear لا GitHub Issues | CCPM لـ GitHub فقط؛ Linear MCP له نظام بيئي خاص |
| `git worktree` عادي + قائمة تحقق | تشغّل وكيلاً واحداً فقط في آنٍ واحد | يدوي؛ CCPM يُؤتمت دورة الحياة |