יש קובץ אחד ב-Claude Code שקובע עד כמה הוא באמת חכם בפרויקט שלכם - ורוב האנשים מגדירים אותו לא נכון. זה תוכן העניינים ש-Claude קורא אוטומטית בתחילת כל סשן. לקחתי אתכם צעד-אחר-צעד: מה זה, איפה הוא חי, המבנה המנצח, שלד מוכן להעתקה - וכל הטיפים, מאומתים מול הדוקס הרשמיים של Anthropic.
כל סשן של Claude Code מתחיל מאפס - חלון הקשר ריק, בלי זיכרון ממה שהיה אתמול. ה-CLAUDE.md הוא הדרך לתת ל-Claude הוראות קבועות שנטענות אוטומטית בכל פעם. תחשבו עליו כעל תוכן העניינים של הפרויקט: קובץ markdown פשוט שאומר ל-Claude מה הסטאק, איך מריצים, איפה הדברים - כדי שלא תצטרכו להסביר הכל מחדש בכל שיחה.
Claude קורא אותו בתחילת כל סשן, בלי שתבקשו. ההוראות פשוט שם.
לא מכניסים הכל - מצביעים ל-Claude איפה למצוא את מה שצריך.
מגדירים פעם אחת, וזה נשאר לכל השיחות הבאות. לא חוזרים על עצמכם.
טקסט רגיל עם כותרות ובולטים. בלי קוד, בלי הגדרות מסובכות.
בשורה אחת: CLAUDE.md הוא קובץ ההוראות שאתם כותבים, ש-Claude קורא בכל סשן - ההבדל בין עוזר שמכיר את הפרויקט שלכם לבין כזה שמנחש בכל פעם מחדש.
ל-CLAUDE.md יש כמה מיקומים, וכל אחד עם תחום אחר. Claude טוען אותם לפי סדר - מהרחב לספציפי - אז הוראת פרויקט גוברת על הוראה אישית. אלה ארבע הרמות:
בשורש הפרויקט - ./CLAUDE.md או ./.claude/CLAUDE.md. משותף לצוות דרך גיט. כאן שמים ארכיטקטורה, פקודות וקונבנציות.
ב-~/.claude/CLAUDE.md. ההעדפות שלכם שחלות על כל פרויקט במחשב - סגנון קוד, קיצורי דרך אישיים.
ב-./CLAUDE.local.md - העדפות פרטיות שלא נכנסות לגיט (כתובות sandbox, דאטה לבדיקות). מוסיפים ל-.gitignore.
קובץ מנוהל ע"י IT שחל על כל המשתמשים במחשב - מדיניות אבטחה, סטנדרטים. ב-mac: /Library/Application Support/ClaudeCode/CLAUDE.md.
הטריק שמעטים יודעים: Claude קורא CLAUDE.md גם למעלה בעץ התיקיות - מהשורש ועד התיקייה שאתם בה. אז במונורפו אפשר CLAUDE.md כללי בשורש, ועוד אחד ספציפי בכל תת-פרויקט. הכל מצטבר יחד.
אחרי לעבור על עשרות מדריכים והדוקס הרשמיים, זה המבנה שחוזר על עצמו אצל כולם. מסודר מלמעלה למטה, מהכללי לספציפי:
מה הפרויקט הזה עושה, במשפט. ש-Claude יידע על מה הוא עובד.
שפה, פריימוורק, גרסאות, דאטהבייס - העובדות ש-Claude לא יכול לנחש בוודאות.
הפקודות המדויקות: התקנה, הרצה, טסטים, לינט, בילד. זה הסעיף עם ההחזר הכי גבוה, בלי תחרות.
3-5 התיקיות שחשובות ומה כל אחת עושה. הצביעו על קבצים, אל תתארו אותם בפרוזה.
הכללים הספציפיים שלכם: סגנון הזחה, "תמיד להריץ טסטים לפני commit", איפה שמים קבצים.
למה Commands זה הסעיף הקריטי: בלעדיו, Claude ינסה npm test כשהפרויקט שלכם משתמש ב-pnpm vitest, ויבזבז שלושה תורות על דיבוג פקודה שמראש לא הייתה עובדת. תנו לו את הפקודות המדויקות - וחסכתם לעצמכם את זה.
לא צריך לכתוב מאפס. שתי דרכים: או שתתנו ל-Claude לבנות לכם אותו אוטומטית, או שתעתיקו את השלד למטה ותמלאו. הכי טוב - שלבו: הריצו /init, ואז סדרו לפי המבנה.
הפקודה סורקת את הקוד שלכם ובונה CLAUDE.md התחלתי לבד - עם פקודות הבילד, הטסטים והקונבנציות שהיא מגלה. אם כבר יש קובץ, היא מציעה שיפורים במקום לדרוס. התייחסו לתוצאה כאל טיוטה: עברו עליה, תקנו, והשלימו את מה ש-Claude לא יכול היה לנחש.
טיפ קטן שעושה הבדל: כתבו את השלד באנגלית, גם אם אתם חושבים בעברית. ככה כותבים CLAUDE.md בפועל, וזה מה ש-Claude קורא הכי מדויק. את ההסברים לעצמכם אפשר להשאיר בעברית בתוך הערות.
חמישה כללים שמפרידים בין CLAUDE.md שעובד לבין כזה ש-Claude מתעלם ממנו. תפתחו כל אחד:
הדוקס הרשמי אומר: מתחת ל-200 שורות. אבל ה-sweet spot האמיתי נמוך יותר - 80 עד 120 שורות. הקובץ נטען בכל סשן ואוכל מהקשב של Claude, ויש מילים של Anthropic על זה: "קבצים קצרים יותר מייצרים היצמדות טובה יותר". גדול מדי - ו-Claude מתחיל להפיל דברים תוך כדי עבודה.
"עצבו את הקוד יפה" זו לא הוראה - זו משאלה. כתבו דברים קונקרטיים שאפשר לאמת: "השתמשו בהזחה של 2 רווחים" במקום "סדרו את הקוד". "הריצו npm test לפני commit" במקום "תבדקו את השינויים". ככל שההוראה ברורה יותר - Claude יציית לה עקבי יותר.
אל תדביקו בלוקים של קוד לתוך CLAUDE.md - הם מתיישנים ברגע שמישהו משנה את הקובץ המקורי, ואז Claude עובד לפי מידע שגוי. במקום זה הצביעו: "ה-handlers יושבים ב-src/api/handlers/". זה הרעיון של progressive disclosure - אל תגידו ל-Claude הכל, תגידו לו איפה למצוא.
ל-Claude Code יש זיכרון אוטומטי שצובר תובנות לבד תוך כדי עבודה. אם Claude מגלה את כלי הטסטים שלכם תוך סשן אחד ושומר את זה - אתם לא צריכים לבזבז על זה שורה ב-CLAUDE.md. שמרו את הקובץ לדברים שהוא לא יגלה לבד: החלטות ארכיטקטורה, כללי "תמיד תעשה X", פקודות לא סטנדרטיות.
אם שתי הוראות סותרות זו את זו, Claude עלול לבחור אחת באקראי. עברו על ה-CLAUDE.md מדי פעם - גם על הקבצים המקוננים בתת-תיקיות - והסירו הוראות מיושנות או מתנגשות. קובץ נקי וקונסיסטנטי עדיף על קובץ מלא שמבלבל.
ארבע מלכודות נפוצות - אם תימנעו מהן, אתם כבר לפני 90% מהאנשים:
כל פקודה אפשרית + כל כלל קוד. מודל עוקב אחרי ~150-200 הוראות בעקביות סבירה - מעבר לזה הוא מתחיל לפספס.
בלוקים שמתיישנים. הצביעו על קבצים במקום, ותנו ל-Claude לקרוא את הגרסה העדכנית.
"כתוב קוד נקי" לא אומר כלום. הוראה שאי אפשר לאמת - Claude לא יכול לעקוב אחריה.
הפרויקט משתנה, הקובץ נשאר. עדכנו אותו כשמשהו זז - אחרת הוא מטעה.
ארבע יכולות שרוב המדריכים מפספסים - הן שמפרידות בין משתמש מתחיל למקצוען:
במקום קובץ ענק אחד, אפשר לפצל ולייבא קבצים נוספים עם תחביר @path. נתיבים יחסיים ומוחלטים - שניהם עובדים. אפשר אפילו לייבא מהבית כדי לחלוק בין פרויקטים. עומק מקסימלי: 4 שלבי ייבוא.
Claude לא מציית לכלל שהגדרתם? לפני שאתם נכנסים ללחץ - הריצו /memory. הפקודה מראה בדיוק אילו קבצי CLAUDE.md טעונים כרגע ובאיזה סדר. אם הקובץ שלכם לא ברשימה - Claude פשוט לא רואה אותו, וזו הבעיה.
מעבר ל-CLAUDE.md שאתם כותבים, Claude מנהל זיכרון משלו - הוא שומר תובנות, פקודות בילד והעדפות שהוא מגלה תוך כדי. כשאתם מתקנים אותו, הוא לומד. רוצים שיזכור משהו ספציפי? פשוט תגידו לו "תזכור ש...". רוצים שזה ייכנס דווקא ל-CLAUDE.md? תגידו "תוסיף את זה ל-CLAUDE.md".
לפרויקטים גדולים: במקום לדחוס הכל ל-CLAUDE.md, אפשר לפצל לקבצים נפרדים ב-.claude/rules/. כל קובץ על נושא אחד (טסטים, אבטחה, עיצוב). אפשר אפילו להגביל חוק לנתיבים מסוימים - והוא ייטען רק כש-Claude נוגע בקבצים האלה. ככה לא מבזבזים קשב על מה שלא רלוונטי כרגע.
הטיפ שמחזיר הכי הרבה: אל תנסו לכתוב CLAUDE.md מושלם ביום אחד. הריצו /init, סדרו אותו לפי 5 הסעיפים, ותנו לו לחיות. בכל פעם ש-Claude עושה טעות פעמיים, או שאתם מקלידים אותו תיקון בפעם השנייה - זה הסימן להוסיף שורה. ככה הקובץ נבנה נכון, מהשטח, במקום מהראש.
CLAUDE.md הוא הצעד הראשון. בליווי האישי אני בונה איתכם מערכת AI מלאה - מסוכנים שעובדים בשבילכם 24/7 ועד אוטומציות שמייצרות לידים בזמן שאתם ישנים.
15 דקות ייעוץ בחינם