סקירה כללית
המדיניות מקובצות לקטגוריות:| קטגוריה | מדיניות | סוג Hook |
|---|---|---|
| פקודות מסוכנות | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
| פקודות תשתית | block-kubectl, block-terraform, block-aws-cli, block-gcloud, block-az-cli, block-helm, block-gh-pipeline | PreToolUse |
| סודות (מנקים) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
| סביבה | block-env-files, protect-env-vars | PreToolUse |
| גישה לקבצים | block-read-outside-cwd, block-secrets-write | PreToolUse |
| Git | block-push-master, block-work-on-main, block-force-push, warn-git-amend, warn-git-stash-drop, warn-all-files-staged | PreToolUse |
| בסיס נתונים | warn-destructive-sql, warn-schema-alteration | PreToolUse |
| אזהרות | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
| מנהלי חבילות | prefer-package-manager | PreToolUse |
| זרימת עבודה | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-no-conflicts-before-stop, require-ci-green-before-stop | Stop |
block-— עצור את הסוכן מהמשך.warn-— תן לסוכן הקשר נוסף כדי שיוכל לתקן את עצמו.sanitize-— נקה נתונים רגישים מפלט הכלי לפני שהסוכן רואה אותו.
מרחבי שמות
כל מדיניות נמצאת בחריץ<namespace>/<name>. מדיניות מובנות שייכות
למרחב השמות failproofai/ — לדוגמה, failproofai/sanitize-jwt. מרחב השמות
מונע התנגשויות כשאתה טוען גם מדיניות מותאמות או של צד שלישי
עם שמות קצרים דומים.
בהגדרה שלך, אתה יכול להתייחס למדיניות מובנית בשם קצר או שם מכוון; שתי הצורות פותרות לאותה מדיניות:
/, failproofai מתייחס אליו כשייך למרחב השמות ברירת המחדל failproofai. שמות שכבר מכילים / (לדוגמה myorg/foo,
custom/my-hook) נשמרים כפי שהם.
require-— חסום את אירוע Stop עד שהתנאים מתקיימים.
פקודות מסוכנות
מנע מסוכנים הרצת פעולות שקשה להשיב אותן או שעלולות לפגוע במערכת המארח.block-sudo
אירוע: PreToolUse (Bash)ברירת מחדל: מוציא כל פקודת
sudo.
חוסם הפעלות המכילות את מילת המפתח sudo. התאמת דפוס מתבצעת על אסימוני פקודה מנותחים, לא על המחרוזת הגולמית, כדי למנוע עקיפה באמצעות הזרקת אופרטורי shell.
פרמטרים:
| פרמטר | סוג | ברירת מחדל | תיאור |
|---|---|---|---|
allowPatterns | string[] | [] | קידומות פקודה מדויקות המותרות. כל רשומה מושווה מול אסימוני argv מנותחים. |
sudo systemctl status nginx מותר, אבל sudo rm /etc/hosts נדחה.
דפוסים מושווים מול אסימוני מנותחים, לא מול מחרוזת הפקודה הגולמית. זה מונע עקיפה דרך אופרטורי shell מוצמדים (לדוגמה
sudo systemctl status x; rm -rf / לא תואם sudo systemctl status *).block-rm-rf
אירוע: PreToolUse (Bash)ברירת מחדל: מוציא
rm -rf, rm -fr וצורות מחיקה רקורסיביות דומות.
פרמטרים:
| פרמטר | סוג | ברירת מחדל | תיאור |
|---|---|---|---|
allowPaths | string[] | [] | נתיבים שבטוח למחוק אותם רקורסיבית (לדוגמה /tmp). |
block-curl-pipe-sh
אירוע: PreToolUse (Bash)ברירת מחדל: מוציא
curl <url> | bash, curl <url> | sh, wget <url> | bash וגם דפוסים דומים.
אין פרמטרים.
block-failproofai-commands
אירוע: PreToolUse (Bash)ברירת מחדל: מוציא פקודות שהיו מסיראות או משביתות את failproofai עצמו (לדוגמה
npm uninstall failproofai, failproofai policies --uninstall).
אין פרמטרים.
פקודות תשתית
עצור סוכנים קוד מהרצת CLIs של תשתית או הדלקת צנרות CI/CD. כל המדיניות בקטגוריה זו הן opt-in (defaultEnabled: false) — סוכנים שבאמת צריכים להתקשר kubectl, terraform וכו’ לא יופרעו אלא אם אתה משביל את המדיניות. כשהוא משביל, כל הפעלה של ה-CLI התואמת נדחית אלא אם הפקודה תואמת לרשומה ב-allowPatterns.
דקדוק הדפוס זהה ל-block-sudo: אסימוני תואמים מול argv מנותחים, * הוא wildcard לאסימון אחד, וכל פקודה המכילה אופרטור shell עצמאי (&&, ||, |, ;) או אסימון עם מטא-תווי shell מוטמעים דחויים לפני התאמה לרשימה מותרת כדי למנוע עקיפות הזרקה.
block-kubectl
אירוע: PreToolUse (Bash)ברירת מחדל: מוציא כל הפעלה של
kubectl.
פרמטרים:
| פרמטר | סוג | ברירת מחדל | תיאור |
|---|---|---|---|
allowPatterns | string[] | [] | קידומות פקודות kubectl המותרות. |
kubectl get pods מותר אבל kubectl apply -f deploy.yaml נדחה.
block-terraform
אירוע: PreToolUse (Bash)ברירת מחדל: מוציא כל הפעלה של
terraform או tofu (OpenTofu).
פרמטרים:
| פרמטר | סוג | ברירת מחדל | תיאור |
|---|---|---|---|
allowPatterns | string[] | [] | קידומות פקודות terraform/tofu המותרות. |
block-aws-cli
אירוע: PreToolUse (Bash)ברירת מחדל: מוציא כל הפעלה של CLI
aws.
פרמטרים:
| פרמטר | סוג | ברירת מחדל | תיאור |
|---|---|---|---|
allowPatterns | string[] | [] | קידומות פקודות aws CLI המותרות. |
block-gcloud
אירוע: PreToolUse (Bash)ברירת מחדל: מוציא כל הפעלה של CLI
gcloud (Google Cloud).
פרמטרים:
| פרמטר | סוג | ברירת מחדל | תיאור |
|---|---|---|---|
allowPatterns | string[] | [] | קידומות פקודות gcloud המותרות. |
block-az-cli
אירוע: PreToolUse (Bash)ברירת מחדל: מוציא כל הפעלה של CLI
az (Azure).
פרמטרים:
| פרמטר | סוג | ברירת מחדל | תיאור |
|---|---|---|---|
allowPatterns | string[] | [] | קידומות פקודות az CLI המותרות. |
block-helm
אירוע: PreToolUse (Bash)ברירת מחדל: מוציא כל הפעלה של
helm.
פרמטרים:
| פרמטר | סוג | ברירת מחדל | תיאור |
|---|---|---|---|
allowPatterns | string[] | [] | קידומות פקודות helm המותרות. |
block-gh-pipeline
אירוע: PreToolUse (Bash)ברירת מחדל: מוציא את תת-הפקודות
gh CLI הבאות המשנות מצב או מעכבות צנרות:
gh workflow run,gh workflow enable,gh workflow disablegh run rerun,gh run cancelgh pr mergegh release create,gh release deletegh cache deletegh secret set,gh secret delete
gh לקריאה בלבד כמו gh pr view, gh pr list, gh run list, gh release view ו-gh api repos/.../... לא מותאמות על ידי מדיניות זו — הן נדרשות בדרך כלל לבדיקות זרימת עבודה (כולל require-ci-green-before-stop של failproofai).
פרמטרים:
| פרמטר | סוג | ברירת מחדל | תיאור |
|---|---|---|---|
allowPatterns | string[] | [] | הפעלות מסקריפט ספציפיות להרשאה למרות שהן אחרת היו נדחות. |
סודות (מנקים)
עצור סוכנים מדליפת פרטי הזדהות להקשר או פלט. מדיניות מנקה משתפעת בPostToolUse אירועים. כשClaude מפעיל פקודת Bash, קורא קובץ, או קורא לכל כלי, מדיניות אלה בודקות את הפלט לפני שהוא מוחזר לClaude. אם דפוס סוד מתגלה, המדיניות מחזירה החלטת deny המונעת את הפלט מהעברה חזרה.sanitize-jwt
אירוע: PostToolUse (כל הכלים)ברירת מחדל: מחפה אסימוני JWT (שלוש קטעי base64url מופרדים ב-
.).
אין פרמטרים.
sanitize-api-keys
אירוע: PostToolUse (כל הכלים)ברירת מחדל: מחפה פורמטי API key נפוצים: Anthropic (
sk-ant-), OpenAI (sk-), GitHub PATs (ghp_), מפתחות גישה של AWS (AKIA), מפתחות Stripe (sk_live_, sk_test_), ומפתחות Google API (AIza).
פרמטרים:
| פרמטר | סוג | ברירת מחדל | תיאור |
|---|---|---|---|
additionalPatterns | { regex: string; label: string }[] | [] | דפוסי regex נוספים להתייחסות כסודות. |
sanitize-connection-strings
אירוע: PostToolUse (כל הכלים)ברירת מחדל: מחפה מחרוזות חיבור בסיס נתונים המכילות פרטי זעקה משובצים (לדוגמה
postgresql://user:password@host/db).
אין פרמטרים.
sanitize-private-key-content
אירוע: PostToolUse (כל הכלים)ברירת מחדל: מחפה בלוקים PEM (
-----BEGIN PRIVATE KEY-----, -----BEGIN RSA PRIVATE KEY----- וכו’).
אין פרמטרים.
sanitize-bearer-tokens
אירוע: PostToolUse (כל הכלים)ברירת מחדל: מחפה כותרות
Authorization: Bearer <token> כאשר האסימון הוא 20 תווים או יותר.
אין פרמטרים.
סביבה
הגן על הגדרות סביבה רגישות מקריאה או חשיפה על ידי סוכנים.block-env-files
אירוע: PreToolUse (Bash, Read)ברירת מחדל: מוציא קריאה של קבצי
.env דרך cat .env, קריאות כלי Read עם .env כנתיב הקובץ וכו’.
לא חוסם .envrc או קבצים אחרים סמוכים לסביבה - רק קבצים בשם בדיוק .env.
אין פרמטרים.
protect-env-vars
אירוע: PreToolUse (Bash)ברירת מחדל: מוציא פקודות המדפיסות משתנים סביבתיים:
printenv, env, echo $VAR.
אין פרמטרים.
גישה לקבצים
שמור סוכנים עובדים בתוך גבולות פרויקט ובחוץ קבצים רגישים.block-read-outside-cwd
אירוע: PreToolUse (Read, Bash)ברירת מחדל: מוציא קריאה של קבצים מחוץ לשורש הפרויקט. הגבול הוא
CLAUDE_PROJECT_DIR (מוגדר פעם ליחידה על ידי Claude Code), עם חזרה לספריה הנוכחית של הסשן כאשר משתנה זה לא מוגדר. שימוש בשורש הפרויקט ולא ב-cwd החי אומר הגבול נשאר יציב אפילו אחרי שClaude cdים לתת-ספרייה.
פרמטרים:
| פרמטר | סוג | ברירת מחדל | תיאור |
|---|---|---|---|
allowPaths | string[] | [] | קידומות נתיבים מוחלטים המותרים גם אם מחוץ לשורש הפרויקט. |
block-secrets-write
אירוע: PreToolUse (Write, Edit)ברירת מחדל: מוציא כתיבה לקבצים המשמשים בדרך כלל למפתחות פרטיים ותעודות:
id_rsa, id_ed25519, *.key, *.pem, *.p12, *.pfx.
פרמטרים:
| פרמטר | סוג | ברירת מחדל | תיאור |
|---|---|---|---|
additionalPatterns | string[] | [] | דפוסי שמות קבצים נוספים (סגנון glob) לחסימה. |
Git
מנע דחיפות תוקפות, דחיפות כפויות וטעויות ענף שקשה להשיב.block-push-master
אירוע: PreToolUse (Bash)ברירת מחדל: מוציא
git push origin main ו-git push origin master.
פרמטרים:
| פרמטר | סוג | ברירת מחדל | תיאור |
|---|---|---|---|
protectedBranches | string[] | ["main", "master"] | שמות ענפים שלא ניתן לדחוף אליהם ישירות. |
block-work-on-main
אירוע: PreToolUse (Bash)ברירת מחדל: מוציא
git commit, git merge, git rebase ו-git cherry-pick בזמן שעץ העבודה נמצא ב-main או master. יצירת וחלפן ענפים (git checkout, git checkout -b, git switch, git switch -c) לא מושפעים.
פרמטרים:
| פרמטר | סוג | ברירת מחדל | תיאור |
|---|---|---|---|
protectedBranches | string[] | ["main", "master"] | שמות ענפים שבהם commit/merge/rebase/cherry-pick נדחה. |
block-force-push
אירוע: PreToolUse (Bash)ברירת מחדל: מוציא
git push --force ו-git push -f.
אין פרמטרים ספציפיים למדיניות. השתמש ב-hint חוצה-קוטעי להצעת חלופות:
warn-git-amend
אירוע: PreToolUse (Bash)ברירת מחדל: משכנע את Claude להמשיך בזהירות בעת הרצת
git commit --amend. לא חוסם את הפקודה.
אין פרמטרים.
warn-git-stash-drop
אירוע: PreToolUse (Bash)ברירת מחדל: משכנע את Claude לאשר לפני הרצת
git stash drop. לא חוסם את הפקודה.
אין פרמטרים.
warn-all-files-staged
אירוע: PreToolUse (Bash)ברירת מחדל: משכנע את Claude לבדוק מה הוא משרה כשהוא מריץ
git add -A או git add .. לא חוסם את הפקודה.
אין פרמטרים.
בסיס נתונים
תפוס פעולות SQL הרסניות לפני שהן מבצעות נגד בסיס הנתונים שלך.warn-destructive-sql
אירוע: PreToolUse (Bash)ברירת מחדל: משכנע את Claude לאשר לפני הרצת SQL המכיל
DROP TABLE, DROP DATABASE או DELETE ללא סעיף WHERE.
אין פרמטרים.
warn-schema-alteration
אירוע: PreToolUse (Bash)ברירת מחדל: משכנע את Claude לאשר לפני הרצת הצהרות
ALTER TABLE.
אין פרמטרים.
אזהרות
תן סוכנים הקשר נוסף לפני פעולות פוטנציאליות מסוכנות אך לא הרסניות.warn-large-file-write
אירוע: PreToolUse (Write)ברירת מחדל: משכנע את Claude לאשר לפני כתיבת קבצים גדולים מ-1024 KB. פרמטרים:
| פרמטר | סוג | ברירת מחדל | תיאור |
|---|---|---|---|
thresholdKb | number | 1024 | סף גודל קובץ בקילובייטים מעליו מוצאת אזהרה. |
מטפל ה-hook אוכף הגבלה stdin של 1 MB על עומסי. כדי לבדוק מדיניות זו עם תוכן קטן, קבע
thresholdKb לערך הרבה מתחת ל-1024.warn-package-publish
אירוע: PreToolUse (Bash)ברירת מחדל: משכנע את Claude לאשר לפני הרצת
npm publish.
אין פרמטרים.
warn-background-process
אירוע: PreToolUse (Bash)ברירת מחדל: משכנע את Claude להיות זהיר בעת הפעלת תהליכים ברקע דרך
nohup, &, disown או screen.
אין פרמטרים.
warn-global-package-install
אירוע: PreToolUse (Bash)ברירת מחדל: משכנע את Claude לאשר לפני הרצת
npm install -g, yarn global add או pip install ללא סביבה וירטואלית.
אין פרמטרים.
מנהלי חבילות
אכוף איזה מנהלי חבילות הסוכן רשאי להשתמש.prefer-package-manager
אירוע: PreToolUse (Bash)ברירת מחדל: מושבתת. כשהוא משביל, חוסם כל פקודת מנהל חבילות שאינה ברשימה
allowed ואומר ל-Claude לשכתב את הפקודה באמצעות מנהל מותר.
מזהה: pip, pip3, python -m pip, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo.
| פרמטר | סוג | ברירת מחדל | תיאור |
|---|---|---|---|
allowed | string[] | [] | שמות מנהלי חבילות מותרים. כל מנהל שהוכר שאינו ברשימה זו נחסום. כשריק, המדיניות היא no-op. |
blocked | string[] | [] | שמות מנהלים נוספים לחסימה מעבר לרשימה המובנית (לדוגמה ['pdm', 'pipx']). |
blocked לצרף מנהלים שאינם ברשימה זו.
דוגמה הגדרה:
pip install flask ו-pdm install flask שניהם נדחים עם הודעה האומרת ל-Claude להשתמש ב-uv או bun במקום. פקודות כמו uv pip install flask מותרות כי uv ברשימה המותרת ונבדק תחילה.
התנהגות AI
גלה כשסוכנים תקועים או מתנהגים בצורה בלתי צפויה.warn-repeated-tool-calls
אירוע: PreToolUse (כל הכלים)ברירת מחדל: משכנע את Claude לשקול מחדש כשאותו כלי נקרא 3+ פעמים עם פרמטרים זהים - סימן נפוץ לסוכן תקוע בלולאה. אין פרמטרים.
זרימת עבודה
אכוף זרימת עבודה משומרת בסוף סשן. המדיניות אלה משתפעת בארוע Stop ודוחה את הסוכן מהעצירה עד שכל תנאי מתקיימים. הם עוקבים אחרי שרשרת תלות טבעית: commit → push → PR → CI. אם מדיניות דוחה, מדיניות מאוחרות בשרשרת דלולות (deny מקצרת). כל מדיניות זרימת עבודה היא fail-open: אם הכלי הנדרש לא זמין (לדוגמהgh לא מותקן, אין git remote), המדיניות מאפשרת עם הודעה מידע המסבירה מדוע הבדיקה דלולה.
סמנטיקה Stop לכל CLI
אכיפת Stop נראית מעט שונה בשבעת CLIs הנתמכים כי לכל אחד מהם חוזה hook אירוע “סוכן סיים” שונה. התוצאה היא זהה — הסוכן לא יכול להסתלק מהעצירה בזמן ששער זרימת עבודה נכשל — אבל המכניקה שונה. הטבלה להלן מסכמת; רק Pi בעל quirk גלוי למשתמש שכדאי להבין לפני שאתה משביל מדיניותrequire-*-before-stop.
| CLI | כשהשער משתפע | מה אתה רואה |
|---|---|---|
| Claude Code | אותה לולאת סוכן, מיד | Claude ממשיך לעבוד — תיקונים בעיה, ואז מנסה לסיים שוב. אין הפסקה גלויה לך. |
| Codex | אותה לולאת סוכן, מיד | זהה ל-Claude. |
| GitHub Copilot CLI | אותה לולאת סוכן, מיד | זהה ל-Claude (משתמש ב-{decision:"block", reason} ערוץ ניסיון של Copilot — אומת אמפירי מול Copilot CLI 1.0.41). |
| Cursor Agent | אותה לולאת סוכן, מיד | זהה ל-Claude (משתמש ב-{followup_message} ערוץ Cursor — מוגבל ל-loop_limit, ברירת מחדל 5 ניסיונות). |
| Gemini CLI | אותה לולאת סוכן, מיד | זהה ל-Claude (משתמש ב-{decision:"block", reason} ערוץ Gemini על AfterAgent). |
| OpenCode | אותה לולאת סוכן, מיד | זהה ל-Claude (משתמש בקריאה client.session.prompt(...) SDK של OpenCode מנותבת דרך hookSpecificOutput.additionalContext). |
| Pi (pi-coding-agent) | סדר משתמש הבא | Pi עוצר בצורה גלויה כשהשער משתפע — לולאת הסוכן שלו יוצאת וחזרת למנהל. השער עוברת בפעם הבאה שאתה שומר הנהלה: failproofai מקדם הנהלה MANDATORY ACTION REQUIRED לסדר הזה של מערכת בקרה, משכנעת את ה-LLM להשלים את שלב זרימת העבודה (commit, push וכו’) לפני ביצוע כל אחד שביקשת. |
מגבלת Pi.
AgentEndEvent של Pi (השקול במעלה זה של ארוע Stop של Claude) אין סוג Result — בתוך הזמן שהוא משתפע, לולאת הסוכן של Pi כבר יצאה. Pi לא יכול להיכפף לניסיון מחדש אותה לולאה בדרך שClaude / Copilot / Cursor / Gemini / OpenCode יכולים. failproofai משחקת את השער ל-before_agent_start אירוע Pi (המשתפע אחרי הנהלה משתמש הבא) כך בדיקת זרימת העבודה עדיין אוכפת, רק בסדר הבא ולא זה.מה זה אומר בפרקטיקה:- אחרי שPi עוצר, סיבת הדחיה נלכדה בזכרון מקודד ב-id סשן Pi. ההנהלה הבאה בדיוק שאתה שומר בתהליך Pi זהה זה: ה-LLM רואה הנהלה
MANDATORY ACTION REQUIREDבחלקה העליון של מערכת בקרה, commits (או דוחפים / פותחים את ה-PR / מחכים ל-CI), וזה רק אחר כך ממשיך עם הבקשה שלך. סיבת דחיה שנלכדה היא חד-שימושית — אחד שנדלה, השער ברור. - השער מוגבל בחיי תהליך Pi. אם אתה
Ctrl+CPi או יוצא בין סדרים, הרשומה בזכרון מושמטת יחד עם התהליך והשער חמוקה. Claude, Copilot, Cursor, Gemini ו-OpenCode יש אותו קשור (הרג את הסוכן והשער חמוקה) — Pi פשוט עושה את זה גלוי יותר כי הסוכן גלויים יוצא לפני שהשער משתפע. - דחיה תלוי הוא גם ברור על
session_shutdownלכל סיבה (new/resume/fork/quit), אז שער מיושן מסדר קודם לא יכול לדלוף לתוך סדר טרי התחלתי באותו תהליך Pi.
Stop שלך תחת כל אחד מהשש CLIs הנתמכים האחרים. אנחנו עוקבים Pi במעלה לעתיד סוג Result על AgentEndEvent שיתן לנו לסגור את הפער הזה.require-commit-before-stop
אירוע: Stopברירת מחדל: מוציא עצירה כשישנם שינויים לא מותחים (קבצים שונויים, בחזקה או לא עקובים). מחזיר הודעת מידע כשספריית העבודה נקייה. אין פרמטרים.
require-push-before-stop
אירוע: Stopברירת מחדל: מוציא עצירה כשישנם commits לא דחופים או כשהענף הנוכחי אין לענף remote עקיבה. מציע
git push -u ליצירת ענף עקיבה אם נדרש. נופל פתוח אם אין remote מגודר.
פרמטרים:
| פרמטר | סוג | ברירת מחדל | תיאור |
|---|---|---|---|
remote | string | "origin" | שם remote לדחיפה אליו. |
require-pr-before-stop
אירוע: Stopברירת מחדל: מוציא עצירה כשאין pull request לענף הנוכחי, או כשה-PR הקיים סגור ללא מיזוג. משכנע את Claude ליצור PR עם
gh pr create. כשה-PR מוזג, המדיניות מאפשרת (העבודה התשלומה) והודעה רומזת לחלפן את הענף (git checkout main && git pull).
אין פרמטרים.
מדיניות זו דורשת GitHub CLI (
gh) להיות מותקן ומאומת.
הרץ gh auth login עם אסימון גישה אישי שיש repo היקף לקריאה גישה ל-
pull requests. אם gh לא מותקן או לא מאומת, המדיניות נופלת פתוחה וביוחס סיבה ל-Claude.require-no-conflicts-before-stop
אירוע: Stopברירת מחדל: מוציא עצירה כשהענף הנוכחי לא יכול להתמזג בנקיוניות לענף base. המדיניות ראשית מאשרת ישנו
OPEN PR ב-GitHub לענף — בלעדיו, אין מטרה מזג לאכוף, כל המדיניות קצרה-חוזה להרשאה. פעם OPEN PR מאומתת, שניים בדיקות עצמאיות פעם:
- ישני —
git merge-tree --write-tree --name-only origin/<baseBranch> HEAD. ב-סכסוך, הודעת דחיה שמות הקבצים סכסוכי כדי Claude יודע בדיוק מה פתור. - GitHub — משתמש כן
gh pr view --json mergeable,stateתוצאה כבר משומשת בבדיקה קודמת. תופסת סכסוכים שישן מקומיorigin/<baseBranch>היה להחמיץ (לדוגמה מישהו נחת סכסוך PR עלmainמאז אחרון לשאול).CONFLICTINGתוצאה מוציא.UNKNOWNתוצאה גם מוציא ומשכנע Claude להמתין ~10 שניות ו-re-check לפני ניסיון לעצור שוב — זה מונע שקרים שליליים בזמן GitHub מחשב מחדש.
gh לא מותקן, אין PR לענף, מצב ה-PR לא OPEN (לדוגמה MERGED, CLOSED), או gh pr view מחזירה פלט לא ניתן לפירוש. גם נופלת פתוחה כשן origin/<baseBranch> חסרה מקומית או כשן אין commits לפני base — אלה שכבה 1 fall-throughs עדיין להתייעץ ה-PR mergability בשמור לפני אחרון.
פרמטרים:
| פרמטר | סוג | ברירת מחדל | תיאור |
|---|---|---|---|
baseBranch | string | "main" | ענף base לבדוק סכסוכים נגד. |
GitHub CLI (
gh) נדרשת למדיניות זו. המדיניות משתמשת gh pr view לאשר
OPEN PR קיים לפני הרצת כל בדיקת סכסוך — בלעדי gh, המדיניות
קצרה-חוזה להרשאה. הרץ gh auth login עם אסימון גישה אישי שיש
repo היקף לקריאה גישה ל-pull requests.require-ci-green-before-stop
אירוע: Stopברירת מחדל: מוציא עצירה כשבדיקות CI נכשלות או עדיין פעימות על הענף הנוכחי. בדוקות שניהם GitHub Actions זרימות עבודה וביוט צד שלישי (לדוגמה CodeRabbit, SonarCloud, Codecov). מטיפול
skipped, cancelled וneutral סיכומים כלא-נכשלים (האחרון מכסה לדוגמה Socket Security אזהרות על מחוץ תורם PRs, שבו האפליקציה בכוונה דיווחים ניטרלי ולא הצלחה/כשל). מחזירה הודעת מידע כשכל בדיקות עברות.
אין פרמטרים.
מדיניות זו דורשת GitHub CLI (
gh) להיות מותקן ו מאומת.
הרץ gh auth login עם אסימון גישה אישי שיש repo היקף לקריאה גישה ל-
Actions זרימות עבודה והבדיקות API. אם gh לא מותקן או לא מאומת, המדיניות נופלת פתוחה וביוחס סיבה ל-Claude.השבתה מדיניות ספציפיות
הסר מדיניות ספציפית מ-enabledPolicies בהגדרה שלך, או החלף את זה בטאב מדיניות של לוח המחוונים.
enabledPolicies לא רוצות, אפילו אם רשומות policyParams קיימות להם.
