איך שומרים קובצי הקשר וכללי Cursor מעודכנים?
בפוסט שלי על קובצי הקשר סיפרתי שבדיקה בפרויקט מצאה תיאור של שש חבילות SDK, כשבפועל כבר היו עשר. אחר כך סריקה העלתה 124 הפניות שנראו מתות, ורק ארבע מהן היו בעיה אמיתית. אלו מספרים מאותו מקרה, לא שיעור תקלות שאפשר להשליך על צוותים אחרים.
בקצרה
בודקים טענות מול הקוד הנוכחי, מצמידים את הבדיקה לשינוי שיכול ליישן אותן ומבחינים בין תקלה אמיתית לבין דוגמה או מסמך היסטורי. הסוכן מדווח רק על פער שניתן להסביר ולהוכיח.
תשובה קצרה: בודקים טענות מול הקוד הנוכחי, מצמידים את הבדיקה לשינוי שיכול ליישן אותן ומבחינים בין תקלה אמיתית לבין דוגמה או מסמך היסטורי. הסוכן מדווח רק על פער שניתן להסביר ולהוכיח.
כלל שגוי שמצורף לכל משימה יכול להטעות את הסוכן שוב ושוב. קובץ הקשר הוא חלק מתהליך הפיתוח, ולכן גם הוא צריך תחזוקה.
מתחילים במה שבאמת נטען
בחרו טענות שאפשר לאמת: מיקום חבילה, פקודת בדיקה, שם שירות, נתיב או מספר רכיבים. לכל טענה חפשו מקור בקוד, בקובץ הגדרות או בתיעוד הנוכחי. אם אין מקור מספיק, סמנו "דורש בדיקה" במקום לקבוע שהטענה שגויה.
בודקים את סוג הכלל
לפי תיעוד Cursor הנוכחי, כללי פרויקט נשמרים בקובצי .mdc בתיקיית .cursor/rules. שדות כמו description, globs ו-alwaysApply קובעים מתי הכלל מצורף. כלל עם alwaysApply: true נכלל בכל שיחה, ולכן טענה מיושנת בתוכו מקבלת תפוצה רחבה.
לכלל שחל רק על חלק מהקוד אפשר להגדיר דפוסי קבצים מתאימים. למסמך הוראות פשוט אפשר להשתמש ב-AGENTS.md. בדקו שהפורמט והמיקום תואמים לכלי שלכם, ולא רק שהקובץ קיים בריפו.
נותנים לסריקה הקשר
נתיב שלא קיים הוא התחלה של בדיקה, לא מסקנה. הוא יכול להיות דוגמה, פלט שנוצר בזמן ריצה, תוכן שמוחרג מגיט או תכנון שנשמר לצורך היסטוריה.
בדקו ליד כל ממצא: מה המסמך מנסה להסביר, האם הקובץ היה אמור להתקיים עכשיו, והאם השינוי הנוכחי שבר את ההפניה. אפשר להשאיר מסמך היסטורי ולסמן אותו ככזה במקום לשכתב אותו כאילו הוא מתאר את המערכת היום.
מחברים את העדכון לשינוי
כשנוסף שירות, משתנה מבנה תיקיות או מתחלפת פקודת בדיקה, בדקו את ההוראות שמתארות אותו באותו שינוי. ביקורת שקרובה לקוד ששונה מקבלת יותר הקשר מסריקה כללית חודשים אחר כך.
בתיעוד Cursor ממליצים להפנות לדוגמאות קנוניות במקום להעתיק תוכן שכבר קיים בקוד. הפניה מצמצמת כפילות, אבל עדיין צריך לבדוק שהיא תקפה ושהדוגמה עצמה מתאימה.
מבקשים דוח קצר עם ראיה
פרומפט להמחשה:
"בדוק את קובצי ההקשר שקשורים לשינוי הזה. לכל פער הצג את המשפט במסמך ואת המקור העדכני שסותר אותו. הבחֵן בין דוגמה, מסמך היסטורי ותקלה. הצע תיקון קטן רק כשיש ראיה. אם הכול תקין, סיים בלי הערות מיותרות."
שקט אינו ויתור על בדיקה. הוא תוצאה תקינה כשהסוכן לא מצא פער שמצדיק את תשומת הלב של הצוות.
בודקים שהכלל עוזר
אחרי עדכון, נסו משימה קטנה שעליה הכלל אמור לחול. בדקו שהסוכן משתמש בנתיב, בפקודה או בהנחיה המעודכנים. עצם שמירת הקובץ אינה מוכיחה שהכלי טען אותו או שההנחיה שיפרה את התוצאה.
התחילו מכמה כללים שחוזרים בעבודה. הוסיפו כלל כשנמצאת טעות חוזרת, והסירו כפילות שכבר מטופלת בקוד או בכלי בדיקה.
מקורות ופרטים נוספים
התהליך מתואר מניסיונו של הכותב. המחירים, כשמופיעים, הם מחירי השירות שלו ולא נתוני שוק.
שאלות נפוצות
מתי כדאי לבדוק שקובצי ההקשר מעודכנים?
כששינוי בקוד משפיע על המבנה, השירותים או פקודות העבודה שמתוארים בהם, ובסקירה תקופתית של כללים שחלים באופן קבוע.
האם כל הפניה לקובץ חסר היא תקלה?
לא. צריך לבדוק אם זו דוגמה, פלט שנוצר בזמן ריצה, תוכן שמוחרג מגיט או מסמך היסטורי.
מה ההבדל בין קובץ .mdc לבין AGENTS.md?
ב-Cursor קובצי .mdc בתיקיית .cursor/rules כוללים metadata לשליטה בתחולה. AGENTS.md הוא חלופה פשוטה בפורמט Markdown.