أدوات CLI
4 دقيقة للقراءة

GitHub Copilot: الدليل الشامل

GitHub Copilot CLI هو امتداد لأداة GitHub CLI يضيف قدرات الذكاء الاصطناعي مباشرة إلى سطر الأوامر الخاص بك. يساعدك في كتابة أوامر الطرفية، فهم الأوامر المعقدة، وإنشاء نصوص برمجية—all باللغة الطبيعية.

ما هو GitHub Copilot CLI؟

GitHub Copilot CLI هو امتداد رسمي من GitHub يضيف قدرات الذكاء الاصطناعي إلى GitHub CLI (gh). يتيح لك:

  • 💡 اقتراح أوامر الطرفية بناءً على الوصف الطبيعي
  • 📖 شرح الأوامر المعقدة بوضوح
  • إنشاء نصوص برمجية Scripts تلقائياً
  • 🐛 تصحيح أخطاء الطرفية Shell Errors
  • 🚀 تسريع سير العمل للمطورين

المتطلبات الأساسية (Prerequisites)

قبل التثبيت، تأكد من توفر:

  1. حساب GitHub مع اشتراك Copilot_active
  2. GitHub CLI (gh) مثبت
  3. طرفية Terminal (bash, zsh, PowerShell, أو cmd)
  4. صلاحيات التثبيت (sudo أو admin)

التثبيت (Installation)

الخطوة 1: تثبيت GitHub CLI

# على macOS
brew install gh

# على Windows
winget install GitHub.cli

# على Linux
# لـ Ubuntu/Debian
sudo apt update
sudo apt install gh

# لـ Fedora
sudo dnf install gh

الخطوة 2: التحقق من التثبيت

gh --version
# يجب أن يظهر: gh version X.X.X

الخطوة 3: تسجيل الدخول إلى GitHub

gh auth login

سيطلب منك:

  1. اختيار GitHub.com أو GitHub Enterprise Server
  2. اختيار HTTPS أو SSH
  3. تسجيل الدخول عبر المتصفح
  4. إذن الوصول لـ Copilot

الخطوة 4: تثبيت امتداد Copilot CLI

gh extension install github/gh-copilot

الخطوة 5: التحقق من التثبيت

gh copilot --version
# يجب أن يظهر معلومات الإصدار

الأوامر الأساسية (Core Commands)

1. gh copilot suggest - اقتراح الأوامر

اقترح أمراً بناءً على وصفك الطبيعي:

# مثال 1: ضغط الصور
gh copilot suggest "compress all images in current directory"

# النتيجة المقترحة:
# find . -type f \( -name "*.jpg" -o -name "*.png" \) -exec mogrify -quality 85 {} \;

# مثال 2: البحث عن الملفات الكبيرة
gh copilot suggest "find all files larger than 100MB"

# النتيجة المقترحة:
# find . -type f -size +100M -exec ls -lh {} \;

2. gh copilot explain - شرح الأوامر

افهم ما يفعله أمر معين:

# مثال 1: شرح أمر الضغط
gh copilot explain "tar -czf archive.tar.gz folder/"

# النتيجة:
# 🔍 شرح الأمر:
#
# هذا الأمر ينشئ أرشيف مضغوط:
# • tar: أداة الأرشفة (tape archive)
# • -c: إنشاء أرشيف جديد
# • -z: ضغط باستخدام gzip
# • -f: تحديد اسم الملف
#
# النتيجة: ملف archive.tar.gz مضغوط

# مثال 2: شرح أمر Docker
gh copilot explain "docker run -d -p 8080:80 --name web nginx"

# النتيجة:
# 🔍 شرح الأمر:
#
# • docker run: تشغيل حاوية جديدة
# • -d: وضع الخلفية (detached)
# • -p 8080:80: تعيين المنفذ 8080 على المضيف إلى 80 في الحاوية
# • --name web: تسمية الحاوية بـ "web"
# • nginx: الصورة المستخدمة

سيناريوهات الاستخدام (Use Cases)

السيناريو 1: إدارة النظام (System Administration)

# البحث عن الملفات الكبيرة المعدلة مؤخراً
gh copilot suggest "find all files larger than 100MB modified in last week"

# النتيجة المقترحة:
# find . -type f -size +100M -mtime -7 -exec ls -lh {} \;

# شرح النتيجة:
gh copilot explain "find . -type f -size +100M -mtime -7 -exec ls -lh {} \;"

النتيجة:

  • -type f: البحث عن ملفات فقط
  • -size +100M: أكبر من 100 ميجابايت
  • -mtime -7: معدلة في آخر 7 أيام
  • -exec ls -lh: عرض التفاصيل لكل ملف

السيناريو 2: سير عمل Git (Git Workflows)

# التراجع عن آخر 3 عمليات commit مع الحفاظ على التغييرات
gh copilot suggest "undo last 3 commits but keep the changes"

# النتيجة المقترحة:
# git reset --soft HEAD~3

# شرح:
# • --soft: يحتفظ بالتغييرات في staging area
# • HEAD~3: التراجع عن 3 عمليات commit

أمثلة إضافية:

# إنشاء فرع جديد من commit محدد
gh copilot suggest "create new branch from specific commit"

# النتيجة: git checkout -b new-branch <commit-hash>

# دمج فرع مع استراتيجية محددة
gh copilot suggest "merge branch with squash strategy"

# النتيجة: git merge --squash feature-branch

السيناريو 3: مهام DevOps

# نشر حاوية Docker مع متغيرات البيئة
gh copilot suggest "deploy docker container with environment variables from .env file"

# النتيجة المقترحة:
# docker run -d --env-file .env -p 8080:80 myapp:latest

# شرح:
gh copilot explain "docker run -d --env-file .env -p 8080:80 myapp:latest"

النتيجة:

  • -d: تشغيل في الخلفية
  • --env-file .env: تحميل متغيرات البيئة من ملف
  • -p 8080:80: تعيين المنافذ
  • myapp:latest: صورة التطبيق

اختصارات للسرعة (Aliases for Speed)

لجعل الاستخدام أسرع، أضف اختصارات إلى ملف التكوين الخاص بك:

لـ Bash/Zsh

أضف إلى ~/.bashrc أو ~/.zshrc:

# اختصارات لـ Copilot CLI
alias cs='gh copilot suggest'
alias ce='gh copilot explain'

# إعادة تحميل التكوين
source ~/.bashrc  # أو source ~/.zshrc

لـ PowerShell

أضف إلى $PROFILE:

# اختصارات لـ Copilot CLI
function cs { gh copilot suggest $args }
function ce { gh copilot explain $args }

الاستخدام

# الآن يمكنك استخدام الاختصارات
cs "kill process on port 3000"
ce "docker-compose up -d"
cs "list all git branches sorted by date"

نصائح متقدمة (Advanced Tips)

1. اقتراحات متعددة

# الحصول على عدة خيارات
gh copilot suggest "find files by name" --shell bash

# سيقترح عدة أوامر مختلفة لنفس المهمة

2. تخصيص الصدفة (Shell)

# تحديد الصدفة المطلوبة
gh copilot suggest "list processes" --shell zsh
gh copilot suggest "list processes" --shell powershell

3. الحصول على شرح تفصيلي

# شرح مع أمثلة
gh copilot explain "awk '{print $1}' file.txt" --detailed

# شرح مع اقتراحات بديلة
gh copilot explain "grep -r 'pattern' ." --alternatives

4. التكامل مع سير العمل

# الجمع بين suggest و explain
gh copilot suggest "compress folder" | sh
# أو
cs "compress folder" | sh

مقارنة مع الأدوات الأخرى

الميزةCopilot CLIClaude CLIOpenCode
التركيزأوامر الطرفيةكود البرمجةوكيل متعدد الأغراض
سهولة البدء⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
جودة الاقتراحات⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
فهم السياق⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
التكامل مع GitHub⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
السعر💰💰💰💰🆓
المستوى المجاني⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

لماذا Copilot CLI؟

مثالي لمستخدمي GitHub — تكامل سلس مع نظام GitHub البيئي

أوامر طرفية دقيقة — متخصص في shell commands

سهل التعلم — واجهة بسيطة ومباشرة

اقتراحات سريعة — استجابة فورية للأوامر الشائعة


التسعير (Pricing)

المستويات المتاحة

المستوىالسعرالمدةالميزات
تجريبيمجاناً2 شهروصول كامل
Individual$10/شهرغير محدوداقتراحات غير محدودة
Business$19/مستخدم/شهرغير محدود+ سياسات الفريق
Enterpriseمخصصغير محدود+ دعم مخصص

المقارنة مع Copilot الكامل

ميزةCopilot CLICopilot in IDE
السعريشمل في Copilotيشمل في Copilot
الاستخدامطرفية فقطمحرر الكود
الأوامرshell commandscode completion
التكاملGitHub CLIVS Code, JetBrains, إلخ

أفضل الممارسات (Best Practices)

✅ افعل هذا (DO)

  1. استخدم أوصافاً واضحة

    # ✅ وصف جيد
    gh copilot suggest "find all node_modules folders and delete them"
    
    # ❌ وصف ضعيف
    gh copilot suggest "clean up"
    
  2. افهم قبل التنفيذ

    # ✅ افهم أولاً
    gh copilot explain "rm -rf /"
    # سيحذرك من الخطر!
    
    # ❌ تنفيذ أعمى
    rm -rf /
    
  3. استخدم الاختصارات

    # ✅ أسرع
    cs "list docker containers"
    ce "docker ps -a"
    
  4. اختبر في بيئة آمنة

    # ✅ استخدم --dry-run حيث أمكن
    cs "backup database" --dry-run
    

❌ لا تفعل هذا (DON'T)

  1. لا تنفذ أوامر غير مفهومة

    # ❌ تنفيذ مباشر
    cs "dangerous command" | sh
    
    # ✅ افهم أولاً
    ce "dangerous command"
    
  2. لا تعتمد كلياً على الاقتراحات

    # ❌ استخدام أعمى
    cs "optimize database" | sh
    
    # ✅ مراجعة ثم تنفيذ
    cs "optimize database"
    # راجع النتيجة
    # نفذ يدوياً إذا آمنت
    
  3. لا تستخدم للبيانات الحساسة

    # ❌ مشاركة كلمات المرور
    ce "mysql -u root -p password123"
    
    # ✅ استخدام متغيرات
    ce "mysql -u root -p $MYSQL_PASSWORD"
    

أمثلة عملية عملية (Practical Examples)

إدارة الملفات

# البحث عن الملفات المكررة
cs "find duplicate files in directory"

# حذف الملفات المؤقتة القديمة
cs "delete temp files older than 30 days"

# حساب حجم مجلد
cs "calculate folder size recursively"

إدارة العمليات

# قتل عملية على منفذ معين
cs "kill process on port 3000"

# قتل جميع العمليات باسم محدد
cs "kill all node processes"

# عرض استهلاك الموارد
cs "show processes sorted by memory usage"

الشبكات

# اختبار الاتصال
cs "test connectivity to server"

# عرض المنافذ المفتوحة
cs "list all open ports"

# تتبع المسار
cs "trace route to google.com"

استكشاف الأخطاء (Troubleshooting)

المشكلة: "gh: command not found"

# الحل: تأكد من تثبيت GitHub CLI
which gh
# إذا لم يوجد، أعد التثبيت

# أضف إلى PATH
export PATH="$PATH:/usr/local/bin"

المشكلة: "extension not found"

# الحل: أعد تثبيت الامتداد
gh extension remove github/gh-copilot
gh extension install github/gh-copilot

المشكلة: "authentication failed"

# الحل: أعد تسجيل الدخول
gh auth logout
gh auth login

المصادر (Resources)

الوثائق الرسمية

الدليل والمساعدة

# الحصول على مساعدة
gh copilot --help

# مساعدة لأمر محدد
gh copilot suggest --help
gh copilot explain --help

# الإبلاغ عن مشكلة
gh issue create --repo github/gh-copilot-cli

ملخص سريع (Quick Reference)

# أوامر أساسية
gh copilot suggest "وصفك"      # اقتراح أمر
gh copilot explain "أمر"        # شرح أمر

# اختصارات شائعة
cs "وصفك"                       # اقتراح سريع
ce "أمر"                        # شرح سريع

# مع الخيارات
gh copilot suggest "وصف" --shell zsh      # صدفة محددة
gh copilot explain "أمر" --detailed       # شرح مفصل

الخلاصة

GitHub Copilot CLI هو أداة قوية تجلب الذكاء الاصطناعي إلى طرفيتك. مع القدرة على:

  • 💡 اقتراح أوامر الطرفية
  • 📖 شرح الأوامر المعقدة
  • ✨ إنشاء نصوص برمجية
  • 🚀 تسريع سير العمل

تذكر: Copilot CLI هو مساعد، وليس بديلاً عن فهمك للأوامر. دائماً افهم ما تنفذه!


هل أنت مستعد لبدء استخدام Copilot CLI؟

ابدأ بتشغيل: gh extension install github/gh-copilot

وحوّل طرفيتك إلى أداة ذكية! 🚀