|
| 1 | +# דוח מחקר מעמיק: "Use code review" ב‑GitHub Copilot Agents |
| 2 | + |
| 3 | +## תקציר מנהלים |
| 4 | + |
| 5 | +דף התיעוד **"Use code review"** מתאר כיצד להפעיל סקירת קוד באמצעות GitHub Copilot במספר ממשקים: |
| 6 | +- באתר GitHub (כ‑Reviewer ב‑Pull Request) |
| 7 | +- ב‑Visual Studio Code (סקירה של Selection או כל השינויים שלא בוצע להם commit) |
| 8 | +- ב‑JetBrains IDEs |
| 9 | +- ב‑Visual Studio |
| 10 | +- ב‑Xcode |
| 11 | +- ב‑GitHub Mobile |
| 12 | + |
| 13 | +הדף מדגיש שסקירת Copilot משאירה תמיד Review מסוג **Comment** בלבד (לא Approve / Request changes), ולכן אינה נספרת לאישורים נדרשים ואינה חוסמת מיזוג. |
| 14 | + |
| 15 | +לפי המסמכים הרשמיים של GitHub, בעת בקשת סקירה Copilot מרכיב Prompt מתוך ה‑diff יחד עם הקשר נוסף (כמו כותרת ותיאור PR) והנחיות מותאמות (Custom instructions), ושולח אותו למודל שפה גדול. לכן איכות ה‑PR description וה‑Custom instructions משפיעה ישירות על איכות הביקורת. |
| 16 | + |
| 17 | +מבחינת עלויות: כל סקירה (ב‑PR או ב‑IDE) צורכת **Premium request** אחד. |
| 18 | + |
| 19 | +--- |
| 20 | + |
| 21 | +## פירוק אופרטיבי של דף "Use code review" |
| 22 | + |
| 23 | +### סקירה באתר GitHub על Pull Request |
| 24 | +1. נכנסים ל‑PR קיים או יוצרים PR חדש. |
| 25 | +2. פותחים את תפריט **Reviewers** ובוחרים **Copilot**. |
| 26 | +3. ממתינים לתוצאות (בדרך כלל פחות מ‑30 שניות). |
| 27 | +4. קוראים את ההערות בטיימליין של ה‑PR. |
| 28 | +5. מתייחסים להערות כמו להערות Reviewer אנושי: reply, reaction, resolve, hide. |
| 29 | + |
| 30 | +> תזכורת קריטית: Copilot תמיד משאיר Comment review בלבד ולכן לא נספר ל‑Required approvals ולא חוסם merge. |
| 31 | +
|
| 32 | +### עבודה עם Suggested changes + Copilot coding agent |
| 33 | +- קבלת Suggested changes ידנית (יחיד/קבוצה) ואז commit. |
| 34 | +- או לחיצה על **Implement suggestion** על הערת סקירה: |
| 35 | + - נוצרת טיוטת תגובה (draft comment) להנחיית Copilot. |
| 36 | + - Copilot מייצר PR חדש כנגד אותו branch עם התיקונים. |
| 37 | + |
| 38 | +### VS Code |
| 39 | +- **Review Selection** דרך Copilot Menu. |
| 40 | +- **Review Uncommitted Changes** דרך Copilot Menu. |
| 41 | +- ליישום הצעה: **Apply and Go To Next** (ללא commit אוטומטי). |
| 42 | + |
| 43 | +### JetBrains IDEs |
| 44 | +`Tools → GitHub Copilot → Review current changes with GitHub Copilot` |
| 45 | + |
| 46 | +### Visual Studio |
| 47 | +ב‑Git Changes לוחצים: |
| 48 | +`Review changes with Copilot` |
| 49 | + |
| 50 | +### Xcode |
| 51 | +1. `Editor → GitHub Copilot → Open Chat` |
| 52 | +2. לחיצה על כפתור **Code Review** בחלון הצ'אט. |
| 53 | + |
| 54 | +### GitHub Mobile |
| 55 | +1. פתיחת PR |
| 56 | +2. גלילה ל‑Reviews והרחבה |
| 57 | +3. `Request Reviews` → הוספת Copilot → `Done` |
| 58 | + |
| 59 | +--- |
| 60 | + |
| 61 | +## תרשים זרימה (PR Path) |
| 62 | + |
| 63 | +```mermaid |
| 64 | +flowchart TD |
| 65 | + A[פתח/צור Pull Request] --> B[הוסף Copilot כ-Reviewer] |
| 66 | + B --> C[Copilot מייצר Comment review] |
| 67 | + C --> D{יש Suggested changes?} |
| 68 | + D -- כן --> E[החל ידנית / קבץ והתחייב ב-commit] |
| 69 | + D -- כן --> F[Implement suggestion + הנחיית Copilot coding agent] |
| 70 | + F --> G[Copilot יוצר PR חדש מול אותו branch] |
| 71 | + E --> H[אינטראקציה עם הערות: תגובות/Resolve/Hide] |
| 72 | + G --> H |
| 73 | + H --> I[Re-review / Human review] |
| 74 | + I --> J[Merge לפי מדיניות ארגונית] |
| 75 | +``` |
| 76 | + |
| 77 | +--- |
| 78 | + |
| 79 | +## דרישות מקדימות, הרשאות והגדרות |
| 80 | + |
| 81 | +### זכאות ותוכניות |
| 82 | +- Copilot code review זמין בתוכניות Copilot Pro, Pro+, Business, Enterprise. |
| 83 | +- ב‑Copilot Free יכולת code review מוגבלת (למשל Review selection ב‑VS Code). |
| 84 | + |
| 85 | +### מדיניות ארגונית ו‑Preview |
| 86 | +- בארגון יש תלות במדיניות Copilot להפעלת code review. |
| 87 | +- יש יכולות preview שדורשות Opt‑in (AI Controls / Copilot in GitHub.com). |
| 88 | +- על שימוש ב‑preview חלים תנאי Pre‑release License Terms. |
| 89 | + |
| 90 | +### סקירות אוטומטיות |
| 91 | +שלוש רמות: |
| 92 | +1. ברמת המשתמש (PRs שאתה יוצר). |
| 93 | +2. ברמת ריפו (Rulesets). |
| 94 | +3. ברמת ארגון (Rulesets עם Include/Exclude patterns). |
| 95 | + |
| 96 | +### Custom instructions |
| 97 | +- Repository‑wide: `.github/copilot-instructions.md` |
| 98 | +- Path‑specific: `.github/instructions/*.instructions.md` עם `applyTo`. |
| 99 | +- ניתן להחריג agent מסוים עם `excludeAgent: "code-review"`. |
| 100 | +- קיימת תמיכה גם בהוראות Agent בקבצי `AGENTS.md` (עם קדימות לפי עומק נתיב). |
| 101 | + |
| 102 | +--- |
| 103 | + |
| 104 | +## מגבלות, אבטחה ופרטיות |
| 105 | + |
| 106 | +### מגבלות תפקודיות |
| 107 | +- Comment review בלבד (לא מאשר ולא חוסם). |
| 108 | +- ייתכנו false positives / החמצות / הצעות לא מאובטחות. |
| 109 | +- נדרשת סקירה אנושית משלימה. |
| 110 | +- אין Model switching ב‑Copilot code review. |
| 111 | + |
| 112 | +### קבצים שלא נבדקים |
| 113 | +- קבצים/נתיבים מוחרגים מראש (למשל lock files, `*.svg`, `node_modules`, `vendor`, `generated`). |
| 114 | +- Content exclusion policy מונעת סקירה של קבצים מושפעים. |
| 115 | + |
| 116 | +### שיקולי פרטיות |
| 117 | +- הפרומפט כולל diff + הקשר PR + instructions. |
| 118 | +- Content exclusion יכול להיות מוגדר ע"י Repo admins / Org owners / Enterprise owners. |
| 119 | +- יש מגבלות (למשל חשיפה סמנטית עקיפה דרך IDE, symlinks, remote filesystem). |
| 120 | + |
| 121 | +--- |
| 122 | + |
| 123 | +## חיוב ועלויות |
| 124 | + |
| 125 | +- כל Copilot code review צורך Premium request אחד. |
| 126 | +- האיפוס מתבצע חודשית (UTC). |
| 127 | +- Copilot Free כולל 50 Premium requests לחודש. |
| 128 | +- בתוכניות בתשלום יש מכסות גבוהות יותר ואפשרות לרכישת requests נוספים. |
| 129 | +- בסקירה אוטומטית לכל PR חדש, הצריכה מיוחסת למגיש ה‑PR. |
| 130 | + |
| 131 | +--- |
| 132 | + |
| 133 | +## השוואה בין מסמכי תיעוד רשמיים (תקציר) |
| 134 | + |
| 135 | +| מסמך | מיקוד | הערה מרכזית | |
| 136 | +|---|---|---| |
| 137 | +| Use code review | הפעלה מעשית בכלים שונים | סקירה תמיד מסוג Comment | |
| 138 | +| About Copilot code review | קונספט, מגבלות, runners | תלות במדיניות ותמיכת סביבה | |
| 139 | +| Configure automatic review | אוטומציה ברמת משתמש/ריפו/ארגון | שימוש Premium מיוחס למגיש PR | |
| 140 | +| Content exclusion | החרגות תוכן | קבצים מושפעים לא נסקרים | |
| 141 | +| Requests in Copilot | מודל חיוב Premium | כל סקירה = Premium request אחד | |
| 142 | +| Plans for Copilot | מטריצת יכולות לפי תוכנית | ב‑Free יש מגבלות יכולת | |
| 143 | +| Responsible use | סיכונים והנחיות איכות | חובה לשלב review אנושי | |
| 144 | + |
| 145 | +--- |
| 146 | + |
| 147 | +## תבניות שימוש מוכנות בעברית |
| 148 | + |
| 149 | +### 1) VS Code Prompt file: `/review-code` |
| 150 | +```bash |
| 151 | +/review-code focus=security |
| 152 | +``` |
| 153 | +או: |
| 154 | +```bash |
| 155 | +/review-code focus=אימות קלט, הרשאות, סודות בקוד, ו-OWASP Top 10 רלוונטי |
| 156 | +``` |
| 157 | + |
| 158 | +### 2) תבנית PR description |
| 159 | +```md |
| 160 | +מטרה |
| 161 | +- מה הבעיה/הפיצ'ר ולמה עכשיו? |
| 162 | + |
| 163 | +שינויי מפתח |
| 164 | +- (3–7 נקודות) מה השתנה ומה נשאר אותו דבר |
| 165 | + |
| 166 | +הקשר טכני |
| 167 | +- API/DB/קונפיג מושפעים |
| 168 | +- הנחות/תלויות (flags, env vars, migrations) |
| 169 | + |
| 170 | +סיכוני רגרסיה |
| 171 | +- אזורים רגישים |
| 172 | +- מה לא כוסה ב-PR זה |
| 173 | + |
| 174 | +בדיקות |
| 175 | +- Unit: |
| 176 | +- Integration/E2E: |
| 177 | +- Manual: |
| 178 | + |
| 179 | +בקשות Reviewer |
| 180 | +- התמקדו במיוחד ב: [אימות קלט | הרשאות | ביצועים | תאימות לאחור | שגיאות] |
| 181 | +``` |
| 182 | + |
| 183 | +### 3) תבנית Implement suggestion ל‑Copilot coding agent |
| 184 | +```text |
| 185 | +יישם את ההצעה בהערת הסקירה הזו, אבל: |
| 186 | +1) אל תשנה התנהגות API חיצונית ללא עדכון תיעוד/בדיקות. |
| 187 | +2) הוסף/עדכן בדיקות יחידה שמוכיחות שהבאג תוקן. |
| 188 | +3) שמור על סגנון קוד קיים ואל תבצע refactor לא קשור. |
| 189 | +4) אם יש כמה דרכי תיקון — בחר הפשוטה ביותר והסבר למה. |
| 190 | +``` |
| 191 | + |
| 192 | +### 4) תבנית `.github/copilot-instructions.md` |
| 193 | +```md |
| 194 | +## כללי סקירה והמלצות שינוי |
| 195 | +- תן עדיפות לתיקונים שמוסיפים/מחדדים בדיקות יחידה. |
| 196 | +- אל תציע פתרונות שמוסיפים סודות לקוד/לוגים. |
| 197 | +- לכל הערה: ציין השלכה (אבטחה/ביצועים/תחזוקה) והצע תיקון קונקרטי. |
| 198 | +- אם מדובר בשינוי API/DB, הדגש תאימות לאחור והצע צעדי מיגרציה. |
| 199 | +``` |
| 200 | + |
| 201 | +--- |
| 202 | + |
| 203 | +## המלצות לשיפור דף "Use code review" |
| 204 | + |
| 205 | +1. להוסיף סעיף קצר של עלויות/תקרות בתחילת הדף. |
| 206 | +2. להוסיף Troubleshooting לתרחישים נפוצים (Copilot לא מופיע, סקירה חלקית וכו'). |
| 207 | +3. לקשר בצורה מודגשת למדיניות Preview / AI Controls. |
| 208 | +4. להבהיר תלות מינימלית להפעלת Copilot coding agent סביב Implement suggestion. |
| 209 | +5. לשלב בדף תקציר ברור של "מה נשלח למודל" (diff + PR context + instructions). |
0 commit comments