תחומי תצורה
קיימים שלושה תחומי תצורה, מוערכים לפי סדר עדיפויות:| תחום | נתיב קובץ | מטרה |
|---|---|---|
| פרויקט | .failproofai/policies-config.json | הגדרות לפי מאגר, מחויבות לבקרת גרסה |
| מקומי | .failproofai/policies-config.local.json | עדכונים אישיים למאגר, מוחרגים מ-gitignore |
| גלובלי | ~/.failproofai/policies-config.json | ברירות מחדל ברמת משתמש בכל הפרויקטים |
כללי מיזוג
enabledPolicies - איחוד של כל שלושת התחומים. מדיניות המופעלת בכל רמה פעילה.
policyParams - התחום הראשון המגדיר פרמטרים עבור מדיניות מסוימת מנצח לחלוטין. אין מיזוג עמוק של ערכים בתוך פרמטרים של מדיניות.
customPoliciesPath - התחום הראשון המגדיר אותו מנצח.
llm - התחום הראשון המגדיר אותו מנצח.
פורמט קובץ התצורה
ייחוס שדות
enabledPolicies
סוג: string[]
רשימת שמות מדיניויות להפעלה. שמות חייבים להתאים בדיוק לזהויות המדיניויות המוצגות על ידי failproofai policies. ראה Built-in Policies לרשימה המלאה.
מדיניויות שאינן ב-enabledPolicies אינן פעילות, גם אם יש להן רשומות ב-policyParams.
policyParams
סוג: Record<string, Record<string, unknown>>
עדכוני פרמטרים לפי מדיניות. המפתח החיצוני הוא שם המדיניות; המפתחות הפנימיים הם ספציפיים למדיניות. כל מדיניות מתעדת את הפרמטרים הזמינים שלה ב-Built-in Policies.
אם למדיניות יש פרמטרים אך אתה לא מציין אותם, משתמשים בברירות המחדל המובנות של המדיניות. משתמשים שלא מגדירים את policyParams בכלל מקבלים התנהגות זהה לגרסאות קודמות.
מפתחות לא ידועים בתוך בלוק הפרמטרים של מדיניות מתעלמים בשתיקה בזמן hook, אך מסומנים כאזהרות כאשר אתה מריץ failproofai policies.
hint (חוצה תחומים)
סוג: string (אופציונלי)
הודעה המצורפת לסיבה כאשר מדיניות חוזרת deny או instruct. השתמש בה כדי לתן Claude הנחיה פעולה ללא שינוי המדיניות עצמה.
עובד עם כל סוג מדיניות — מובנה, מותאמת אישית (custom/), קונוונציה של פרויקט (.failproofai-project/), או קונוונציה של משתמש (.failproofai-user/).
block-force-push דוחה, Claude רואה: “Force-pushing is blocked. Try creating a fresh branch instead.”
ערכים שאינם מחרוזות ומחרוזות ריקות מתעלמים בשתיקה. אם hint לא מוגדר, ההתנהגות ללא שינוי (תאימות אחורית).
customPoliciesPath
סוג: string (נתיב מוחלט)
נתיב לקובץ JavaScript המכיל מדיניויות hook מותאמות אישית. זה מוגדר אוטומטית על ידי failproofai policies --install --custom <path> (הנתיב נפתר לערך מוחלט לפני האחסון).
הקובץ נטען מחדש בכל אירוע hook - אין קשמן. ראה Custom Policies לפרטי יצירה.
מדיניויות המבוססות על קונוונציה
בנוסף ל-customPoliciesPath המפורש, failproofai גילוי ותקבל מחדש קובצי מדיניויות מספריות .failproofai/policies/:
| רמה | ספרייה | תחום |
|---|---|---|
| פרויקט | .failproofai/policies/ | משותף עם צוות דרך בקרת גרסה |
| משתמש | ~/.failproofai/policies/ | אישי, חל על כל הפרויקטים |
*policies.{js,mjs,ts} נטענים (למשל security-policies.mjs, workflow-policies.js). קובצים אחרים בספרייה מתעלמים.
אין צורך בתצורה: מדיניויות קונוונציה אינן דורשות רשומות ב-policies-config.json. פשוט זרוק קובצים לספרייה והם ייבחרו באירוע ה-hook הבא.
טעינת איחוד: שתי ספריות קונוונציה של פרויקט ומשתמש סרוקות. כל הקובצים התואמים משתי הרמות נטענות (בניגוד ל-customPoliciesPath המשתמש בתחום-ראשון-מנצח).
ראה Custom Policies לפרטים נוספים ודוגמאות.
llm
סוג: object (אופציונלי)
תצורת לקוח LLM עבור מדיניויות המבצעות קריאות AI. לא נדרש עבור רוב ההתקנות.
ניהול תצורה מה-CLI
הפקודותpolicies --install ו-policies --uninstall כותבות ל-settings.json של Claude Code (נקודות כניסה ה-hook), בעוד policies-config.json הוא הקובץ שאתה מנהל ישירות. שניים נפרדים:
settings.json- אומר ל-Claude Code להתקשר ל-failproofai --hook <event>בכל שימוש בכליpolicies-config.json- אומר ל-failproofai אילו מדיניויות להעריך ועם אילו פרמטרים
policies-config.json ישירות בכל זמן; שינויים יקבלו תוקף מיידי באירוע ה-hook הבא ללא צורך בהפעלה מחדש.
דוגמה: תצורת רמת פרויקט עם ברירות מחדל של צוות
התחייב.failproofai/policies-config.json ללאגר שלך:
.failproofai/policies-config.local.json (מוחרג מ-gitignore) לעדכונים אישיים ללא השפעה על חברי צוות.
