# רשימת בדיקה למוד ראשון ב־Claude Code: גרסה, בנייה, בדיקה, עדכון ושיתוף

מקור: המדריך "Claude Code mods: מדריך מעשי לבנייה, בדיקה ותקלות שכדאי להכיר" באתר אוטומציה (otomatzia.com/he/guides/claude-code-mods).

## 1. בונים מוד ראשון: protect-env

- [ ] פתחו תיקייה ריקה בשם `protect-env`, מחוץ לכל פרויקט אמיתי.
- [ ] צרו בה את `.claude-plugin/plugin.json`: אובייקט JSON עם `"name": "protect-env"`, `version`, `description` ו־`author`, ש־`author` בו הוא אובייקט עם `name`.
- [ ] צרו את `hooks/hooks.json` עם `"modules": ["./register.ts"]`, כלומר מערך עם נתיב אחד.
- [ ] צרו את `hooks/register.ts` והעתיקו אליו את הקוד מהמדריך.
- [ ] הריצו בתיקייה `claude plugin validate .` ובדקו שהוא מציג את ה־hook על `tool.call` ואת `$.ui.status`.
- [ ] חזרו לתיקייה שמעל `protect-env` וטענו את המוד לסשן עם `claude --plugin-dir ./protect-env`.
- [ ] צרו קובץ `.env` דמה בלי סודות, בקשו מ־Claude לקרוא אותו, ובדקו שהבקשה מסורבת ושהמונה עולה.

## 2. לפני שסומכים על מוד

- [ ] בדקו את הגרסה בכל עותק של Claude Code במחשב: בטרמינל עם `claude --version`, וב־Desktop עם `/status` בסשן מקומי בלשונית Code.
- [ ] הריצו `claude plugin test` בתיקייה ריקה, כדי לדעת אם מודים יכולים להיטען אצלכם בכלל.
- [ ] הריצו `claude plugin validate` ו־`claude plugin test` על המוד לפני שהוא נטען לסשן.
- [ ] המוד הראשון מחזיר `{ deny }` רק כשמחרוזת הנתיב תואמת את תבנית `.env`: התאמה best effort, לא הגנה מלאה על קובצי סודות.
- [ ] hook שנטען וזרק שגיאה, או חרג מהתקציב, מסרב רק אם ה־`.catch` שלו מחזיר `{ deny }` בהצלחה. אחרת הקריאה ממשיכה.
- [ ] מודול שלא נטען, או worker משותף שקרס, משאיר את הבדיקה חסרה לגמרי.
- [ ] התייחסו לכל מוד מותקן כאל קוד שרץ עם ההרשאות שלכם.
- [ ] אחרי התקנה או עדכון, הריצו `/reload-plugins` בסשן הפתוח, אחרת המוד ייטען רק בהפעלה הבאה.
- [ ] מה שראינו אצלנו: כיבוי של מוד לא הגיע לסשנים שרצו זמן רב, והם המשיכו להריץ את הקוד הישן עד שהפעלנו אותם מחדש. לכן בדקו גם סשנים ותיקים.

## 3. הערות לצוות

- מי אחראי על המוד:
- איפה שמור עותק של התיקייה שעובדת:
- מתי בודקים אותו שוב:
