GitHub Copilot CLI — الـAI Agent اللي بيشتغل في الترمنال 🤖
"التيرمنال اللي قدامك — ده مش مكان بتكتب فيه أوامر بس، ده المكان اللي AI بيبني فيه كود حقيقي ويعمل PRs ويفتح issues ويرجعلك يقولك خلصت."
Section1. الحكاية مش بتاعة autocomplete
تخيّل معايا المشهد ده: الساعة 3 الفجر، عندك bug في الـauthentication module، والـCI أحمر، والـPR مستني review. تفتح الـIDE، الـCopilot هناك بيقترحلك سطر — بس إنت محتاج أكتر من سطر. محتاج حد يقرأ الـissue، يفهم السياق، يعدّل الكود، يشغل الـtests، يفتح الـPR. مش autocomplete — محتاج agent.
وهنا بالظبط GitHub Copilot CLI بيدخل. ده مش الـIDE plugin اللي بيكمل جمل. ده agent حقيقي بيعيش في الترمنال — يقرأ ملفات كاملة، يشغل shell commands، يتعامل مع الـGitHub issues وPRs، يبني plans وينفذها خطوة بخطوة، وحتى يشتغل autopilot من غير ما تتدخل.
تقوللي: "طيب إيه الفارق؟ أنا أقدر أعمل كل ده بنفسي في الترمنال." أقولك: الفارق إن الـagent ده بيفهم السياق — يعرف الـrepo، يشوف الـissues، يقرأ الـcodebase، وبعدين بيتصرف مش بس بيكمل. تقوللي بس ده hype وتسويق؟ قولك لأ — استنى لما نشوف إيه جوه بالظبط.
سريعاً كوباية القهوة بتاعتك وركز معايا، لأن الموضوع ده فيه أكتر مما ببان على السطح.
Section2. إيه هو بالظبط — وإيه الفارق عن اللي قبله
بالبلدي كده: GitHub Copilot CLI هو نفس الـagentic harness اللي بيشتغل على الـcloud (الـCopilot coding agent اللي بيفتح PRs على GitHub.com)، بس ده بيشتغل محلي في الترمنال بتاعك.
الأساسيات السريعة
- الـdefault model: Claude Sonnet 4.5 — وبيدلك access لـ GPT-5 family, Claude Opus 4.7/4.8, Fable 5, وغيرهم
- GitHub MCP Server مبني جوه: من أول يوم تقدر تتعامل مع issues, PRs, repos, workflows — من غير أي setup
- Custom Agents: تعرف agents مخصصة في
.github/agents/*.md— كل agent ليه model وأدواته - Skills system: أوامر مخصصة بنكتبها مرة ونستخدمها كل وقت
- Hooks system: 9 أنواع hooks تتحكم في سلوك الـagent
- Permission triad: Allow / Ask / Deny — تحكم كامل في إيه اللي الـagent يقدر يعمله
تخيّل معايا إنك جالس في الترمنال بتاعك. بتكتب:
copilot
وتبدأ تكتب: "Fix the login bug and create a PR." الـagent بيفهم السياق، يقرأ الكود، يعدّل الملفات، يشغل الـtests، يفتح الـPR — ويرجعلك يقولك "خلصت". ده مش تخيّل — ده حقيقي.

التركيب
# macOS / Linux
curl-fsSLhttps://gh.io/copilot-install|bash
# أو Homebrew
brewinstallcopilot-cli
# Windows
wingetinstallGitHub.Copilot
# npm
npminstall-g@github/copilot
أول مرة تشغله هيطلب منك تعمل /login وتوثق حسابك على GitHub. بعد كده — أنت جاهز.
Section3. الـ3 Modes — من Ask لحد Autopilot
هنا انت هتقول لي: "طيب أنا مش عايز الـagent يعدّل حاجة من غير ما أشوف." وعندك حق 100%. عشان كده فيه 3 أوضاع:
| الوضع | ازاي تدخله | بيعمل إيه | إمتى تستخدمه |
|---|---|---|---|
| Interactive (default) | copilot | بيقترح وينفذ مع سؤال قبل كل أداة | لما تبغي تتحكم في كل خطوة |
| Plan | Shift+Tab أو --mode plan | بيعمل خطة تنفيذ من غير ما يكتب كود | لما تبغي تفهم الـscope الأول |
| Autopilot | Shift+Tab مرتين أو --autopilot | بيكمل لحد ما المهمة تخلص | لما تثق في المطلوب وتبغي يكمل لوحده |
Plan Mode — لما عايز تفهم الأول
في Plan Mode، Copilot مش بيعدل أي حاجة. بيعمل تحليل، يسأل أسئلة توضيحية، يبني خطة منظمة — وبعدين يستنى موافقتك. ده ممتاز للمهام المعقدة لما عايز تفهم الـscope قبل ما أي كود يتكتب.
Autopilot Mode — لما تثق وتسيب
copilot--autopilot
/autopilotFixallfailingtests
/goalRefactortheauthenticationmodule
تقوللي "ده خطر!" — قولك آه، لو مش متأكد متستخدمش. بس فيه ضمانات: بحد أقصى 5 continuation messages (قابل للتعديل)، والأذونات اللي بتوافق عليها بتفضل محفوظة. وبعدين /rewind موجود عشان ترجع أي وقت.
Section4. الـSlash Commands — أكتر من 60 أمر تحت إيدك
هنا يا هندسة الخلاصة إن الـCLI مش بس محادثة — ده control panel كامل. فوق 60 slash command تغطي كل حاجة محتاجها. مش هذكرهم كلهم هنا (ده دور الـcheatsheet)، بس خليني أديك النكهة:
أوامر الجلسة — اللي بتحتاجها كل يوم
كل حاجة تبدأ بـ /. تعال نشوف الأهم:
/loginو/logout— التوثيق والخروج/model— يبدل الـAI model (Claude, GPT-5, Opus...)/clearأو/new— تبدأ محادثة جديدة نضيفة/resume— تكمل session سابقة/fork— تعمل نسخة مستقلة من الـsession عشان تجرب من غير ما تضيع الأصل/compact— تضغط الـcontext لما يقرب يمتلي
أوامر التنفيذ — اللي بتبني بجد
/agent— يختار أو يعمل custom agent (ده موضوع لوحده، هنتكلم عنه)/delegate— يفوض مهمة للـcloud coding agent في الخلفية — يعمل branch ويفتح PR ويكمل/autopilot— يبدل autopilot mode/rubber-duck— يطلب نقد مستقل من agent تاني. أيوة، AI بيراجع AI.
أوامر الملفات والمراجعة
/diff— يعرض التعديلات بـvim-style navigation (j/k, w/W, g/G)/review— مراجعة أمنية للتغييرات/rewind— يرجع لـcheckpoint سابق — ده الـundo بتاعك
أوامر السياق والإعداد
/context— يعرض token usage والـcontext المحمل — عشان تعرف إيه في الـcontext وإيه اللي ممكن يشيله/env— يعرض البيئة المحملة (instructions, MCP, skills, hooks)/memory on/off/show— يدير الذاكرة المستمرة عبر الجلسات/init— يعمل copilot instructions للمشروع
أوامر الـMCP والـExtensions
/mcpو/mcp search— يدير ويبحث عن MCP servers/plugin— يثبت ويشيل plugins من المجتمع
أوامر الجدولة — اللي معظم الناس مش عارفاها
وده سر من أسرار Copilot CLI:
/every1hRunfrontendtestsandreportanyfailures
/after30mCheckifthebuildpassed
تقوللي ده بسيط؟ قولك لأ — ده معناه إنك تقدر تعمل monitoring تلقائي من غير ما تخرج من الترمنال. الـCLI نفسه بيشغل الأوامر دورياً ويرجعلك النتائج.
Shell مباشرة
ابدأ أي أمر بـ ! عشان تشغله مباشرة:
!git status
!npm test
بيستخدم $SHELL بتاعتك وبيحترم الـaliases والـrc files. مش محتاج تخرج من الـCLI عشان تشغل حاجة.
Section5. نظام الـAgents — مش agent واحد بس
تقوللي: "طيب agent واحد يكفي؟" قولك لأ. هنا التفصيلة اللي بتفرّق.
الـPrimary Agent
ده اللي بيتكلم معاك مباشرة — Claude Sonnet 4.5 by default. بيشتغل في الـmain channel وبينفذ المهام.
الـSubagents
لما المهمة تحتاج عمق أكتر، الـPrimary بيستدعي subagents:
- General-purpose subagent — بيستخدم GPT-5.4 أو 5.5، مخصص للمهام اللي محتاجة نموذج مختلف
- Rubber Duck agent — agent مستقل (مدعوم بـClaude) بيراجع شغل الـprimary ويرجع نقد بنّاء. أيوة، الـAI بيراجع الـAI. تفعّله بـ
/rubber-duck - Code Review agent — بيراجع التعديلات الأمنية
Custom Agents — وهنا السحر
تقدر تعرف agents مخصصة في .github/agents/*.md:
---
name: Security Auditor
description: Reviews code for security vulnerabilities
model: claude-opus-4.7
tools: [view, grep, glob]
skills: [security-review]
deferred-tool-loading: true
---
You are a security auditor. Review all code changes for...
الأماكن الممكنة:
.github/agents/*.md— project-level~/.copilot/agents/*.md— personal- Organization's
.githubrepo — organization-level
وكل agent يقدر يحدد model خاص بيه، وskills بتحمّل مباشرة، وtools محددة. يعني تقدر تعمل agent مخصص لـsecurity بيعمل Opus 4.7 وشايل skills بتاعة security review — ده مش حاجة تقدر تعملها في Claude Code.
والنقطة المهمة: الـSubagents ما بيقدروش يتكلموا في الـmain channel. الـPrimary Agent بس اللي يقدر يوصللك النتائج المجمّعة. ده by design — عشان ما يحصلش هرجلة.

Section6. نظام الـSkills — أوامر مخصصة بنكتبها مرة
تقوللي: "أنا مش محتاج skill، أنا بكتب الـprompt كل مرة." قولك: ده بالظبط اللي بيضيع وقتك. الـSkills هي عبارة عن تعليمات قابلة لإعادة الاستخدام بتتحمل في context الـagent لما تحتاجها.
كل skill فيه SKILL.md بـYAML frontmatter:
---
name: deploy-to-staging
description: Deploy the current branch to staging environment
trigger: /deploy-staging
---
You are a deployment specialist. When the user asks to deploy to staging:
1. Run the test suite first
2. Build the project
3. Deploy using the staging script
4. Report the deployment URL
وبعدين تكتب /deploy-staging في الـsession والـagent بيتبع التعليمات دي بالظبط. مش محتاج تعيد كتابة الـprompt كل مرة.
الأماكن:
| المكان | الأولوية |
|---|---|
.github/skills/ | عالية (project-level) |
.agents/skills/ | عالية (project-level) |
--plugin-dir skills | أعلى (plugin-specific) |
~/.copilot/skills/ | متوسطة (personal) |
Section7. الـMCP — الاتصال بأي خدمة من غير setup

Model Context Protocol (MCP) هو البروتوكول اللي بيخلي Copilot CLI يتكلم مع خدمات خارجية. والجميل إن GitHub MCP Server مبني جوه — مش محتاج تعمل أي حاجة.
الـBuilt-in GitHub MCP Server
بيوفر أدوات جاهزة لـ: قراءة ملفات وبحث في الكود (get_file_contents, search_code)، إدارة الـissues (get_issue, list_issues, search_issues)، إدارة الـPRs (pull_request_read, list_pull_requests)، مراقبة الـCI/CD (list_workflows, list_workflow_runs)، وأكتر. استخدم --enable-all-github-mcp-tools عشان تفعل كل الأدوات بما فيها الـread-write.
Custom MCP Servers
تضيف أي خدمة:
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {"SLACK_BOT_TOKEN": "${SLACK_BOT_TOKEN}"}
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"]
}
}
}
وتحط ده في ~/.copilot/mcp-config.json (user-level) أو .mcp.json (project-level) أو .github/mcp.json (shared project-level).
أماكن الـconfig:
~/.copilot/mcp-config.json— user-level.mcp.json— project-level (Claude-compatible format كمان).github/mcp.json— shared project-level--additional-mcp-config— flag للإضافة
وبعدين تشغل /mcp search عشان تكتشف وتثبت MCP servers من registry — ده experimental بس شغال.
Section8. الـHooks — التحكم في سلوك الـAgent من الداخل
الـHooks هي النقاط اللي تقدر تتدخل فيها في سلوك الـagent. 9 أنواع:
| الـHook | إمتى بيشتغل | إيه بتستخدمه فيه |
|---|---|---|
preToolUse | قبل ما أداة تنفذ | تمنع تنفيذ، تعدّل parameters، تضيف context |
postToolUse | بعد ما أداة تخلص | تضيف context للنتيجة |
sessionStart | لما الـsession تبدأ | setup، فحص البيئة |
sessionEnd | لما الـsession تخلص | cleanup، reporting |
subagentStart | قبل ما subagent يشتغل | تتحكم في سلوك الـsubagent |
subagentStop | لما subagent يخلص | تعالج نتائج الـsubagent |
permissionRequest | لما تطلب إذن | auto-approve patterns |
agentStop | لما agent يوقف (task_complete) | إجراءات أخيرة |
preMcpToolCall | قبل MCP call | تتحكم في metadata |
مثال عملي: تقدر تعمل hook يمنع الـagent إنه يمسح ملفات الـproduction:
hooks:
preToolUse:
- matchers: ["Edit|Write"]
command: "check-production-files"
ده معناه إن كل مرة الـagent بيحاول يستخدم Edit أو Write، الـhook بيتحقق إن الملف مش في production. تقوللي ده كتير؟ قولك: ده الفرق بين agent آمن وagent يقدر يبوّط الدنيا في 3 ثواني.
Section9. الأذونات — Allow / Ask / Deny

تقوللي: "وطيب الـagent ده يقدر يعمل إيه من غير ما أراقبه؟" وهنا النقطة المهمة. Copilot CLI عنده نظام أذونات ثلاثي:
| الحالة | معناها | مثال |
|---|---|---|
| ALLOW | ينفذ من غير سؤال | git status * — آمن |
| ASK | يسأل المستخدم الأول | rm -rf node_modules — خطر محتمل |
| DENY | يرفض التنفيذ | أوامر ضارة أو محظورة |
وتقدر تتحكم أكتر:
--allow-all-tools# يوافق على كل حاجة (خطر!)
--yolo# نفس اللي فوق
--allow-tool='shell(git)'# يسمح بأداة معينة
--allow-all-paths# يسمح بالوصول لكل المسارات
--excluded-tools# يمنع أدوات معينة
وهنا انت هتقول لي: "طب الـyolo مش خطير؟" أقولك: أيوة خطير — بيدّي الـagent نفس صلاحياتك. استخدمه بس في الـCI أو لما تكون واثق 100%.
كمان فيه أمان إضافي: أوامر kill اللي مش آمنة بتيجي مع permission prompt، وLD_PRELOAD وGIT_EXTERNAL_DIFF بيطلعوا warning. والـorganization تقدر تعطل YOLO mode بالكال من الـpolicy settings.
Section10. الـMemory — الـAgent اللي بيتذكر
تقوللي: "كل مرة ببدأ session جديد لازم أعيد كل حاجة من الأول؟" قولك: لأ. /memory بيتحل الموضوع ده.
/memoryon# يفعل الذاكرة المستمرة
/memoryoff# يوقفها
/memoryshow# يعرض اللي اتعمل memorize
الـMemory بتخزن facts عبر الجلسات. تقوله "Project X uses React 19 and TypeScript" — في الـsession الجاي هيفتكر. والـpermissions بتظهر مين يقدر يشوف الذاكرة (user scope أو repository scope).
Section11. الـComparison — مين فيهم يهز السوق؟
وهنا السؤال اللي كل مهندس بيسأله: طيب ليه Copilot CLI مش Claude Code أو OpenCode؟ خليني ألخّصهالك في جدول:
| الـFeature | Copilot CLI | Claude Code | OpenCode |
|---|---|---|---|
| GitHub MCP مدمج | ✅ مبني جوه | ❌ عبر MCP | ❌ عبر MCP |
| Custom Agents | ✅ .github/agents/*.md | ❌ agent واحد | ✅ .opencode/agents/*.md |
| Skills system | ✅ كامل | ❌ /commands | ✅ skills |
| Hooks | ✅ 9 أنواع | ✅ محدود | ✅ hooks |
| LSP | ✅ TypeScript, Python... | ❌ | ❌ |
| Autopilot | ✅ | ❌ | ✅ |
| Rubber Duck | ✅ AI يراجع AI | ❌ | ❌ |
| Cloud Delegate | ✅ /delegate | ❌ | ❌ |
| Scheduling | ✅ /every, /after | ❌ | ❌ |
| Plugin Marketplace | ✅ | ❌ | ✅ |
| Voice Input | ✅ | ❌ | ❌ |
| BYOK | ✅ OpenAI, Anthropic, Azure | ✅ Anthropic بس | ✅ أي provider |
| التكلفة | $10-39/شهر | $20/شهر أو API | مجاني + API keys |
| المصدر | Binary (MIT license) | Binary (proprietary) | مفتوح المصدر |
إيه اللي بيميز Copilot CLI فعلاً؟
تقولة: "كلهم تقريباً بيعملوا نفس الحاجة." قولك: على الورق أيوة — بس في الواقع فيه 5 نقاط بتفرّق:
- GitHub MCP Server مبني جوه. مش محتاج تعمل أي setup عشان تتعامل مع issues, PRs, repos. ده لو شغال في GitHub ecosystem — ده أقوى اختيار. نقطة.
- نظام Agents موسع. مش agent واحد. تقدر تعرف agent لكل domain — security, deployment, testing — وكل واحد ليه model وأدواته.
- Rubber Duck agent. AI بيراجع AI. ده مش موجود في أي منافس.
- LSP Integration. يفهم الكود أعمق من أي CLI تاني.
- Scheduling + Cloud Delegation.
/everyو/delegateبيفتحوا باب لأتمتة كاملة مش موجودة في أي مكان تاني.
تقوللي "طيب والـcost؟" أقولك: $10-39/شهر للـsubscription. لو شغال في GitHub ecosystem والـAI agent بيوفّرلك أكتر من ساعة في اليوم — ده investment مش expense.
Section12. الـProgrammatic Mode — للـCI/CD والأتمتة
مش لازم تجلس في interactive session. Copilot CLI بيتعامل كمان كـأداة برمجية:
# سؤال سريع
copilot-p"What does this function do?"
# تنفيذ مع تحديد الأدوات
copilot-p"Run tests and fix failures"--allow-tool='shell(npm test)'
# autopilot mode
copilot--modeautopilot-p"Refactor the auth module"
# pipe input
echo"Explain this error"|copilot
# attach ملف
copilot-p"Analyze this image"--attachmentscreenshot.png
وده بيفتح باب للاستخدام في CI/CD pipelines، Git hooks، Scripts، وCron jobs.
Section13. الـKeyboard Shortcuts — اللي بيوفر وقت
| الاختصار | الوظيفة |
|---|---|
Shift+Tab | يبدل بين الأوضاع (Interactive → Plan → Autopilot) |
Ctrl+C | يلغي العملية الحالية |
Esc Esc | يتراجع عن التعديلات لآخر checkpoint |
Ctrl+L | يمسح الشاشة (بيحافظ على الـsession) |
Ctrl+O | يوسع آخر timeline entries |
Ctrl+S | يحفظ ويسترجع الـprompt |
Ctrl+T | يبدل reasoning summaries |
@ | إكمال مسار ملف |
# | إشارة لـissue |
/ | قائمة slash commands |
! | تنفيذ shell command |
& | تفويض مهمة للخلفية |
j/k | تنقل vim-style |
w | إخفاء whitespace في diff |
Section14. الـConfiguration — كل حاجة في مكانها
ملفات الإعداد
| الملف | الغرض |
|---|---|
~/.copilot/settings.json | إعدادات المستخدم |
~/.copilot/mcp-config.json | MCP servers |
~/.copilot/lsp-config.json | LSP servers |
~/.copilot/instructions/**/*.md | تعليمات المستخدم |
.github/copilot/settings.json | إعدادات المشروع |
.github/instructions/*.md | تعليمات المشروع (بـapplyTo patterns) |
.github/agents/*.md | تعريف agents مخصصة |
.mcp.json | إعداد MCP للمشروع |
Environment Variables المهمة
| المتغير | الغرض |
|---|---|
GH_TOKEN | GitHub PAT (صلاحية Copilot Requests) |
GITHUB_TOKEN | بديل (أقل أولوية) |
COPILOT_HOME | مجلد الإعداد |
COPILOT_ENABLE_HTTP2 | تفعيل HTTP/2 |
Section15. الخلاصة — إيه اللي بياخدك وإيه اللي بيخليك تفكّر
طيب كل اللي فات ده معناه إيه؟ أولاً، لو شغال في GitHub ecosystem — ده أقوى اختيار من غير منافس. الـMCP server المبني جوه بيوفرلك access لكل حاجة GitHub من غير setup. ثانياً، لو محتاج multi-model — تقدر تبدل بين Claude و GPT حسب المهمة. ثالثاً، لو عايز agents مخصصة — نظام الـcustom agents أقوى من أي منافس. رابعاً، لو بتبني CI/CD — الـprogrammatic mode و scheduling بيفتحوا باب للأتمتة الكاملة. خامساً، لو محتاج LSP — ده الـCLI الوحيد اللي بيدعم Language Server Protocol.
بس لازم تعرف: محتاج Copilot subscription ($10-39/شهر)، الـbinary مش مفتوح المصدر (بس الـlicense MIT)، مش بيشتغل من غير GitHub account، والـexperimental features زي autopilot لسه مش مستقرة 100%.
وهنا يفضل السؤال لحضرتك: لما الـAI agent يقدر يتعامل مع كل حاجة في الترمنال — من الـgit commands للـPRs للـissue management للـcode review — إيه اللي يمنعك تجربه؟ 🚀
Comments