fitcon × AI Workflow · שיעור 3 מתוך 3
מטיקט ל-PR ממוזג:
Implement ← Review ← Merge
התמונה השלמה
שלב 1: ⚙️ Implement — נותנים ל-AI לבצע
בוחרים טיקט מה-frontier (שיעור 2), ומריצים את הביצוע. שימו לב: הטיקט כבר מגדיר מה צריך לקרות (זו הנקודה כולה!), והאייג'נט עובד על branch חדש — לא על main.
ניקח את הטיקט #NN. קודם: תעשה pull לmain המעודכן, ותפתח branch חדש בשם tickets/NN-שם-קצר. ואז תממש את הטיקט לפי קריטריוני הקבלה שלו — בגישת TDD: קודם טסט שנכשל, אחר כך קוד שמעביר אותו. בין שלבים תריץ טסטים וtypecheck. אם משהו בטיקט לא ברור — תשאל אותי לפני שאתה מניח הנחות.
💡 מה זה TDD? (שורה אחת)
Test-Driven Development = קודם כותבים "בחנות" אוטומטיות שמתארות איך התכונה צריכה להתנהג (הן נכשלות), ואז כותבים קוד עד שהן עוברות. יתרון לשותפות שלנו: הבדיקות מוכיחות שהקוד שלך לא שבר את הקוד של השותף.
כשהאייג'נט מסיים, מבקשים ממנו לסקור את עצמו לפני שמציגים לשותף:
עכשיו תריץ code-review על מה שעשינו: תבדוק דרישות מהטיקט, מקרי קצה, אבטחה וביצועים, ותריץ את כל הטסטים. תתקן כל מה שתמצא, ותן לי בסוף סיכום: מה שונה, מה נבדק, ומה עוד עלול להיות בעייתי.
שלב 2: 🔍 PR — השותף נכנס לתמונה
תפתח Pull Request מהbranch שלנו לmain. בתיאור: מה נעשה ולמה, ובסוף השורה Close #NN כדי שהטיקט ייסגר אוטומטית עם המיזוג. תן לי את הקישור לPR.
ה-Close #NN בתיאור הוא קסם קטן של GitHub: ברגע המיזוג, הטיקט נסגר לבד. אפס ניהול כפול.
איך סוקרים PR בלי טרמינל (דפדפן בלבד)
- פתח את הקישור ל-PR ב-GitHub. למעלה תמצא את התיאור; למטה — שיחה.
- לחץ על הלשונית Files changed: כל השינויים מוצגים בירוק (נוסף) ואדום (נמחק).
- רוצה להגיב על שורה? תעבור עם העכבר על השורה, לחץ על
+הכחול וכתוב הערה בעברית. - סיימת לבדוק? בלשונית Conversation לחץ על Review changes ובחר: ✅ Approve ("אושר") או 🔄 Request changes ("תקנו וחזרו אליי").
⚠️ חוק הזהב של השותפות
PR לא ממוזג עד שהשותף סקר ואישר. אפילו אם אתה מאוד בטוח בעצמך — במיוחד אז. ה-review הוא גם בקרת איכות וגם הדרך שלך לדעת מה קורה בפרויקט.
שלב 3: ✅ Merge — והכל חוזר הביתה
אחרי שהשותף אישר (Approve), מבקשים מהאייג'נט:
הPR אושר על ידי השותף. תמזג אותו לmain, תמחק את הbranch, תעשה pull לmain המעודכן — ותן לי סיכום של מה נכנס עכשיו לגרסה הרשמית.
מה שקורה עכשיו אוטומטית: הטיקט נסגר (Close #NN), ה-frontier מתעדכן — והטיקטים שחיכו לו נפתחים לעבודה. המחזור מתחיל מחדש. 💫
🚧 מה קורה כשיש קונפליקט?
קונפליקט = אתה והשותף שיניתם את אותן שורות באותו קובץ, ו-Git לא יודע לבד איזו גרסה "נכונה". זה לא כשל שלך ולא קטסטרופה — זה רגע שדורש החלטה אנושית. הכלל:
💚 כלל הקונפליקט: לא מתקנים ידנית — מדברים
אל תנסה לתקן קבצים בעצמך ואל תלחץ על כפתורים אקראיים ב-GitHub. העבר את הבעיה לאייג'נט עם הפרומפט שלמטה, והוא יציג לך את שתי הגרסאות ויבקש החלטה.
יש קונפליקט בין הbranch שלי לmain. אל תדרוס כלום ואל תחליט לבד. תסביר לי בעברית פשוטה: באילו קבצים יש התנגשות, מה הגרסה שלי ומה של השותף, ומה לדעתך נכון לעשות בכל אחת. תחכה לאישור שלי לפני כל שינוי.
🤝 פרוטוקול העבודה המקבילה — החוקים של השותפות
| # | החוק | למה |
|---|---|---|
| 1 | לפני כל משימה: pull + branch חדש | עובדים תמיד על הבסיס הכי חדש |
| 2 | אף אחד לא דוחף ישירות ל-main — רק דרך PR | main תמיד יציב ועובד |
| 3 | טיקט אחד פתוח לכל אחד בכל רגע | סיום אחד ← PR ← merge ← הבא. לא לפצל לחמישה חזיתות |
| 4 | merge מהר — PR שיושב ימים מתיישן | ככל ש-PR פתוח יותר זמן, כך main זז והקונפליקטים צומחים |
| 5 | שניכם על אותו אזור? מדברים קודם | חצי דקה של WhatsApp חוסכת שעת קונפליקט |
| 6 | כל בעיה של Git — פרומפט לאייג'נט, לא ידיים | ידיים על הטרמינל = המקום שבו דברים נשברים |
בוא נבדוק שהבנת 🔍
חידון — שיעור 3
🎯 תרגיל סיום — מחזור מלא מ-A עד Z
הרץ מחזור אחד שלם על טיקט קטן ואמיתי (למשל #11 — i18n: חילוץ מחרוזות עברית). סמן תוך כדי:
- שאלתי את האייג'נט מה ה-frontier ובחרתי טיקט
- pull + branch חדש — והאייג'נט אישר באיזה branch אנחנו
- implement עם TDD — הטסטים ירוקים בסוף
- code-review — האייג'נט מצא ותיקן משהו (אם לא מצא כלום, תן לו להסביר למה)
- PR נפתח עם
Close #NNבתיאור - השותף סקר בדפדפן ולחץ Approve (או Request changes ← תיקון ← עוד פעם)
- merge + מחיקת branch + pull — והטיקט נסגר לבד
🏆 עשית את זה? יש לך כעת את מלוא ה-workflow. כל השאר הוא חזרה על אותו מעגל.
📖 המקור המומלץ להעמקה
GitHub Docs — About pull requests: ההסבר הרשמי והקצר על PRs — מה קורה בכל לשונית בדף שראית היום בפעם הראשונה.
❓ נתקעת בתרגיל? תעתיק לאייג'נט את השורה האחרונה שהוצגה לך ותשאל: "אני כאן, לא בטוח מה הצעד הבא — תדריך אותי."