- Copilot CLI מותקן ומאומת על המחשב שלכם
- מודל ברירת מחדל מוגדר בהתאם לסוג העבודה שלכם
- סשן Explore שמיפה פרויקט אמיתי שלכם
- סקירת קוד (Code Review) של PR אמיתי דרך הטרמינל
- תוכנית implementation שנוצרה עם סוכן Plan
- הגדרת זיכרון פרויקט עם copilot-instructions.md
- סקריפט אוטומציה שמשתמש בדגלי CLI
- תוכלו להתקין Copilot CLI ולהגדיר מודל ברירת מחדל תוך 5 דקות
- תוכלו להפעיל את 4 הסוכנים המובנים (Explore, Task, Plan, Code-review) ולדעת מתי כל אחד מתאים
- תוכלו לנהל זיכרון cross-session ולשחזר עבודה מסשנים קודמים
- תוכלו להשוות CLI מול VS Code ולבחור את הכלי הנכון לפי סוג משימה
פרקים נדרשים: פרק 1 — Agent Mode (הבנת הלולאה האגנטית), פרק 3 — Models (בחירת מודלים וניהול תקציב premium requests)
כלים נדרשים: חשבון GitHub עם מנוי Copilot פעיל (Free, Pro, Pro+, Business או Enterprise), טרמינל (Terminal / PowerShell / iTerm), פרויקט Git עם לפחות 10 קבצים
זמן משוער: 90 דקות
בפרק 5 הרחבתם את Copilot עם MCP Servers חיצוניים — כלים שמחברים אותו לעולם שמחוץ ל-IDE. בפרק הזה תצאו מה-IDE לגמרי ותעבדו עם Copilot ישירות מהטרמינל — עם סוכנים מובנים, זיכרון בין סשנים, ומצב אוטונומי מלא. בפרק 7 תשתמשו ב-CLI כבסיס ל-Fleet — הרצת מספר סוכנים במקביל על משימות שונות.
| מונח (English) | תרגום לעברית | הגדרה |
|---|---|---|
| Copilot CLI | ממשק שורת הפקודה של Copilot | כלי טרמינל שמפעיל סוכן Copilot מלא מחוץ ל-IDE, בתהליך נפרד |
| Explore Agent | סוכן חקירה | סוכן מובנה שמנתח codebase, מוצא קבצים, ומסביר ארכיטקטורה |
| Task Agent | סוכן משימות | סוכן שמריץ בנייה (build), בדיקות (tests) ופקודות מערכת |
| Plan Agent | סוכן תכנון | סוכן שבונה תוכנית implementation מפורטת לפני כתיבת קוד |
| Code-review Agent | סוכן סקירת קוד | סוכן שמנתח שינויי קוד ונותן משוב ממוקד לפני commit או PR |
| Autopilot Mode | מצב טייס אוטומטי | מצב שבו Copilot עובד אוטונומית ללא אישור בכל שלב |
| Auto-compaction | דחיסה אוטומטית | מנגנון שמכווץ את היסטוריית השיחה כשחלון הקונטקסט מתמלא (ב-95%) |
| Cross-session Recall | זכירה בין סשנים | היכולת לגשת למידע ועבודה מסשנים קודמים של CLI |
| Session State | מצב סשן | נתוני שיחה, כלים והחלטות שנשמרים כקובצי JSONL ב-~/.copilot/session-state/ |
| Premium Request | בקשה פרימיום | יחידת צריכה — רק פרומפטים שאתם שולחים נספרים, קריאות כלים אוטונומיות לא |
למה CLI? כשה-IDE לא מספיק
עד עכשיו עבדתם עם Copilot בתוך VS Code. זה עובד מצוין לרוב המשימות — אבל יש רגעים שבהם ה-IDE הופך למגבלה. כדאי שתזהו את הרגעים האלה, כי הם יגדירו מתי CLI הוא הכלי הנכון:
- Refactoring גדול — רוצים להריץ שינוי על מאות קבצים ולהמשיך לעבוד על קוד אחר בינתיים. ב-VS Code, הסוכן חוסם את העורך. ב-CLI, הוא רץ ברקע
- סשנים מקביליים — צריכים להריץ code review על branch אחד ובמקביל לתכנן פיצ'ר על branch אחר. VS Code תומך בסשן אחד, CLI תומך בכמה
- עבודה על שרת מרוחק — מחוברים ב-SSH למכונה בענן. אין IDE, רק טרמינל. CLI עובד ישירות
- אוטומציה וסקריפטים — רוצים לשלב Copilot בתהליך CI/CD, ב-cron job, או בסקריפט bash. VS Code לא בנוי לזה, CLI כן
- פרויקטים ענקיים — monorepo עם אלפי קבצים. VS Code מאט, CLI רץ בתהליך נפרד בלי להשפיע על שום דבר
Copilot CLI (ממשק שורת הפקודה — Command-Line Interface) הוא הפתרון לכל התרחישים האלה. חשוב להבין: זה לא תחליף ל-VS Code — זה כלי משלים שרץ בתהליך נפרד לחלוטין. הוא לא תופס זיכרון של ה-IDE, לא חוסם את העורך, ויכול לרוץ ברקע בזמן שאתם עושים משהו אחר לגמרי.
מאז שיצא ל-General Availability (זמינות כללית) בפברואר 2026, Copilot CLI הפך מכלי עזר פשוט לסביבת פיתוח אגנטית מלאה — סביבה שמתכננת, בונה, סוקרת, וזוכרת בין סשנים. הכל מהטרמינל. ואם אתם מפתחים שהטרמינל הוא הבית הטבעי שלכם — זה הכלי שחיכיתם לו.
מה כלול? הנה רשימה קצרה של מה ש-CLI יודע לעשות:
- לקרוא ולנתח את כל ה-codebase
- לכתוב קוד, ליצור קבצים ולערוך קבצים קיימים
- להריץ פקודות shell — build, test, lint, deploy
- לסקור שינויי קוד ולתת משוב לפני commit
- ליצור Pull Requests ולנהל issues
- לזכור מה עשיתם בסשנים קודמים ולהמשיך מאיפה שעצרתם
- להתממשק עם שרתי MCP חיצוניים
- לרוץ ב-autopilot בלי צורך באישורים
ההבדל המרכזי נראה בתרשים למעלה: ב-VS Code, סוכן Copilot רץ באותו תהליך (process) עם העורך. כשהסוכן עובד קשה על refactoring מורכב — סורק מאות קבצים, מריץ כלים, מנתח תוצאות — ה-IDE מאט. כתיבת קוד הופכת לאיטית, syntax highlighting מקרטע, ולפעמים VS Code פשוט קופא לרגע.
ב-CLI, הסוכן רץ בתהליך נפרד לחלוטין. הוא משתמש ב-CPU וזיכרון משלו, ב-process משלו, ולא משפיע על שום דבר אחר. אתם יכולים להריץ שלושה סוכני CLI במקביל — אחד על code review, אחד על refactoring, ואחד על כתיבת tests — ובינתיים לעבוד ב-VS Code על קוד אחר לגמרי. בלי האטה, בלי פשרות.
זה מה שהופך את CLI לכלי משמעותי כל כך: הוא לא "Copilot בטרמינל". הוא עוד מימד של עבודה שלא היה אפשרי קודם.
פתחו טרמינל והקלידו copilot --version. אם קיבלתם מספר גרסה — מעולה, דלגו לסעיף הסוכנים. אם קיבלתם שגיאה — המשיכו לסעיף ההתקנה.
התקנה — Windows, macOS, Linux
Copilot CLI זמין דרך כמה מנהלי חבילות. בחרו את השיטה שמתאימה למערכת ההפעלה שלכם. נקודה חשובה: כל שיטות ההתקנה חוץ מ-npm כוללות עדכון אוטומטי — ה-CLI יתעדכן לגרסה החדשה ביותר בלי שתצטרכו לעשות כלום. זה חשוב כי GitHub מוסיפים פיצ'רים חדשים ל-CLI כל כמה שבועות.
Windows — WinGet
התקנה
פתחו PowerShell או Terminal והריצו:
winget install GitHub.CopilotCLI
WinGet מגיע מותקן מראש ב-Windows 11. ב-Windows 10 ייתכן שצריך להתקין אותו תחילה מ-Microsoft Store. אחרי ההתקנה, פתחו חלון PowerShell חדש כדי שה-PATH יתעדכן.
macOS — Homebrew
התקנה
פתחו Terminal והריצו:
brew install --cask copilot-cli
Homebrew זמין גם ב-macOS וגם ב-Linux. אם עדיין אין לכם Homebrew, התקינו אותו מ-brew.sh. ההתקנה לוקחת כמה שניות ובודקת שהגרסה האחרונה מותקנת.
Linux — Shell Script
התקנה
הורידו והריצו את סקריפט ההתקנה:
curl -fsSL https://cli.github.com/copilot/install.sh | sudo bash
הסקריפט מוריד את הגרסה המתאימה לארכיטקטורה שלכם (x86_64 או ARM64) ומתקין ב-/usr/local/bin. צריך sudo כי זה כותב לתיקייה מערכתית. בסביבות Docker או CI, אפשר להריץ בלי sudo אם יש לכם הרשאות כתיבה.
כל הפלטפורמות — npm (אפשרות גיבוי)
התקנה
אם יש לכם Node.js מותקן:
npm install -g @github/copilot
שימו לב: התקנה דרך npm לא כוללת עדכון אוטומטי. תצטרכו לעדכן ידנית עם npm update -g @github/copilot.
אימות וקונפיגורציה ראשונית — Auth & Setup
אחרי ההתקנה, הצעד הבא הוא אימות (authentication) — חיבור ה-CLI לחשבון GitHub שלכם. בלי אימות, ה-CLI לא יעבוד — הוא צריך לדעת שיש לכם מנוי Copilot פעיל. התהליך פשוט ולוקח פחות מדקה:
אימות
הריצו את Copilot CLI פעם ראשונה:
copilot
ה-CLI יבקש אימות דרך הדפדפן. לחצו על הקישור, אשרו ב-GitHub, וחזרו לטרמינל. האימות שמור — לא תצטרכו לעשות את זה שוב.
בחירת מודל ברירת מחדל
ברגע שאתם בתוך סשן, הגדירו את המודל שישמש כברירת מחדל:
/model
תראו רשימה של המודלים הזמינים: Claude Sonnet, GPT-4.1, Gemini 2.5 Pro, ועוד. כל מודל מציג את ה-multiplier שלו — כמה premium requests הוא צורך. לרוב העבודה, Claude Sonnet (1x multiplier) הוא בחירה מצוינת. למשימות מורכבות, שקלו Claude Opus (אבל שימו לב ל-multiplier הגבוה).
התקינו את Copilot CLI בשיטה שמתאימה למערכת ההפעלה שלכם. הריצו copilot, בצעו אימות, ובחרו מודל ברירת מחדל עם /model.
שלחו את הפרומפט הראשון שלכם ב-CLI: what can you help me with? — רק כדי לראות שהכל עובד. שימו לב לפורמט התשובה — שונה ממה שהכרתם ב-VS Code.
Copilot CLI דורש מנוי Copilot פעיל — אפילו התוכנית החינמית (Free). אם אין לכם מנוי, תקבלו שגיאת אימות שנראית כמו "Your account does not have access to Copilot CLI." לפני שמתחילים, ודאו שיש לכם מנוי פעיל: היכנסו ל-github.com/settings/copilot ובדקו שהסטטוס הוא Active. אם אתם על תוכנית ארגונית (Business/Enterprise), ודאו שה-admin שלכם הפעיל CLI access בהגדרות הארגון.
בהגדרה הראשונית עם /model תראו רשימה של מודלים. הנה כלל אצבע מהיר:
- Claude Sonnet 4 (1x multiplier) — ברירת מחדל מומלצת. מאוזן, מהיר, זול. מתאים ל-90% מהמשימות
- GPT-4.1 (1x multiplier) — אלטרנטיבה טובה, חזק במיוחד בקוד Python ו-JavaScript
- Claude Opus 4 (multiplier גבוה) — למשימות מורכבות שדורשות חשיבה עמוקה: ארכיטקטורה, debugging מורכב, refactoring גדול. צורך יותר premium requests
- Gemini 2.5 Pro (1x multiplier) — חלון קונטקסט ענק, מצוין לפרויקטים גדולים שצריכים הרבה קונטקסט
אפשר לשנות מודל בכל רגע — לא צריכים להתחייב. התחילו עם Sonnet ושנו רק אם צריכים.
4 הסוכנים המובנים — מפה מהירה
ב-VS Code, יש לכם Agent Mode אחד שעושה הכל. ב-CLI, Copilot חכם יותר — הוא מאציל אוטומטית לסוכן המתמחה שמתאים למשימה. לא צריך לבחור ידנית (אם כי אפשר). הנה ארבעת הסוכנים:
| סוכן | מה הוא עושה | מתי משתמשים | דוגמת פרומפט |
|---|---|---|---|
| Explore | מנתח codebase, מוצא קבצים, מסביר ארכיטקטורה | נכנסתם לפרויקט חדש / רוצים להבין קוד קיים | How is auth handled in this project? |
| Task | מריץ build, tests, פקודות מערכת | רוצים להריץ משהו ולקבל תוצאה | Run the test suite and fix any failures |
| Plan | בונה תוכנית implementation מפורטת | צריכים לתכנן פיצ'ר לפני שמתחילים לכתוב | Plan how to add OAuth login |
| Code-review | סוקר שינויי קוד, מוצא באגים וסיכונים | לפני commit או PR — רוצים עיניים נוספות | /review |
Copilot בוחר את הסוכן הנכון אוטומטית ברוב המקרים. המנגנון פשוט: הוא מנתח את הפרומפט שלכם ומזהה את הכוונה. אם שאלתם שאלה על הקוד ("How does auth work?") — הוא יפעיל Explore. אם ביקשתם להריץ משהו ("Run the tests") — הוא יפעיל Task. אם ביקשתם תוכנית ("Plan how to add caching") — הוא יפעיל Plan.
אבל תמיד אפשר לכוון ידנית. איך? שתי דרכים:
- פרומפט מכוון — אם רוצים Explore, תפתחו עם "Explain..." או "Where is..." במקום "Add..." או "Fix..."
- פקודות slash —
/reviewתמיד מפעיל Code-review,/planתמיד מפעיל Plan
ההבדל הגדול לעומת VS Code: שם יש לכם Agent Mode אחד שעושה הכל. ב-CLI, יש התמחות. כל סוכן מותאם למשימה ספציפית, עם כלים ואסטרטגיות שונות. הסוכן Explore לא מנסה לשנות קבצים — הוא ממוקד בלקרוא ולהסביר. הסוכן Task לא מנסה לתכנן — הוא ממוקד בלהריץ ולתקן. זה מה שהופך את הסוכנים ב-CLI ליעילים יותר — כל אחד עושה דבר אחד, טוב.
| המצב שלכם | הסוכן הנכון | למה |
|---|---|---|
| נכנסתם לריפו חדש ולא מבינים את המבנה | Explore | מנתח את כל ה-codebase במהירות, בלי לשנות שום דבר |
| יש לכם PR מוכן ורוצים sanity check | Code-review | מנתח diff, מזהה באגים, בודק התאמה לארכיטקטורה |
| צריכים לתכנן פיצ'ר מורכב לפני שמתחילים | Plan | שואל שאלות הבהרה ובונה תוכנית מפורטת עם סדר ביצוע |
| הבדיקות נכשלו ואתם רוצים שמישהו יתקן | Task | מריץ tests, מזהה כשלונות, מתקן ומריץ שוב |
| לא בטוחים מה צריכים | פשוט כתבו את הבעיה | Copilot יבחר את הסוכן הנכון לפי ההקשר |
סוכן Explore — הבנת הקוד בשניות
תארו לעצמכם שנכנסתם לפרויקט חדש עם 200 קבצים. בדרך הרגילה, הייתם פותחים README (אם בכלל יש), מנסים להבין את מבנה התיקיות, קוראים package.json, מחפשים נקודת כניסה, גוגלים מונחים לא מוכרים. התהליך הזה לוקח שעות, ולפעמים ימים — במיוחד ב-legacy codebase עם תיעוד חלקי.
עם סוכן Explore, אתם פשוט שואלים. הוא סורק את כל ה-codebase — כל קובץ, כל תיקייה, כל dependency — ועונה בשפה ברורה. תוך דקה אתם מבינים את הארכיטקטורה שלקח למישהו חודשים לבנות.
סוכן Explore הוא סוכן קריאה בלבד (read-only agent) — הוא לא משנה קבצים, לא מריץ פקודות, ולא כותב קוד. הוא רק קורא, מנתח ומסביר. זה מה שהופך אותו לבטוח לחלוטין — אפשר להפעיל אותו על כל ריפו בלי חשש שישבור משהו. אפילו על ריפו production, אפילו על ריפו שאתם לא מכירים.
הנה דוגמאות לפרומפטים שמפעילים Explore, מהכללי לספציפי:
What does this project do?— סקירה כלליתHow is authentication implemented?— מיפוי פיצ'ר ספציפיWhere are the database models defined?— מציאת קבציםWhat are the main dependencies?— ניתוח תלויותDraw me the data flow for a user signup— הבנת flow
Explore בפועל — מה קורה מאחורי הקלעים
כשאתם שואלים שאלה שמפעילה Explore, הסוכן עובר תהליך מסודר:
- סריקת מבנה — קורא את עץ התיקיות ומזהה patterns (src/, tests/, docs/)
- זיהוי tech stack — בודק package.json, requirements.txt, Cargo.toml ומזהה שפה ו-framework
- מיפוי entry points — מוצא את נקודות הכניסה (main files, index files, app entry)
- ניתוח תלויות — מזהה imports ו-exports בין מודולים ובונה תמונה של הקשרים
- סינתזה — מחבר את הכל לתשובה קוהרנטית
כל זה קורה תוך שניות. ולמרות שהתהליך אוטומטי, אתם שולטים ברמת הפירוט דרך הפרומפט: שאלה כללית תיתן סקירה רחבה, שאלה ממוקדת תיתן תשובה עמוקה על נושא ספציפי.
הכוח האמיתי של Explore הוא בשאלות המשך. אחרי סקירה כללית, תשאלו על מודול ספציפי. אחרי שהבנתם מודול, תשאלו על הממשק שלו. אחרי שהבנתם ממשק, תשאלו על edge cases. כל שאלה מחדדת את ההבנה שלכם, ו-Explore זוכר את ההקשר מהשאלות הקודמות באותו סשן.
פתחו טרמינל בתיקיית פרויקט שלכם. הריצו copilot ושאלו: Explain the architecture of this project. What are the main modules and how do they connect? — קראו את התשובה ובדקו אם היא מדויקת.
מטרה: למפות פרויקט אמיתי מקצה לקצה עם סוכן Explore ולהפיק מסמך סקירה שימושי
- פתחו טרמינל בפרויקט Git שלכם (עם לפחות 10 קבצים). אם אין לכם פרויקט מתאים, שבטו אחד מ-GitHub:
git clone https://github.com/expressjs/express.git - הריצו
copilotושלחו:Give me a complete overview of this project — structure, main modules, tech stack, and entry points - שאלו שאלת המשך:
What are the most complex files and why? - שאלו:
Are there any obvious code quality issues or security concerns? - שאלו:
If I wanted to add a new REST endpoint, which files would I need to modify? - שאלו שאלת סיכום:
Summarize everything we discussed in a structured markdown document with headers for Architecture, Tech Stack, Key Files, and Recommendations - העתיקו את הסיכום לקובץ
PROJECT-OVERVIEW.mdבריפו — זה המסמך הראשון שלכם שנוצר עם CLI
תוצאה צפויה: מסמך סקירת פרויקט מובנה שמכסה ארכיטקטורה, tech stack, entry points, נקודות חולשה, ונקודות כניסה להרחבה. מסמך כזה חוסך שעות של onboarding למפתח חדש שנכנס לפרויקט.
סוכן Task — בנייה, בדיקות, הרצה
סוכן Task הוא סוכן הביצוע (execution agent). בניגוד ל-Explore שרק קורא ומסביר, Task עושה דברים — מריץ פקודות אמיתיות: build, test, lint, install. אבל ההבדל בינו לבין פשוט לכתוב פקודה בטרמינל הוא עצום.
כשאתם מריצים npm test בטרמינל ורואים 5 tests שנכשלו, מה קורה? אתם קוראים את הלוג, מנסים להבין למה, פותחים את הקבצים הרלוונטיים, מתקנים, ומריצים שוב. Task עושה את כל הלולאה הזו לבד: הוא מריץ, קורא את הלוג, מזהה את הבעיה, מתקן את הקוד, ומריץ שוב — עד שכל ה-tests עוברים או שהוא מזהה שצריך עזרה.
זה בדיוק מה שהכרתם מ-Agent Mode בפרק 1 — אותה לולאה אגנטית של קלט ← תכנון ← כלי ← בדיקה ← תיקון. רק שעכשיו זה רץ בטרמינל, בתהליך נפרד, ואפשר לתת לו לרוץ ברקע. אתם פותחים טאב חדש וממשיכים לעבוד — Task ירוץ עד שיסיים ויודיע לכם.
דוגמאות לפרומפטים שמפעילים Task:
Run the test suite and fix any failures— הרצה + תיקון אוטומטיInstall all dependencies and make sure the project builds— setupRun the linter and fix all warnings— ניקוי קודCreate a new migration for adding a "role" column to the users table— יצירה + הרצה
נניח ששלחתם: Run all tests and fix any failures. הנה מה שקורה מאחורי הקלעים:
- Task מריץ את הבדיקות —
npm test(הוא מזהה את הכלי מ-package.json) - קורא את הפלט — מזהה ש-3 tests נכשלו ב-
auth.test.ts - קורא את קובץ הבדיקה — מבין שהבדיקות מצפות לפורמט response ישן
- קורא את קובץ ה-API — מזהה שהפורמט השתנה (added
metafield) - מעדכן את הבדיקות — מתקן את ה-assertions בהתאם לפורמט החדש
- מריץ שוב — כל ה-tests עוברים. מדווח על ההצלחה
כל התהליך הזה קרה ב-30 שניות, בלי שנגעתם במקלדת.
בתוך סשן CLI, שלחו: Run the tests in this project. If any fail, explain why and suggest a fix. — אם אין tests בפרויקט שלכם, שלחו: Check if this project has a build command and run it.
סוכן Task יכול לשנות קבצים ולהריץ פקודות. במצב רגיל, הוא מבקש אישור לפני כל פעולה משמעותית. אבל אם הפעלתם Autopilot Mode (נלמד בהמשך), הוא יפעל בלי לשאול. לעולם אל תפעילו Autopilot על ריפו production בלי שיש לכם branch נפרד ו-backup. תמיד עבדו על branch, תמיד.
סוכן Plan — תכנון לפני ביצוע
הכרתם את Plan Mode (מצב תכנון) מפרק 1 — הרעיון שלפני שמתחילים לכתוב קוד, כדאי לתכנן. ב-CLI, סוכן Plan הוא חזק במיוחד מסיבה אחת: הוא יכול לסרוק את כל ה-codebase לפני שהוא מציע תוכנית. הוא לא מנחש — הוא קורא את הקוד הקיים, מבין את הפטרנים, ובונה תוכנית שמתאימה למה שכבר יש.
למה זה חשוב? כי תוכנית implementation שלא מתחשבת בקוד הקיים היא חסרת ערך. אם הפרויקט שלכם משתמש ב-repository pattern, אתם רוצים ש-Plan ידע את זה ויציע קבצים חדשים שעוקבים אחרי אותו pattern. CLI-Plan עושה בדיוק את זה.
כדי להפעיל Plan Mode, לחצו Shift+Tab בתוך סשן CLI ועברו למצב Plan. שימו לב לאינדיקטור בתחתית המסך (שורת הסטטוס) שמראה באיזה מצב אתם — שלושה מצבים אפשריים: Standard (ברירת מחדל, עם אישורים), Plan (תכנון לפני ביצוע), או Autopilot (ריצה אוטונומית). כל לחיצה על Shift+Tab מעבירה למצב הבא.
מה סוכן Plan עושה:
- שואל שאלות הבהרה — אם הבקשה לא ברורה מספיק, הוא ישאל לפני שממשיך
- סורק את הקוד — מזהה קבצים רלוונטיים, תלויות, ודפוסים קיימים
- בונה תוכנית מפורטת — רשימת שלבים, קבצים שישתנו, סדר ביצוע
- מחכה לאישור — לא מתחיל ביצוע עד שאישרתם את התוכנית
נניח שביקשתם: Plan how to add rate limiting to the API. הנה מה שתקבלו:
- שאלות הבהרה — "What rate limits do you want? Per user? Per endpoint? What should happen when exceeded?"
- סקירת קוד קיים — Plan סורק את ה-API, מזהה middleware קיים, ומציין פיתרונות תואמים
- תוכנית מפורטת:
- שלב 1: התקנת
express-rate-limitpackage - שלב 2: יצירת middleware ב-
src/middleware/rate-limiter.ts - שלב 3: הוספת configuration ב-
src/config/rate-limits.ts - שלב 4: חיבור ל-routes הקיימים ב-
src/routes/index.ts - שלב 5: הוספת tests ב-
tests/rate-limiter.test.ts
- שלב 1: התקנת
שימו לב: שמות הקבצים, ה-patterns, וה-structure — הכל מותאם לפרויקט הספציפי שלכם. Plan קרא את הקוד ויודע איך אתם עובדים.
בסשן CLI, לחצו Shift+Tab עד שמצב Plan מופיע. שלחו: Plan how to add input validation to all API endpoints — קראו את התוכנית שהוא בונה. עדיין לא מאשרים ביצוע!
Plan vs Explore — מה ההבדל?
שני הסוכנים קוראים קוד, אבל המטרה שונה לחלוטין. Explore מנתח את מה שיש — "explain this to me". Plan מתכנן את מה שצריך לבנות — "tell me how to build this". Explore לא משנה כלום ולא מציע שינויים. Plan בונה תוכנית שתוביל לשינויים — ואם אישרתם, הוא יכול לבצע אותם.
בפועל, זרימה טובה היא: להתחיל עם Explore כדי להבין את המצב הנוכחי, ואז לעבור ל-Plan כדי לתכנן את השינוי. Explore בונה את הקונטקסט, Plan משתמש בו.
מטרה: ליצור תוכנית implementation מפורטת לפיצ'ר חדש
- בחרו פיצ'ר שאתם רוצים להוסיף לפרויקט שלכם (לדוגמה: מערכת הרשאות, API endpoint חדש, caching layer)
- הפעילו Plan Mode עם Shift+Tab
- שלחו פרומפט מפורט שמתאר את הפיצ'ר: מה הוא עושה, למי הוא מיועד, ומה האילוצים
- ענו על שאלות ההבהרה של Plan (אם יש)
- קראו את התוכנית המפורטת — בדקו: האם הסדר הגיוני? האם הוא מתחשב בקוד הקיים?
- שמרו את התוכנית (copy-paste לקובץ) — זה ה-implementation plan שלכם
תוצאה צפויה: תוכנית implementation עם שלבים מסודרים, רשימת קבצים לשינוי, וסדר ביצוע מומלץ.
סוכן Code-review — סקירה לפני commit
סקירת קוד (Code Review) היא אחת המשימות שהכי מתאימות ל-CLI. חשבו על זה: אתם כבר בטרמינל, עובדים על branch, עשיתם כמה שינויים, ורוצים בדיקה מהירה לפני שעושים commit ו-push. בגישה הרגילה, הייתם עושים push, פותחים PR ב-GitHub, מבקשים review מעמית, ומחכים. עם CLI, אתם פשוט מקלידים /review ומקבלים משוב תוך שניות.
פקודת /review מפעילה את סוכן Code-review שעובד עם ארכיטקטורה אגנטית (agentic architecture) — הוא לא רק מסתכל על ה-diff (השינויים). הוא אוסף קונטקסט רחב יותר: סורק את מבנה הריפו, בודק קבצים קשורים, מבין תלויות, ומפנה את תשומת הלב לנקודות שבאמת דורשות תשומת לב. ככה הוא יכול לזהות בעיות שלא נראות כשמסתכלים רק על השורות ששונו — כמו מקרה שבו שיניתם חתימת פונקציה אבל שכחתם לעדכן קובץ אחר שמשתמש בה.
זה אחד הפיצ'רים הכי שימושיים ב-CLI — ואחד שחוסך הכי הרבה זמן. במקום לחכות לעמית שיעשה review, אתם מקבלים "עיניים נוספות" מיידיות, 24/7, על כל שינוי.
שלוש דרכים לסקירת קוד ב-CLI
| שיטה | פקודה | מה סוקר |
|---|---|---|
| סקירה מהירה | /review |
שינויים staged + unstaged |
| סקירת PR מהטרמינל | gh pr create --reviewer @copilot |
כל ה-PR דרך GitHub CLI |
| סקירה ממוקדת | Review the changes in src/auth/ |
שינויים בתיקייה ספציפית |
מה Code-review בודק
הסוכן לא עושה רק "בדיקת סגנון". הנה מה שהוא מחפש, מהפשוט למורכב:
- באגים — null references, off-by-one errors, resource leaks, race conditions
- בעיות אבטחה — SQL injection, XSS, hardcoded secrets, insecure defaults
- performance — N+1 queries, unnecessary re-renders, missing indexes
- עקביות — האם השינויים עוקבים אחרי ה-patterns הקיימים בפרויקט
- שלמות — האם שכחתם לעדכן tests, documentation, או types
- edge cases — מה קורה עם input ריק, null, או ערכים קיצוניים
כל הממצאים מסווגים לפי חומרה: critical (באגים, אבטחה), suggestion (שיפורים), nit (סגנון). ככה אתם יודעים מה חייב תיקון ומה אופציונלי.
עשו שינוי קטן בקובץ בפרויקט שלכם (הוסיפו הערה, שנו שם משתנה). אל תעשו commit. בסשן CLI, הקלידו /review וקראו את המשוב. האם הוא זיהה בעיות? האם ההמלצות הגיוניות?
מפתח שינה 3 קבצים: הוסיף endpoint חדש, עדכן את ה-router, ושינה את ה-middleware. הוא הריץ /review וקיבל:
- Critical: ה-endpoint החדש לא בודק הרשאות — ה-middleware שעודכן מוחל על routes אחרים אבל לא על הנתיב החדש
- Suggestion: חסר rate limiting על ה-endpoint — כל ה-endpoints האחרים יש להם
- Nit: שם המשתנה
dלא מתאר מה זה — עדיףuserData
הבאג הקריטי — endpoint בלי הרשאות — היה כמעט בלתי נראה ב-diff בלבד, כי ה-middleware שונה בקובץ אחר. רק מישהו (או סוכן) שמסתכל על כל הקבצים יחד היה רואה את זה.
מטרה: לבצע code review מלא על PR אמיתי (או שינוי משמעותי) דרך הטרמינל
- צרו branch חדש:
git checkout -b feature/cli-review-test - עשו שינוי משמעותי — הוסיפו פונקציה, שנו לוגיקה, או הוסיפו קובץ חדש
- עשו commit:
git add . && git commit -m "test: add feature for review" - בסשן CLI, הקלידו:
Review all the changes on this branch compared to main. Focus on bugs, security issues, and code quality. - קראו את הסקירה. רשמו 3 תובנות שקיבלתם
- בונוס: אם יש לכם remote, הריצו:
gh pr create --reviewer @copilotוצפו בסקירה ב-GitHub
תוצאה צפויה: סקירת קוד מפורטת עם זיהוי בעיות, המלצות, והערות על התאמה לפטרנים קיימים בפרויקט.
Autopilot Mode — ריצה אוטונומית
במצב רגיל (Standard Mode), Copilot CLI מבקש אישור לפני פעולות משמעותיות — כתיבה לקבצים, הרצת פקודות, מחיקות. זה בטוח, ומומלץ לרוב העבודה. אבל יש רגעים שבהם תהליך האישור הופך למכשול: נניח שביקשתם refactoring על 50 קבצים. כל קובץ דורש אישור — זה 50 לחיצות על "כן". במקום שהסוכן יעבוד 10 דקות ויסיים, אתם עומדים מולו 10 דקות ומאשרים שוב ושוב.
Autopilot Mode (מצב טייס אוטומטי) מסיר את בלמי האישור. תנו ל-Copilot משימה, והוא יעבוד עליה אוטונומית — יכתוב קוד, יריץ tests, יתקן כשלונות, יחזור על הלולאה — עד שהמשימה הושלמה או שנתקע. בלי שום שאלה, בלי שום עצירה.
זה אחד הפיצ'רים החזקים ביותר ב-CLI — וגם אחד שדורש הכי הרבה זהירות. הכוח הזה מגיע עם אחריות: כשאתם נותנים ל-Copilot לרוץ בלי פיקוח, הוא יכול לשנות קבצים, למחוק קוד, ולהריץ פקודות. אם תיתנו לו הוראה לא מדויקת — התוצאה עלולה להפתיע.
איך מפעילים
בתוך סשן CLI, לחצו Shift+Tab כמה פעמים עד שמצב Autopilot מופיע בשורת הסטטוס. הסדר הוא: Standard → Plan → Autopilot → Standard (חזרה למעגל). כשאתם רואים "Autopilot" בשורת הסטטוס — אתם במצב אוטונומי. עכשיו שלחו את הפרומפט שלכם — Copilot יתחיל לעבוד בלי לעצור.
חשוב: אפשר גם לעבור ל-Autopilot באמצע סשן. התחלתם ב-Standard, עשיתם כמה שלבים ידנית, ואז מבינים שהשאר ברור ואפשר לתת ל-Copilot לסיים לבד — לחצו Shift+Tab, עברו ל-Autopilot, ושלחו: Continue with the rest of the plan.
מתי Autopilot עוצר
- המשימה הושלמה — Copilot קובע שהסיום הושג
- שגיאה שלא ניתנת לתיקון — כשהוא לא מצליח לפתור בעיה אחרי מספר ניסיונות
- אתם עוצרים ידנית — Ctrl+C בכל רגע
- מגבלת המשכים — אם הגדרתם מגבלה על מספר הצעדים
ההשלכה על Premium Requests — עלויות
ב-Autopilot, כל צעד שדורש פנייה למודל נספר כ-premium request (בקשה פרימיום). חשוב להבין את מנגנון החיוב כאן:
- מה נספר: כל פרומפט שנשלח למודל — כולל פרומפטים פנימיים ש-Copilot שולח לעצמו כחלק מהלולאה האגנטית
- מה לא נספר: קריאות כלים אוטונומיות (הרצת פקודה, קריאת קובץ, חיפוש) — אלה חינם
- ב-Standard mode: אתם שולחים פרומפט, זה נספר. Copilot עובד, מפעיל כלים (לא נספר), ומחזיר תשובה
- ב-Autopilot mode: אתם שולחים פרומפט ראשון (נספר). אחר כך Copilot שולח פרומפטים פנימיים בלי שאתם שולחים — וכל אחד נספר
בפועל, משימה מורכבת ב-Autopilot — כמו refactoring של 20 קבצים — יכולה לצרוך 20-30 premium requests בקלות. אם אתם קרובים למכסה החודשית, כדאי לעבוד ב-Standard ולאשר כל שלב ידנית.
עלות כל premium request מעבר למכסה החודשית. משימת Autopilot ארוכה יכולה לעלות $1-2.
בסשן CLI, לחצו Shift+Tab כמה פעמים וצפו במצב שמשתנה: Standard → Plan → Autopilot. חזרו ל-Standard — עדיין לא שולחים פרומפט ב-Autopilot.
| תרחיש | המלצה | הסבר |
|---|---|---|
| Refactoring גדול על branch נפרד | כן — Autopilot | Branch מבודד, אפשר לבטל, המשימה ברורה |
| כתיבת tests לפרויקט קיים | כן — Autopilot | Tests לא שוברים קוד קיים, קל לבדוק |
| שינוי בקוד production על main | לא — Standard | צריכים לבדוק כל שינוי לפני שמאשרים |
| משימה שלא ברור מה היא כוללת | לא — Plan קודם | תנו ל-Plan לבנות תוכנית, ואז החליטו |
| קרובים למכסת premium requests | לא — Standard | Autopilot צורך requests בלי שליטה שלכם |
Autopilot Mode נותן לכם כוח אדיר, אבל הוא לא מושלם. תמיד סקרו את התוצאה אחרי שהוא סיים — הריצו git diff, הריצו tests, ואם צריך הריצו /review על השינויים שהוא עשה. Autopilot טוב בביצוע, אבל הבדיקה האנושית עדיין קריטית.
זיכרון — מה Copilot זוכר ואיך
אחת הבעיות הכי מתסכלות בעבודה עם כלי AI: אתם מסבירים משהו בסשן אחד — "הפרויקט הזה משתמש ב-PostgreSQL, ה-API בנוי ב-FastAPI, והמבנה הוא monorepo" — סוגרים את הסשן, פותחים סשן חדש למחרת, ו-Copilot שוכח הכל. כאילו מעולם לא שוחחתם.
ב-Copilot CLI, המצב שונה לחלוטין. המערכת בנויה עם שלוש שכבות זיכרון שעובדות יחד, מהמקומי ביותר ועד הענן — וכל שכבה מוסיפה מימד של "זכירה" שמשפר את איכות העבודה:
שכבה 1: Session State — מצב הסשן הנוכחי
כל סשן CLI שומר את ההיסטוריה שלו כקובצי JSONL (JSON Lines — שורה אחת לכל אירוע) בתיקייה ~/.copilot/session-state/. מה נשמר? הכל: היסטוריית שיחה, כלים שהופעלו, תוצאות שהתקבלו, תיקונים שבוצעו, והחלטות שנלקחו. זה מאפשר לחזור לסשן ישן ולהמשיך מאיפה שעצרתם.
שתי דרכים לחזור:
copilot --resume— חזרה לסשן האחרון. הכי נפוץcopilot --continue SESSION_ID— המשך סשן ספציפי לפי מזהה. שימושי כשיש כמה סשנים פתוחים
שכבה 2: Cross-session Recall — זכירה בין סשנים
מעבר לסשנים בודדים, CLI בונה גרף קונטקסט מתמשך (persistent context graph) שמחבר מידע מכל הסשנים שלכם. זה לא רק "היסטוריית שיחות" — זה מבנה נתונים שמקשר בין פעולות, קבצים, PRs, ותיקונים.
בפועל זה אומר שאתם יכולים לשאול שאלות כמו:
What files did I change in that PR last week?— מה שיניתי ב-PR שבוע שעבר?What was the fix I applied to the auth bug?— מה היה התיקון שהחלתי על באג האימות?Show me the tests I wrote yesterday— תראה לי את ה-tests שכתבתי אתמול
וה-CLI יודע לענות — גם אם המידע נמצא בסשן אחר לגמרי. ה-recall הזה עובד אוטומטית: כשאתם שואלים על עבודה קודמת, CLI מזהה שצריך לחפש בהיסטוריה ופונה ל-session store בעצמו. אתם לא צריכים לציין "חפש בסשנים קודמים" — הוא פשוט יודע.
שכבה 3: Copilot Memory — זיכרון ריפוזיטורי
Copilot Memory (זיכרון ריפוזיטורי) היא שכבה שונה מהותית מהשתיים הקודמות. היא מאוחסנת ב-GitHub (בענן, לא על המחשב שלכם) ומשותפת בין כל הממשקים: CLI, VS Code, Coding Agent, Code Review. אם Copilot למד משהו על הריפו שלכם דרך VS Code — הוא יזכור את זה גם ב-CLI, וההפך.
המערכת לומדת אוטומטית מוסכמות של הריפו: סגנון קוד (tabs או spaces? camelCase או snake_case?), דפוסים ארכיטקטוניים (repository pattern? service layer?), תלויות קריטיות (אל תשנה migration files!). כל "זיכרון" מוגבל לריפו אחד ומאומת מול ה-codebase הנוכחי לפני שימוש — ככה מידע ישן ולא רלוונטי לא מזהם את התשובות.
Copilot Memory הופעל כברירת מחדל למשתמשי Pro ו-Pro+ במרץ 2026. אם אתם על תוכנית Business או Enterprise, ייתכן שצריך להפעיל אותו בהגדרות הארגון. אפשר לנהל את הזיכרונות — לראות מה Copilot למד, למחוק זיכרונות שגויים, או להוסיף ידנית — דרך github.com/settings/copilot בלשונית Memory.
נניח שאתם עובדים על פרויקט Node.js/TypeScript:
- שכבה 1 (Session State): ב-CLI שאלתם "Where is the auth middleware?" — Copilot ענה ומצא את הקובץ. עכשיו בהמשך הסשן, כשאתם אומרים "add rate limiting to that middleware" — הוא יודע לאיזה קובץ אתם מתכוונים
- שכבה 2 (Cross-session Recall): למחרת, אתם פותחים סשן חדש ושואלים "what did I change in the auth files yesterday?" — CLI מוצא את הסשן הישן ומספר
- שכבה 3 (Copilot Memory): חודש אחרי, עמית חדש פותח VS Code ומתחיל לעבוד על הפרויקט. Copilot יודע מראש ש"this project uses Express with custom middleware pattern" — כי הוא למד את זה מהעבודה שלכם. הידע עובר בין אנשים, לא רק בין סשנים
הקובץ copilot-instructions.md — הנחיות מפורשות
בנוסף לזיכרון האוטומטי (שלומד לבד), יש הנחיות מפורשות שאתם כותבים ומתחזקים. הקובץ .github/copilot-instructions.md בריפו שלכם נקרא אוטומטית בתחילת כל סשן — גם ב-CLI וגם ב-VS Code. זה המקום לכתוב:
- מוסכמות צוות — סגנון קוד, naming conventions, דפוסי עיצוב
- מגבלות — "אל תשנה קבצי migration", "אל תשתמש ב-any ב-TypeScript"
- העדפות ארכיטקטורה — "השתמש ב-repository pattern", "כל endpoint צריך validation"
- מידע על הפרויקט — tech stack, מבנה תיקיות, נקודות כניסה
הקובץ הזה הוא version-controlled — הוא חלק מהריפו, מנוהל ב-Git, וכל הצוות רואה ומעדכן אותו. זה היתרון על זיכרון אוטומטי: הנחיות מפורשות שכולם מסכימים עליהן, לא ניחושים של AI.
כשיש הנחיות ממקורות שונים, סדר העדיפויות הוא: הנחיות בריפו (.github/copilot-instructions.md) גוברות על הנחיות גלובליות (בהגדרות המשתמש), שגוברות על מה ש-Copilot Memory למד. אם כתבתם בקובץ "Never use default exports" — זה תמיד ינצח.
בטרמינל, הריצו: ls ~/.copilot/session-state/ — מה יש שם? אם ריצתם סשן CLI לפני כן, תראו קבצי JSONL. אם ריק — נורמלי, עוד לא הספקתם לצבור היסטוריה.
למה הזיכרון חשוב כל כך
ההבדל בין CLI עם זיכרון מוגדר לבין CLI בלי זיכרון הוא דרמטי. בלי זיכרון, כל סשן מתחיל מאפס — Copilot לא יודע את המוסכמות שלכם, לא מכיר את הארכיטקטורה, ולא יודע מה כבר ניסיתם. עם זיכרון, הוא מתנהג כמו חבר צוות ותיק שמכיר את הפרויקט לעומק. ההשקעה ביצירת קובץ copilot-instructions.md ובתחזוקה של הזיכרון משתלמת פי כמה בטיב התשובות שתקבלו.
מטרה: ליצור הגדרות זיכרון שישפרו את התשובות של Copilot בפרויקט שלכם
- צרו תיקייה
.github/בשורש הפרויקט (אם לא קיימת) - צרו קובץ
.github/copilot-instructions.mdעם התוכן הבא (התאימו לפרויקט שלכם):# Project Conventions ## Language & Style - TypeScript with strict mode - Use functional components with hooks (React) - Prefer named exports over default exports ## Architecture - API routes in /src/api/ - Database models in /src/models/ - Shared types in /src/types/ ## Testing - Jest for unit tests - Test files next to source: file.test.ts - Minimum 80% coverage for new code ## Important Notes - Never modify migration files after they're committed - All API responses follow the { data, error, meta } format - פתחו סשן CLI חדש בתיקיית הפרויקט
- שלחו:
What conventions should I follow in this project? - ודאו שהתשובה כוללת את ההנחיות שכתבתם — הקובץ נקרא אוטומטית
תוצאה צפויה: קובץ copilot-instructions.md שמגדיר מוסכמות פרויקט, ו-Copilot שמגיב בהתאם.
Auto-compaction — כשהקונטקסט מתמלא
זוכרים את ה-context window (חלון הקונטקסט) מפרק 1? כל שיחה עם Copilot מוגבלת בגודל — המודל יכול "לראות" רק כמות מסוימת של טקסט בכל רגע נתון. הכמות משתנה לפי מודל — Claude Sonnet רואה כ-200K טוקנים, Opus רואה יותר — אבל בכל מקרה יש גבול.
ככל שהסשן מתארך — שולחים פרומפטים, מקבלים תשובות, מריצים כלים — חלון הקונטקסט מתמלא. מה קורה כשמגיעים ל-95% מהקיבולת? Auto-compaction (דחיסה אוטומטית) נכנס לפעולה. זה אחד המנגנונים האלגנטיים של CLI — הוא מאפשר סשנים אינסופיים למעשה, בלי לאבד את ההקשר החשוב. הנה איך זה עובד:
- יוצר checkpoint — שמירת מצב לפני הדחיסה (לשחזור אם צריך)
- מכווץ את ההיסטוריה — שומר סיכומי החלטות ותוצאות, מוריד את הפירוט
- שומר רצפי כלים — כל הכלים שהופעלו ותוצאותיהם נשמרים
- ממשיך ברקע — לא חוסם את העבודה שלכם
מה שורד את הדחיסה ומה נמחק
כדאי להבין מה auto-compaction שומר ומה הוא מוריד:
- נשמר: סיכומי החלטות ("we chose PostgreSQL because..."), תוצאות כלים, רצפי פעולות, שמות קבצים שנערכו
- נמחק: פירוט מילולי מלא, תוכן קבצים ארוך שנקרא, שגיאות ביניים שתוקנו, הסברים ארוכים שכבר סוכמו
בפועל, אחרי דחיסה ה-CLI עדיין "יודע" מה עשיתם ומה החלטתם — אבל לא "זוכר" את כל הפרטים. זה כמו ההבדל בין לזכור שהלכתם לפגישה ומה הוחלט, לבין לזכור כל מילה שנאמרה.
פקודות ניהול קונטקסט
שתי פקודות שחשוב להכיר:
/context— מציג פירוט שימוש בטוקנים: כמה נשאר, כמה כל חלק תופס, ומה ה-breakdown לפי סוג (הודעות, כלים, תשובות)/compact— מפעיל דחיסה ידנית, בלי לחכות ל-95%. מועיל כשמרגישים שהתשובות נהיות פחות מדויקות
אל תחכו ל-auto-compaction. אם אתם באמצע סשן ארוך ומרגישים שהתשובות נהיות פחות מדויקות, הריצו /compact ידנית. מחקרים מראים שאיכות התשובות יורדת כבר ב-60-70% קיבולת, הרבה לפני ש-auto-compaction מופעל.
בסשן CLI, הקלידו /context וצפו בפירוט הטוקנים. כמה אחוזים מהקונטקסט בשימוש? אם אתם מעל 50% — הריצו /compact ובדקו שוב.
MCP ב-CLI — שרתים מותאמים בטרמינל
בפרק 5 למדתם להוסיף MCP Servers (Model Context Protocol) ב-VS Code — שרתים חיצוניים שמרחיבים את יכולות Copilot. הידע הזה מועיל ישירות גם כאן: CLI תומך ב-MCP עם אותו פרוטוקול בדיוק, רק עם קובץ הגדרות אחר. מה שאומר שכל שרת MCP שעובד ב-VS Code — עובד גם ב-CLI, ולהפך.
יש גם יתרון ייחודי ל-CLI: שרת GitHub MCP Server מובנה — הוא מותקן מראש ונותן גישה ישירה ל-GitHub API: issues, pull requests, code search, repository metadata. לא צריך להתקין כלום נוסף.
קובץ הגדרות MCP
במקום .vscode/mcp.json, CLI משתמש ב-~/.copilot/mcp-config.json. הפורמט דומה:
{
"servers": {
"github": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..."
}
},
"filesystem": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
}
}
}
ניהול MCP מתוך CLI
אפשר גם להוסיף ולנהל שרתים ישירות מתוך סשן:
| פקודה | מה עושה |
|---|---|
/mcp add | אשף אינטראקטיבי להוספת שרת חדש |
/mcp show | מציג את כל השרתים המוגדרים והסטטוס שלהם |
/mcp show server-name | מציג פירוט שרת ספציפי + רשימת כלים |
/mcp edit server-name | עריכת הגדרות שרת |
/mcp delete server-name | מחיקת שרת |
סוגי Transport — איך CLI מדבר עם השרת
שלושה סוגי תקשורת — אותם סוגים שהכרתם מפרק 5:
- STDIO (Standard Input/Output) — השרת רץ על המחשב שלכם כתהליך מקומי. CLI מעביר לו הודעות דרך stdin/stdout. הכי נפוץ, הכי פשוט, הכי אמין. זו ברירת המחדל לרוב השרתים
- HTTP (Streamable HTTP) — חיבור לשרת מרוחק דרך פרוטוקול HTTP. מתאים לשרתים שרצים בענן, כמו Azure MCP Server או שרתים מותאמים שמארחים ב-Cloudflare/AWS
- SSE (Server-Sent Events) — גרסה ישנה יותר של תקשורת HTTP שבה השרת שולח אירועים לקליינט. עדיין נתמכת לצורך תאימות אחורה, אבל מסומנת כ-deprecated (מיושנת) בפרוטוקול MCP. אם אפשר, עדיפו HTTP
ההבדל בין MCP ב-VS Code ל-MCP ב-CLI
מבחינת פרוטוקול ויכולות, אין הבדל — אותם שרתים, אותם כלים. ההבדל הוא רק איפה ההגדרות נשמרות:
| ממשק | קובץ הגדרות | scope |
|---|---|---|
| VS Code | .vscode/mcp.json |
לפרויקט ספציפי |
| CLI | ~/.copilot/mcp-config.json |
גלובלי — לכל הפרויקטים |
אם אתם רוצים שרת MCP שזמין בכל פרויקט (כמו GitHub MCP Server) — הגדירו ב-CLI. אם רוצים שרת ספציפי לפרויקט — הגדירו ב-VS Code.
ה-GitHub MCP Server שמגיע מותקן עם CLI נותן גישה ישירה ל-GitHub API בלי שתצטרכו להגדיר כלום. הנה מה שאפשר לעשות איתו:
- לחפש קוד בכל ריפו ב-GitHub:
Search GitHub for examples of rate limiting middleware - לקרוא issues:
Show me the open bugs assigned to me - ליצור ולנהל PRs:
Create a PR for the current branch with a description - לבדוק סטטוס CI:
What's the status of the latest CI run?
זה מה שהופך את CLI ל-one-stop-shop — אתם לא צריכים לעבור ל-GitHub.com בשביל לנהל את תהליך הפיתוח.
מטרה: להוסיף שרת MCP חיצוני ל-Copilot CLI ולוודא שהוא עובד
- בסשן CLI, הריצו:
/mcp add - בחרו server type: stdio
- הגדירו שם:
filesystem - הגדירו command:
npxעם args:-y @modelcontextprotocol/server-filesystem /path/to/your/project - הריצו:
/mcp show— ודאו שהשרת מופיע בסטטוס "connected" - שאלו את Copilot:
Using the filesystem tool, list all files in the project root - אם עובד — מעולה! השרת מחובר ופעיל
תוצאה צפויה: שרת MCP מחובר ב-CLI שנותן ל-Copilot גישה לכלים נוספים.
דגלי Scripting — CLI באוטומציה
הכוח האמיתי של CLI — מעבר לעבודה אינטראקטיבית — הוא שאפשר לשלב אותו בסקריפטים, בתהליכי CI/CD, וב-automation. כל מה שאתם עושים ב-CLI בשיחה אינטראקטיבית, אפשר לעשות גם בשורת פקודה אחת שרצה בסקריפט bash, ב-GitHub Action, או ב-cron job. בשביל זה יש דגלים ייעודיים שמתאימים לשימוש שאינו אינטראקטיבי:
| דגל | מה עושה | דוגמה |
|---|---|---|
-p "prompt" |
הרצת פרומפט בודד — output ויציאה | copilot -p "Summarize recent changes" |
--silent |
מדפיס רק את תשובת הסוכן, בלי סטטיסטיקות | copilot -p "List TODOs" --silent |
--share |
מייצא את תוצאות הסשן לשיתוף | copilot --share |
--available-tools "tool1,tool2" |
מגביל את הכלים שהמודל יכול להשתמש בהם | copilot --available-tools "read,search" |
--resume |
ממשיך את הסשן האחרון | copilot --resume |
דוגמה: סקריפט CI שמריץ code review
#!/bin/bash
# סקירת קוד אוטומטית בתהליך CI
REVIEW=$(copilot -p "Review the staged changes. \
Report ONLY critical bugs and security issues. \
Output as JSON with {severity, file, line, message}" \
--silent --available-tools "read,search")
echo "$REVIEW" > review-report.json
# אם יש בעיות קריטיות — fail the build
if echo "$REVIEW" | jq -e '.[] | select(.severity == "critical")' > /dev/null 2>&1; then
echo "Critical issues found! Failing build."
exit 1
fi
שימו לב לקומבינציה: -p (פרומפט בודד ויציאה) + --silent (פלט נקי בלי noise) + --available-tools (רק read ו-search, בלי כתיבה). זה ה-pattern הבסיסי לשילוב CLI באוטומציה: שליטה מלאה על מה הסוכן יכול לעשות, ופלט נקי שאפשר לנתח בסקריפט.
שימושים נפוצים בסקריפטים
- Code review אוטומטי — כחלק מ-GitHub Action שרץ על כל PR
- תיעוד אוטומטי — סקריפט שמפעיל
copilot -p "Generate API docs for src/api/" --silent - בדיקת conventions — לוודא שקוד חדש עוקב אחרי מוסכמות הפרויקט
- סיכום שינויים — יצירת changelog אוטומטי מ-git diff
הריצו בטרמינל: copilot -p "What is the main language used in this project?" --silent — שימו לב שהפלט נקי, בלי סטטיסטיקות. זה הפורמט שמתאים לסקריפטים.
CLI מול VS Code — מתי להשתמש במה
אחרי שהכרתם את כל היכולות של CLI, שאלה טבעית עולה: אז מתי להשתמש ב-CLI ומתי להישאר ב-VS Code? התשובה: הם לא מתחרים — הם משלימים. מ-VS Code אפשר אפילו לנהל סשנים של CLI דרך ממשק ה-Chat (הסוכן רץ בטרמינל, אתם רואים את הפלט ב-VS Code). הם מיועדים לסוגי משימות שונים.
כלל אצבע פשוט: אם אתם עובדים על קובץ ספציפי ורוצים תוצאה מיידית — VS Code. אם אתם עובדים על פרויקט שלם ומוכנים לחכות כמה דקות — CLI. הנה טבלת ההשוואה המלאה:
| קריטריון | VS Code Copilot | Copilot CLI |
|---|---|---|
| סביבת הרצה | בתוך ה-IDE, אותו תהליך | תהליך נפרד, לא תלוי ב-IDE |
| ביצועים בפרויקט גדול | עלול להאט את ה-IDE | לא משפיע — תהליך נפרד |
| ריצה ברקע | לא — חוסם את העורך | כן — ממשיכים לעבוד בזמן שרץ |
| סשנים מקביליים | סשן אחד בכל פעם | כמה סשנים במקביל |
| עריכה ויזואלית | מצוין — diff, inline edits | טקסט בלבד |
| שרתים מרוחקים (SSH) | דורש Remote-SSH extension | עובד ישירות — זה טרמינל |
| אוטומציה / CI/CD | לא מתאים | מושלם — דגלי scripting |
| שינוי מהיר בקובץ אחד | מצוין — inline chat | overkill |
| refactoring על כל הפרויקט | אפשרי אבל חוסם | אידיאלי — ריצה ברקע |
תרחישים לדוגמה
כדי שהטבלה תהפוך לפרקטית, הנה תרחישים ספציפיים:
- "צריך לתקן באג בשורה 42" — VS Code. זה שינוי ממוקד בקובץ אחד, inline chat מושלם לזה
- "צריך להוסיף TypeScript types לכל הפרויקט" — CLI. זו משימה שמשנה עשרות קבצים, תיקח זמן, ואין סיבה לחסום את ה-IDE
- "רוצה להבין למה ה-test הזה נכשל" — VS Code. הכל בהישג יד: הקובץ, ה-debug output, ה-stack trace
- "תסקור את כל השינויים שעשיתי היום לפני שאני עושה push" — CLI.
/reviewמהטרמינל, מהיר ויעיל - "צריך לבנות GitHub Action שמריץ code review אוטומטי" — CLI בלבד. VS Code לא יכול לרוץ בתוך pipeline
- "עובד על שרת מרוחק ב-SSH" — CLI בלבד. אין IDE, יש טרמינל
הרבה מפתחים מנוסים עובדים עם VS Code פתוח לעריכה + CLI רץ בטרמינל נפרד (או בטרמינל המובנה של VS Code). כשצריכים תיקון מהיר — VS Code. כשצריכים refactoring ארוך, code review, או תכנון — CLI. מ-VS Code אפשר גם לנהל סשנים של CLI דרך ממשק ה-Chat — הסוכן רץ בטרמינל, אתם רואים את ההתקדמות ב-VS Code. הכי טוב משני העולמות.
| פקודה / קיצור | מה עושה | הקשר |
|---|---|---|
copilot | פתיחת סשן אינטראקטיבי | שימוש יומיומי |
copilot -p "..." | פרומפט בודד — output ויציאה | סקריפטים |
copilot --resume | חזרה לסשן האחרון | המשך עבודה |
copilot --continue ID | המשך סשן ספציפי | מספר סשנים |
Shift+Tab | מעבר בין מצבים: Standard/Plan/Autopilot | בתוך סשן |
/model | בחירת מודל ברירת מחדל | הגדרה ראשונית |
/review | סקירת שינויי קוד | לפני commit |
/context | פירוט שימוש בטוקנים | ניטור קונטקסט |
/compact | דחיסה ידנית של ההיסטוריה | סשן ארוך |
/mcp add | הוספת שרת MCP | הרחבת יכולות |
/mcp show | הצגת שרתים מוגדרים | ניהול MCP |
--silent | פלט נקי בלי סטטיסטיקות | סקריפטים |
--available-tools | הגבלת כלים זמינים | אבטחה/סקריפטים |
שמרו את הטבלה הזו — תשתמשו בה הרבה בשבועות הראשונים עם CLI.
בנוסף לשגרה מפרקים קודמים, הוסיפו את הפעולות הבאות:
| תדירות | פעולה |
|---|---|
| יומי | פתחו סשן CLI בתחילת יום עבודה והריצו Explore על שינויים אחרונים |
| יומי | הריצו /review לפני כל commit משמעותי |
| שבועי | בדקו את קובץ .github/copilot-instructions.md ועדכנו מוסכמות חדשות |
| שבועי | הריצו Plan על הפיצ'ר הגדול הבא לפני שמתחילים לכתוב |
| שבועי | בדקו צריכת premium requests ב-github.com/settings/copilot |
| חודשי | עדכנו Copilot CLI לגרסה האחרונה (copilot --version לבדיקה) |
| חודשי | בדקו שרתי MCP ב-CLI — הוסיפו חדשים, הסירו מיותרים |
התקינו את Copilot CLI והריצו סשן Explore על הפרויקט הראשי שלכם. שלחו פרומפט אחד: Give me a complete overview of this project — architecture, tech stack, and the 3 most important files. — תוך 5 דקות תבינו את ה-codebase יותר טוב משעה של קריאת קוד ידנית.
סיכום מהיר: מתי מה
אם עדיין לא ברור מתי להשתמש ב-CLI ומתי ב-VS Code, הנה הנוסחה הפשוטה ביותר:
- אם המשימה לוקחת פחות מ-5 דקות ונוגעת ב-קובץ אחד או שניים — VS Code
- אם המשימה לוקחת יותר מ-5 דקות או נוגעת ב-יותר מ-3 קבצים — CLI
- אם המשימה צריכה לרוץ בלי IDE (CI, SSH, cron) — CLI תמיד
וזכרו: אפשר להשתמש בשניהם בו-זמנית. VS Code לעריכה מהירה, CLI רץ ברקע על refactoring גדול. אין סיבה לבחור אחד בלבד.
- למה CLI עדיף על VS Code למשימות ארוכות שדורשות עיבוד רקע? (רמז: חשבו על תהליכים ומשאבים)
- מה ההבדל בין סוכן Explore לסוכן Plan, ומתי תשתמשו בכל אחד? (רמז: אחד קורא, השני מתכנן)
- איך auto-compaction שומר על איכות העבודה כשהקונטקסט מתמלא? (רמז: checkpoint, סיכום, רצפי כלים)
- מתי Autopilot Mode הוא בחירה נכונה ומתי הוא מסוכן? (רמז: branch, production, premium requests)
- איך שלוש שכבות הזיכרון של CLI שונות זו מזו? (רמז: מקומי, מקומי+, ענן)
ענו על 4 מתוך 5 נכון — עברתם. אם לא, חזרו לסעיפים הרלוונטיים.
Copilot CLI הוא לא סתם "Copilot בטרמינל" — הוא סביבת פיתוח אגנטית מלאה שרצה בתהליך נפרד מה-IDE. היתרון המרכזי שעובר כחוט השני לאורך כל הפרק: הפרדת תהליכים. CLI לא מתחרה עם VS Code על משאבים, וזה מאפשר ריצה ברקע, סשנים מקביליים, ושילוב באוטומציה — דברים שפשוט לא אפשריים מתוך ה-IDE. ארבעת הסוכנים המובנים — Explore, Task, Plan, Code-review — מכסים את רוב המשימות היומיומיות, ומערכת הזיכרון בשלוש שכבות (session state, cross-session recall, Copilot Memory) מבטיחה ש-Copilot הולך ונהיה חכם יותר ככל שאתם משתמשים בו. המפתח לשימוש יעיל: לדעת מתי להשתמש ב-CLI (משימות ארוכות, רקע, אוטומציה) ומתי ב-VS Code (עריכה מהירה, inline changes). בפרק הבא נעבור ל-Fleet ו-Sub-agents — שם תשתמשו ב-CLI כבסיס להרצת מספר סוכנים במקביל, וזרימות עבודה שמפרקות משימות מורכבות לחלקים.
- התקנתי Copilot CLI במחשב שלי
- ביצעתי אימות (authentication) מול GitHub
- הגדרתי מודל ברירת מחדל עם
/model - הרצתי סשן Explore על פרויקט אמיתי
- הפעלתי סוכן Task — הרצתי build או tests
- השתמשתי ב-Plan Mode עם Shift+Tab ובניתי תוכנית לפיצ'ר
- הרצתי
/reviewעל שינויים לפני commit - זיהיתי את שלושת המצבים: Standard, Plan, Autopilot
- בדקתי את תיקיית
~/.copilot/session-state/ - יצרתי קובץ
.github/copilot-instructions.mdבפרויקט שלי - הרצתי
/contextלבדיקת שימוש בטוקנים - הרצתי פרומפט בודד עם הדגל
-p - אני יודע/ת מתי להשתמש ב-CLI ומתי ב-VS Code