מדריך קלוד קוד בעברית

תיעוד 85

המלצה על תוספים לארגון שלך

הוסיפו בלוק relevance לרשומות התוספים במרקטפלייס כדי ש-Claude Code יציע אותם כשהעבודה של המשתמש תואמת, והוסיפו את המרקטפלייס לרשימת ההיתר בהגדרות המנוהלות.

Claude Code יכול להציע התקנה של תוסף מהמרקטפלייס של הארגון כשהסשן של המשתמש תואם לאותות שאתם מגדירים לתוסף הזה. האותות כוללים את תיקיית העבודה, קבצים ש-Claude קרא, ופקודות ש-Claude הריץ. מגדירים אותם על ידי הוספת בלוק relevance לרשומת התוסף ב-marketplace.json.

מפעיל מרקטפלייס כותב את רשומות ה-relevance. מנהל מערכת מוסיף אחר כך את המרקטפלייס לרשימת ההיתר בהגדרות המנוהלות. בטרמינל, משתמשים לא רואים הצעות ממרקטפלייס עד שהוא ברשימת ההיתר.

[!NOTE]

המקרים האלה מכוסים בעמודים אחרים:

התחילו בסעיפים לפי התפקיד שלכם:

#הבנה איך רלוונטיות של תוספים עובדת

כל רשומת תוסף ב-marketplace.json יכולה לכלול אובייקט relevance. האובייקט נותן שם לנושא ולאות אחד או יותר. אות הוא תבנית ש-Claude Code בודק מול הסשן הנוכחי, כמו תיקיית העבודה או קבצים ש-Claude קרא.

התאמת האותות מתרחשת מקומית במחשב של המשתמש, והיא לא מוסיפה תעבורת רשת. Claude Code לא מדווח אילו אותות תאמו, או מה הערכים שלהם, ל-Anthropic או למפעיל המרקטפלייס.

כשאות תואם והתוסף לא מותקן כבר, Claude Code מציע את התוסף במקומות האלה:

  • טיפ בספינר: הודעה עם הפקודה /plugin install מופיעה מתחת לספינר בזמן ש-Claude מגיב.
  • התראה בתחילת סשן: אם אות cwd תואם לתיקיית העבודה, התראה של שורה אחת מופיעה לפני שהמשתמש שולח הודעה ראשונה.
  • לשונית Discover ב-/plugin: התוסף נעוץ בראש רשימת Discover.

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

Claude Code אף פעם לא מתקין את התוסף אוטומטית. המשתמש תמיד מאשר.

טיפ הספינר וההתראה בתחילת הסשן מפסיקים להופיע כשהמשתמש או הפרויקט מגדירים את spinnerTipsEnabled ל-false, או כש-spinnerTipsOverride עם excludeDefault מחליף את הטיפים המובנים. הנעיצה בלשונית Discover לא מושפעת משתי ההגדרות.

#הוספת relevance לרשומת תוסף

הוסיפו אובייקט relevance לרשומת התוסף ב-marketplace.json. הדוגמה הבאה מצהירה שהתוסף terraform-helpers רלוונטי כש-Claude קורא קובץ .tf או מריץ terraform:

{
  "name": "your-marketplace",
  "owner": { "name": "Your Org" },
  "plugins": [
    {
      "name": "terraform-helpers",
      "source": "./plugins/terraform-helpers",
      "description": "Your organization's Terraform conventions and helpers",
      "relevance": {
        "topic": "Terraform",
        "signals": {
          "cli": ["terraform"],
          "filesRead": ["**/*.tf"]
        }
      }
    }
  ]
}

כל עוד אף אחד מהאותות שלו לא תואם, התוסף שומר על המיקום הרגיל שלו ברשימת Discover ולא מופיע כטיפ בספינר.

כדי לבדוק את הבלוק לפני פרסום, אמתו את המרקטפלייס.

#הפניה לשדות

אובייקט relevance ואובייקט signals המקונן בתוכו מקבלים את השדות שבטבלאות הבאות.

לקוחות ישנים עדיין טוענים מרקטפלייס שמשתמש בשדות relevance שהם לא מזהים, כי שדות לא מוכרים תחת relevance ותחת relevance.signals מתעלמים מהם בזמן הטעינה. שדה מוכר שהערך שלו חורג מהמגבלה שלו בהפניה לשדות פוסל את כל רשומת התוסף, ומשתמשים לא יכולים להתקין את התוסף הזה מהמרקטפלייס עד שתתקנו אותו. claude plugin validate מדווח על אותן מגבלות.

#relevance

שדהסוגתיאור
topicstringאופציונלי. הביטוי שממלא את "Working with topic?" בטיפ הספינר. ברירת המחדל היא שם התוסף, כשכל מקטע שמופרד במקף מתחיל באות גדולה. לכל היותר 64 תווים.
signalsobjectרכיבי התאמה שקובעים מתי התוסף רלוונטי. Claude Code מציע את התוסף רק אם לפחות אות אחד מוגדר. ראו relevance.signals.

ה-topic הוא לעתים קרובות שם המוצר, לדוגמה Terraform. השתמשו בתחום כמו design כששם התוסף לא נשמע טבעי כנושא.

#relevance.signals

אובייקט signals מקבל את השדות הבאים.

שדהסוגתיאורמגבלה
cwdarray of stringsתבניות glob שמותאמות מול תיקיית העבודה של הסשן. ראו התאמה של תיקיית העבודה.10 תבניות של 256 תווים כל אחת
cliarray of stringsשמות פקודות מפקודות מעטפת ש-Claude הריץ בסשן הזה, לדוגמה ["terraform"]. התאמה מדויקת. ראו התאמה של שם פקודה.10 רשומות של 64 תווים כל אחת
hostsarray of stringsשמות מארח שנראו בכתובות http:// או https:// בפקודות Bash בסשן הזה, לדוגמה ["registry.terraform.io"]. רק שם מארח חשוף באותיות קטנות: בלי סכמה, פורט או נתיב. התאמה מדויקת בלי תלות ברישיות.20 רשומות של 128 תווים כל אחת
filesReadarray of stringsתבניות glob שמותאמות מול נתיבי הקבצים ש-Claude קרא בסשן הזה, לדוגמה ["**/*.tf"]. מנורמלות ללוכסן קדמי ובלי תלות ברישיות.10 תבניות של 256 תווים כל אחת
manifestDepsarray of objectsתלויות שמוצהרות במניפסטים של חבילות ש-Claude קרא בסשן הזה. כל רשומה היא { "file": "...", "pattern": "..." }, ושני הערכים הם ביטויים רגולריים. ראו התאמה של תלות במניפסט.10 רשומות, וכל ערך לכל היותר 256 תווים. קובצי מניפסט גדולים מ-512 KB מדולגים

אותות filesRead ו-manifestDeps תואמים גם לקבצים ש-Claude כתב או ערך בסשן הזה, וגם לקובצי הזיכרון CLAUDE.md של הפרויקט שנטענים אוטומטית.

#התאמה של תיקיית העבודה

cwd הוא האות היחיד שיכול להתאים בתחילת סשן, לפני שהמשתמש שולח הודעה ראשונה.

Claude Code מתאים כל תבנית cwd כך:

  • התבנית מותאמת מול תיקיית העבודה כנתיב מוחלט. כשהסשן נמצא בתוך מאגר git, היא מותאמת גם מול הנתיב של תיקיית העבודה ביחס לשורש המאגר.
  • ההתאמה מנורמלת ללוכסן קדמי ובלי תלות ברישיות.
  • כל תבנית תואמת את התיקייה עצמה ואת כל מה שמתחתיה, כך ש-infra, infra/ ו-infra/** מתנהגים באופן זהה.

#התאמה של שם פקודה

Claude Code רושם שם פקודה אחד לכל פקודת מעטפת ש-Claude מריץ: הטוקן הראשון אחרי כל השמות מובילים של משתני סביבה ואחרי sudo. פקודות מורכבות תורמות רק את הפקודה המובילה שלהן, כך ש-cd infra && terraform plan רושם cd, ולא את terraform.

#התאמה של תלות במניפסט

כל רשומת manifestDeps מצמידה שתי מחרוזות מקור של RegExp ב-JavaScript:

  • file: מותאמת בלי תלות ברישיות מול הנתיב של קובץ המניפסט. הנתיב בדרך כלל מוחלט, לכן עגנו את התבנית בסוף ולא בהתחלה. הנתיבים לא עוברים נרמול של המפריד לאות הזה, לכן נתיבי Windows משתמשים בלוכסנים הפוכים.
  • pattern: מותאמת עם תלות ברישיות מול התוכן של הקובץ.

הדוגמה הבאה משתמשת ב-manifestDeps כדי להציע את התוסף שלכם ברגע ש-Claude קרא package.json שתלוי בחבילת ה-npm של ה-SDK שלכם, ושמה כאן your-sdk.

{
  "name": "your-plugin",
  "source": "./plugins/your-plugin",
  "relevance": {
    "signals": {
      "manifestDeps": [
        {
          "file": "[/\\\\]package\\.json$",
          "pattern": "\"your-sdk\"\\s*:"
        }
      ]
    }
  }
}

בדוגמה הזו, תבנית file משתמשת ב-[/\\\\] כדי להתאים גם למפריד נתיב של לוכסן קדמי וגם ללוכסן הפוך, וב-\\. כדי שהנקודה תהיה מילולית. ב-JSON, כל לוכסן הפוך בביטוי הרגולרי נכתב פעמיים.

#אימות המרקטפלייס

במעטפת, הריצו את claude plugin validate מול תיקיית המרקטפלייס כדי לבדוק את בלוק relevance לפני פרסום:

claude plugin validate ./my-marketplace

הוולידטור מדווח על שגיאות ועל אזהרות בבלוק relevance, ובהן:

  • מדווח על מפתחות לא מוכרים תחת relevance ותחת relevance.signals כאזהרות
  • מסמן ערך relevance שאינו אובייקט
  • דוחה רשומת signals.hosts שכוללת סכמה, פורט או נתיב

כל ממצא מודפס עם הנתיב של השדה שהוא נוגע בו, והפלט מסתיים ב-Validation passed, ב-Validation passed with warnings או ב-Validation failed.

#הפעלת הצעות בהגדרות מנוהלות

בטרמינל, משתמשים לא רואים הצעות ממרקטפלייס עד שמנהל מערכת מוסיף אותו לרשימת ההיתר בהגדרות מנוהלות, גם כש-marketplace.json שלו מצהיר על relevance.

כדי להוסיף מרקטפלייס לרשימת ההיתר, ערכו את ההגדרות המנוהלות כך:

  • הוסיפו את שם המרקטפלייס ל-pluginSuggestionMarketplaces.
  • לכל מרקטפלייס שאינו המרקטפלייס הרשמי של Anthropic, הכריזו גם על מקור המרקטפלייס, או כרשומה של השם הזה ב-extraKnownMarketplaces או כרשומה ב-strictKnownMarketplaces.

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

קובץ managed-settings.json הבא רושם מרקטפלייס של ארגון ממאגר GitHub ומפעיל את ההצעות שלו:

{
  "extraKnownMarketplaces": {
    "your-marketplace": {
      "source": {
        "source": "github",
        "repo": "your-org/your-marketplace"
      }
    }
  },
  "pluginSuggestionMarketplaces": ["your-marketplace"]
}

השם של המרקטפלייס הרשמי יכול להירשם רק מהמקור הרשמי של Anthropic, לכן אין צורך בהכרזה על מקור. למרקטפלייס הרשמי, הוסיפו לרשימת ההיתר את השם בלבד:

{
  "pluginSuggestionMarketplaces": ["claude-plugins-official"]
}

#תצוגה מקדימה של מה שהמשתמש רואה

כשאות relevance של תוסף תואם במהלך סשן, הטיפ מתחת לספינר הוא:

Working with Terraform? Install the terraform-helpers plugin:
/plugin install terraform-helpers@your-marketplace

כשאות cwd תואם בתחילת סשן, ההתראה של שורה אחת היא:

plugin suggestion: terraform-helpers@your-marketplace · /plugin

בלשונית Discover של /plugin, התוסף נעוץ מעל שאר התוצאות עם הערה שנותנת שם לאות התואם, כמו suggested for this directory או suggested for terraform commands.

Claude Code מגביל את התדירות שבה הוא מציע תוסף מסוים:

  • ההצעה מופיעה לכל היותר פעם אחת בכל שלושה סשנים, כשמדובר בטיפ הספינר ובהתראה בתחילת הסשן יחד.
  • ההתראה בתחילת הסשן מפסיקה להופיע אחרי שטיפ הספינר וההתראה הציגו את התוסף יחד סך הכול פעמיים.
  • טיפ הספינר וההתראה בתחילת הסשן לא חוזרים אחרי שהתוסף מותקן.
  • לשונית Discover נועצת את התוסף בפעם הראשונה שהמשתמש פותח את הלשונית בזמן שהאותות של התוסף תואמים. Claude Code רושם זאת ב-~/.claude.json, כך שבכל פעם מאוחרת יותר שהמשתמש פותח את /plugin באותו מחשב, התוסף מופיע בסדר הרגיל.

#ראו גם