מדריך גרוק CLI בעברית

פרק 6

קובץ AGENTS.md, כללי פרויקט וזיכרון חוצה סשנים

ב-Grok CLI פועלים שני מנגנונים נפרדים לשמירת ידע והנחיות:

  1. כללי פרויקט (AGENTS.md): מגדירים לסוכן כיצד לפעול בפרויקט הספציפי (מוסכמות קוד, פקודות בדיקה ודפוסי ארכיטקטורה). מנגנון זה פעיל תמיד כברירת מחדל.
  2. זיכרון חוצה-סשנים (Cross-Session Memory): שומר עובדות, העדפות ותובנות בין שיחות וסשנים שונים. מנגנון זה הוא ניסיוני וכבוי כברירת מחדל.

הבנת ההבדל בין שני המנגנונים ושימוש נכון בהם מייצרים סביבת עבודה עקבית ומדויקת.

#כללי פרויקט וסדר גילוי הקבצים

בעת הפעלת סשן, Grok CLI סורק את תיקיית העבודה ומחפש קובצי הגדרות לפי סדר השמות הבא:

  1. Agents.md
  2. Claude.md
  3. CLAUDE.md
  4. CLAUDE.local.md
  5. AGENT.md
  6. AGENTS.md

במידה וקיימים מספר קבצים מאותה רשימה באותה תיקייה, כולם נטענים להקשר (במערכות קבצים שאינן מבחינות בין אותיות גדולות לקטנות, שמות זהים נטענים פעם אחת).

בנוסף, המערכת סורקת קובצי Markdown נוספים במיקומים הבאים:

מיקום התיקייהמתי נטעןהיקף השפעה
<project-dir>/.grok/rules/*.mdתמידפרויקט נוכחי
$GROK_HOME/rules/*.md (בדרך כלל ~/.grok/rules/)תמידגלובלי לכל הפרויקטים של המשתמש
<dir>/.claude/rules/*.md ו-~/.claude/rules/*.mdתאימות לקלוד (דלוקה כברירת מחדל)פרויקט ומשתמש
<dir>/.cursor/rules/*.md ו-~/.cursor/rules/*.mdתאימות ל-Cursor (דלוקה כברירת מחדל)פרויקט ומשתמש

#היררכיית טעינה במונורפו (Monorepo)

בתוך מאגר קוד (Git Repository), Grok CLI סורק את העץ החל משורש המאגר ועד לתיקיית העבודה הנוכחית (CWD) וממזג את כל הכללים. קבצים הממוקמים עמוק יותר בעץ התיקיות מופיעים מאוחר יותר בהקשר המערכת, ולכן הנחיותיהם מקבלות קדימות במידה וקיימת סתירה.

קבצים המוגדרים ב-.gitignore אינם נטענים במהלך הגילוי האוטומטי. זהו פתרון מעולה ליצירת קובצי כללים מקומיים ואישיים (כגון CLAUDE.local.md) שאינם נכנסים לבקרת גרסאות.

#מה מומלץ לכתוב בקובץ AGENTS.md

קובץ AGENTS.md איכותי צריך להיות תמציתי, מעשי וברור. אין צורך להעתיק אליו את כל ה-README של הפרויקט, אלא לרכז מוסכמות שאינן ברורות מאליהן מתוך הקוד:

# תקני קידוד ומוסכמות

- יש להשתמש ב-TypeScript בכל קובץ חדש עם טיפוסים מפורשים (ללא שימוש ב-any).
- רכיבי UI ייכתבו כרכיבים פונקציונליים תוך שימוש ב-React Hooks.
- משתנים יוגדרו באמצעות `const` כברירת מחדל.
- טיפול בשגיאות יתבצע באמצעות מנגנון Result/Either ולא על ידי זריקת חריגות שקטות.

# פקודות בדיקה ובנייה

- הרצת בדיקות יחידה: `npm test`
- בדיקת לינטר ועיצוב: `npm run lint`
- בניית הפרויקט: `npm run build`
- לפני כל קומיט: יש לוודא ש-`npm test` עובר בהצלחה מלאה.

בפרויקטי Monorepo, הניחו כללים כלליים בשורש המאגר, וכללים ספציפיים עבור מודולים נפרדים (כמו packages/frontend/AGENTS.md או services/backend/AGENTS.md).

#הזרקת כללים דרך ה-CLI ובדיקת תצורה

ניתן להוסיף כללים חד-פעמיים לסשן ספציפי ישירות משורת הפקודה:

grok --rules "Always use strict TypeScript. Never use any."

כדי להחליף לחלוטין את הנחיית המערכת (System Prompt):

grok --system-prompt-override "You are a code reviewer. Only analyze code and never edit files."

כדי לבדוק אילו כללים, קבצים ותצורות נטענו בפועל עבור התיקייה הנוכחית, הריצו:

grok inspect

הפקודה תציג פירוט מלא של כל המקורות הפעילים בסביבה.

#זיכרון חוצה-סשנים (ניסיוני)

מנגנון הזיכרון שומר עובדות והעדפות בין הפעלות שונות של Grok CLI. כברירת מחדל המנגנון כבוי, כך שכל סשן מתחיל כדף חלק.

#הפעלת הזיכרון

ניתן להפעיל את הזיכרון בסשן ספציפי:

grok --experimental-memory

או להגדיר אותו כפעיל קבוע בקובץ התצורה ~/.grok/config.toml:

[memory]
enabled = true

או באמצעות משתנה סביבה: export GROK_MEMORY=1. שימוש בדגל --no-memory מכבה תמיד את הזיכרון, גם אם הוא מופעל בקובץ התצורה.

בתוך סשן פעיל, ניתן לשנות את המצב באמצעות /memory on או /memory off.

#מבנה שמירת הזיכרון בדיסק

נתיב שמירהתכולה
~/.grok/memory/MEMORY.mdעובדות והעדפות גלובליות התקפות לכל הפרויקטים של המשתמש
~/.grok/memory/<repo-slug>-<hash>/MEMORY.mdידע, החלטות והקשר ספציפיים למאגר הקוד הנוכחי
~/.grok/memory/<repo-slug>-<hash>/sessions/סיכומים מתומצתים של סשנים שהסתיימו

שכפולים (Clones) שונים ו-Worktrees של אותו מאגר Git (החולקים את אותו remote origin) משתמשים באותה תיקיית זיכרון באופן משותף.

#פעולות זיכרון מרכזיות

  • שמירה מיידית: הפקודה /remember <הערה> שומרת עובדה לזיכרון מיד לאחר אישור המשתמש.
  • סיכום עשיר: הפקודה /flush מפעילה סיכום מבוסס מודל של הסשן ושומרת אותו לזיכרון (מומלץ לבצע לפני /compact).
  • איחוד יומנים: הפקודה /dream מאחדת יומני סשנים קודמים לתוך נושאים מרכזיים.
  • איפוס זיכרון: הפקודה grok memory clear --workspace או grok memory clear --all מנקה את קובצי הזיכרון שנצברו.

[!IMPORTANT] קובץ AGENTS.md מספק הכוונה והקשר, אך אינו מהווה מנגנון אכיפה ואבטחה קשיח. אם עליכם לחסום פעולות מסוכנות (כמו מחיקת קבצים או הרצת פקודות רגישות), יש להשתמש ב-Hooks או בכללי הרשאות מפורשים (deny), כפי שיוסבר בפרק הבא.