failproofai 0.0.6-beta.0 → 0.0.6-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.failproofai/policies/review-policies.mjs +113 -0
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +5 -5
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/policies/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
- package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0a.nuas._.js → [root-of-the-server]__05akje6._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0.~fd7s._.js → [root-of-the-server]__0i5kvry._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +6 -6
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +5 -5
- package/.next/standalone/.next/server/pages/404.html +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
- package/.next/standalone/.next/static/chunks/{0teq8wdh3po1n.js → 00j0rr7rh8ef8.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0maq.q1t.ri85.js → 05j1px0r8yzh6.js} +2 -2
- package/.next/standalone/.next/static/chunks/0badv41uxa56..js +4 -0
- package/.next/standalone/.next/static/chunks/{0hplx-8c-4vpv.js → 0ijk_kek9_wyx.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0uc0um_uz51m_.js → 0npb~873.wvg3.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0hctoh28rg838.js → 0xpl.oscrakvx.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0.z51twd.0l5z.js → 1052sguyd-.ka.js} +1 -1
- package/.next/standalone/.next/static/chunks/{09e7drilkf1sn.js → 12simlrcfk3g2.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0ul6fk-z.6k-0.js → 14cl9poem30dq.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-0r26pc8h0y_-e.js → turbopack-0o7k.hakttp4k.js} +1 -1
- package/.next/standalone/CHANGELOG.md +19 -0
- package/.next/standalone/README.md +2 -2
- package/.next/standalone/bun.lock +43 -85
- package/.next/standalone/dist/cli.mjs +91 -4
- package/.next/standalone/docs/ar/built-in-policies.mdx +124 -87
- package/.next/standalone/docs/ar/custom-policies.mdx +72 -72
- package/.next/standalone/docs/ar/examples.mdx +86 -33
- package/.next/standalone/docs/ar/getting-started.mdx +82 -29
- package/.next/standalone/docs/built-in-policies.mdx +38 -1
- package/.next/standalone/docs/custom-policies.mdx +1 -1
- package/.next/standalone/docs/de/built-in-policies.mdx +93 -56
- package/.next/standalone/docs/de/custom-policies.mdx +56 -56
- package/.next/standalone/docs/de/examples.mdx +72 -18
- package/.next/standalone/docs/de/getting-started.mdx +72 -20
- package/.next/standalone/docs/es/built-in-policies.mdx +115 -78
- package/.next/standalone/docs/es/custom-policies.mdx +55 -55
- package/.next/standalone/docs/es/examples.mdx +73 -19
- package/.next/standalone/docs/es/getting-started.mdx +72 -20
- package/.next/standalone/docs/examples.mdx +54 -0
- package/.next/standalone/docs/fr/built-in-policies.mdx +83 -46
- package/.next/standalone/docs/fr/custom-policies.mdx +51 -51
- package/.next/standalone/docs/fr/examples.mdx +78 -24
- package/.next/standalone/docs/fr/getting-started.mdx +65 -13
- package/.next/standalone/docs/getting-started.mdx +52 -0
- package/.next/standalone/docs/he/built-in-policies.mdx +156 -117
- package/.next/standalone/docs/he/custom-policies.mdx +75 -75
- package/.next/standalone/docs/he/examples.mdx +87 -33
- package/.next/standalone/docs/he/getting-started.mdx +84 -33
- package/.next/standalone/docs/hi/built-in-policies.mdx +101 -60
- package/.next/standalone/docs/hi/custom-policies.mdx +71 -70
- package/.next/standalone/docs/hi/examples.mdx +90 -36
- package/.next/standalone/docs/hi/getting-started.mdx +80 -27
- package/.next/standalone/docs/i18n/README.ar.md +69 -69
- package/.next/standalone/docs/i18n/README.de.md +46 -46
- package/.next/standalone/docs/i18n/README.es.md +42 -42
- package/.next/standalone/docs/i18n/README.fr.md +39 -39
- package/.next/standalone/docs/i18n/README.he.md +83 -83
- package/.next/standalone/docs/i18n/README.hi.md +69 -69
- package/.next/standalone/docs/i18n/README.it.md +72 -72
- package/.next/standalone/docs/i18n/README.ja.md +71 -71
- package/.next/standalone/docs/i18n/README.ko.md +52 -52
- package/.next/standalone/docs/i18n/README.pt-br.md +44 -44
- package/.next/standalone/docs/i18n/README.ru.md +66 -66
- package/.next/standalone/docs/i18n/README.tr.md +82 -83
- package/.next/standalone/docs/i18n/README.vi.md +70 -71
- package/.next/standalone/docs/i18n/README.zh.md +51 -51
- package/.next/standalone/docs/it/built-in-policies.mdx +118 -81
- package/.next/standalone/docs/it/custom-policies.mdx +69 -69
- package/.next/standalone/docs/it/examples.mdx +93 -39
- package/.next/standalone/docs/it/getting-started.mdx +73 -21
- package/.next/standalone/docs/ja/built-in-policies.mdx +98 -61
- package/.next/standalone/docs/ja/custom-policies.mdx +71 -71
- package/.next/standalone/docs/ja/examples.mdx +76 -22
- package/.next/standalone/docs/ja/getting-started.mdx +65 -13
- package/.next/standalone/docs/ko/built-in-policies.mdx +137 -100
- package/.next/standalone/docs/ko/custom-policies.mdx +67 -67
- package/.next/standalone/docs/ko/examples.mdx +87 -33
- package/.next/standalone/docs/ko/getting-started.mdx +61 -9
- package/.next/standalone/docs/pt-br/built-in-policies.mdx +94 -57
- package/.next/standalone/docs/pt-br/custom-policies.mdx +56 -56
- package/.next/standalone/docs/pt-br/examples.mdx +78 -24
- package/.next/standalone/docs/pt-br/getting-started.mdx +64 -12
- package/.next/standalone/docs/ru/built-in-policies.mdx +142 -105
- package/.next/standalone/docs/ru/custom-policies.mdx +82 -81
- package/.next/standalone/docs/ru/examples.mdx +77 -22
- package/.next/standalone/docs/ru/getting-started.mdx +74 -22
- package/.next/standalone/docs/tr/built-in-policies.mdx +104 -67
- package/.next/standalone/docs/tr/custom-policies.mdx +59 -60
- package/.next/standalone/docs/tr/examples.mdx +97 -42
- package/.next/standalone/docs/tr/getting-started.mdx +75 -23
- package/.next/standalone/docs/vi/built-in-policies.mdx +110 -72
- package/.next/standalone/docs/vi/custom-policies.mdx +68 -68
- package/.next/standalone/docs/vi/examples.mdx +93 -38
- package/.next/standalone/docs/vi/getting-started.mdx +74 -22
- package/.next/standalone/docs/zh/built-in-policies.mdx +132 -95
- package/.next/standalone/docs/zh/custom-policies.mdx +49 -49
- package/.next/standalone/docs/zh/examples.mdx +90 -36
- package/.next/standalone/docs/zh/getting-started.mdx +73 -21
- package/.next/standalone/node_modules/@next/env/package.json +1 -1
- package/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
- package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +7 -7
- package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
- package/.next/standalone/node_modules/next/dist/server/config-schema.js +10 -2
- package/.next/standalone/node_modules/next/dist/server/config.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/render.js +27 -20
- package/.next/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
- package/.next/standalone/node_modules/next/package.json +15 -15
- package/.next/standalone/package.json +2 -2
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/src/hooks/builtin-policies.ts +106 -1
- package/README.md +2 -2
- package/dist/cli.mjs +91 -4
- package/package.json +2 -2
- package/src/hooks/builtin-policies.ts +106 -1
- package/.next/standalone/.next/static/chunks/0w9lwqy0-v1dk.js +0 -4
- /package/.next/standalone/.next/static/{8mygPGI5bzrtWK36ZYO59 → A9pNTZdoYJTVyPAYwQMx5}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{8mygPGI5bzrtWK36ZYO59 → A9pNTZdoYJTVyPAYwQMx5}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{8mygPGI5bzrtWK36ZYO59 → A9pNTZdoYJTVyPAYwQMx5}/_ssgManifest.js +0 -0
|
@@ -1,57 +1,58 @@
|
|
|
1
1
|
---
|
|
2
|
-
title:
|
|
3
|
-
description: "כל 30
|
|
2
|
+
title: מדיניויות מובנות
|
|
3
|
+
description: "כל 30 המדיניויות המובנות שתופסות משטרי כשל נפוצים של סוכנים"
|
|
4
4
|
icon: shield
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
failproofai
|
|
7
|
+
failproofai משלוח עם 30 מדיניויות מובנות תופסות משטרי כשל נפוצים של סוכנים. כל מדיניות נדלקת על סוג אירוע hook ספציפי ושם כלי. תשע מדיניויות מקבלות פרמטרים המאפשרים לך לכוונן את התנהגותן ללא כתיבת קוד. ארבע מדיניויות זרימת עבודה אוכפות צינור commit → push → PR → CI לפני שClaude עוצר.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
## סקירה כללית
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
מדיניויות מקובצות לקטגוריות:
|
|
14
14
|
|
|
15
|
-
| קטגוריה |
|
|
15
|
+
| קטגוריה | מדיניויות | סוג Hook |
|
|
16
16
|
|----------|----------|-----------|
|
|
17
17
|
| [פקודות מסוכנות](#dangerous-commands) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
|
|
18
|
-
| [סודות (
|
|
18
|
+
| [סודות (מטהרים)](#secrets-sanitizers) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
|
|
19
19
|
| [סביבה](#environment) | block-env-files, protect-env-vars | PreToolUse |
|
|
20
20
|
| [גישת קבצים](#file-access) | block-read-outside-cwd, block-secrets-write | PreToolUse |
|
|
21
21
|
| [Git](#git) | block-push-master, block-work-on-main, block-force-push, warn-git-amend, warn-git-stash-drop, warn-all-files-staged | PreToolUse |
|
|
22
|
-
| [
|
|
22
|
+
| [מסד נתונים](#database) | warn-destructive-sql, warn-schema-alteration | PreToolUse |
|
|
23
23
|
| [אזהרות](#warnings) | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
|
|
24
|
-
| [
|
|
24
|
+
| [מנהלי חבילות](#package-managers) | prefer-package-manager | PreToolUse |
|
|
25
|
+
| [זרימת עבודה](#workflow) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
|
|
25
26
|
|
|
26
|
-
- **`block-`** — עצור את הסוכן
|
|
27
|
-
- **`warn-`** — תן
|
|
28
|
-
- **`sanitize-`** — נקה נתונים רגישים מפלט הכלי לפני
|
|
29
|
-
- **`require-`** — חסום את ה-Stop
|
|
27
|
+
- **`block-`** — עצור את הסוכן מהמשך.
|
|
28
|
+
- **`warn-`** — תן להסוכן הקשר נוסף כדי שיוכל להתקן את עצמו.
|
|
29
|
+
- **`sanitize-`** — נקה נתונים רגישים מפלט הכלי לפני שהסוכן רואה זאת.
|
|
30
|
+
- **`require-`** — חסום את אירוע ה-Stop עד להשגת תנאים.
|
|
30
31
|
|
|
31
32
|
---
|
|
32
33
|
|
|
33
34
|
<Tip>
|
|
34
|
-
כל מדיניות תומכת בשדה `hint` אופציונלי ב-`policyParams`. ה-hint מוצמד
|
|
35
|
+
כל מדיניות תומכת בשדה `hint` אופציונלי ב-`policyParams`. ה-hint מוצמד להודעה deny או instruct שClaude רואה, ומספק הנחיה פעולה ללא שינוי קוד מדיניות. עובד עם מדיניויות מובנות, מותאמות והסכמה. ראה [תצורה → hint](/he/configuration#hint-cross-cutting) לפרטים.
|
|
35
36
|
</Tip>
|
|
36
37
|
|
|
37
38
|
---
|
|
38
39
|
|
|
39
40
|
## פקודות מסוכנות
|
|
40
41
|
|
|
41
|
-
מנע
|
|
42
|
+
מנע מסוכנים הפעלת פעולות שקשה לבטל או שעלולות לפגוע במערכת המארחת.
|
|
42
43
|
|
|
43
44
|
### `block-sudo`
|
|
44
45
|
|
|
45
|
-
|
|
46
|
-
**ברירת מחדל:**
|
|
46
|
+
**אירוע:** PreToolUse (Bash)
|
|
47
|
+
**ברירת מחדל:** מסרב לכל פקודת `sudo`.
|
|
47
48
|
|
|
48
|
-
חוסם
|
|
49
|
+
חוסם הפעלות המכילות את המילה-מפתח `sudo`. התאמת הדפוס נעשית על tokens פקודה מנותחים, לא על המחרוזת הגולמית, כדי למנוע עקיפה דרך הזרקה של אופרטור shell.
|
|
49
50
|
|
|
50
51
|
**פרמטרים:**
|
|
51
52
|
|
|
52
|
-
| Param | Type |
|
|
53
|
+
| Param | Type | Default | Description |
|
|
53
54
|
|-------|------|---------|-------------|
|
|
54
|
-
| `allowPatterns` | `string[]` | `[]` | קידומות פקודה מדויקות המותרות. כל
|
|
55
|
+
| `allowPatterns` | `string[]` | `[]` | קידומות פקודה מדויקות המותרות. כל רשומה תואמת נגד tokens argv מנותחים. |
|
|
55
56
|
|
|
56
57
|
**דוגמה:**
|
|
57
58
|
|
|
@@ -65,24 +66,24 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
65
66
|
}
|
|
66
67
|
```
|
|
67
68
|
|
|
68
|
-
עם תצורה זו, `sudo systemctl status nginx` מותר,
|
|
69
|
+
עם תצורה זו, `sudo systemctl status nginx` מותר, אך `sudo rm /etc/hosts` מסורב.
|
|
69
70
|
|
|
70
71
|
<Note>
|
|
71
|
-
דפוסים
|
|
72
|
+
דפוסים תואמים נגד tokens מנותחים, לא מחרוזת הפקודה הגולמית. זה מונע עקיפה דרך אופרטורים shell מצורפים (למשל `sudo systemctl status x; rm -rf /` לא תואם `sudo systemctl status *`).
|
|
72
73
|
</Note>
|
|
73
74
|
|
|
74
75
|
---
|
|
75
76
|
|
|
76
77
|
### `block-rm-rf`
|
|
77
78
|
|
|
78
|
-
|
|
79
|
-
**ברירת מחדל:**
|
|
79
|
+
**אירוע:** PreToolUse (Bash)
|
|
80
|
+
**ברירת מחדל:** מסרב `rm -rf`, `rm -fr`, וצורות מחיקה רקורסיביות דומות.
|
|
80
81
|
|
|
81
82
|
**פרמטרים:**
|
|
82
83
|
|
|
83
|
-
| Param | Type |
|
|
84
|
+
| Param | Type | Default | Description |
|
|
84
85
|
|-------|------|---------|-------------|
|
|
85
|
-
| `allowPaths` | `string[]` | `[]` | נתיבים
|
|
86
|
+
| `allowPaths` | `string[]` | `[]` | נתיבים שבטוח למחוק בצורה רקורסיבית (למשל `/tmp`). |
|
|
86
87
|
|
|
87
88
|
**דוגמה:**
|
|
88
89
|
|
|
@@ -100,8 +101,8 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
100
101
|
|
|
101
102
|
### `block-curl-pipe-sh`
|
|
102
103
|
|
|
103
|
-
|
|
104
|
-
**ברירת מחדל:**
|
|
104
|
+
**אירוע:** PreToolUse (Bash)
|
|
105
|
+
**ברירת מחדל:** מסרב `curl <url> | bash`, `curl <url> | sh`, `wget <url> | bash`, ודפוסים דומים.
|
|
105
106
|
|
|
106
107
|
אין פרמטרים.
|
|
107
108
|
|
|
@@ -109,21 +110,21 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
109
110
|
|
|
110
111
|
### `block-failproofai-commands`
|
|
111
112
|
|
|
112
|
-
|
|
113
|
-
**ברירת מחדל:**
|
|
113
|
+
**אירוע:** PreToolUse (Bash)
|
|
114
|
+
**ברירת מחדל:** מסרב פקודות שהיו מסירות או מנטרלות את failproofai עצמו (למשל `npm uninstall failproofai`, `failproofai policies --uninstall`).
|
|
114
115
|
|
|
115
116
|
אין פרמטרים.
|
|
116
117
|
|
|
117
118
|
---
|
|
118
119
|
|
|
119
|
-
## סודות (
|
|
120
|
+
## סודות (מטהרים)
|
|
120
121
|
|
|
121
|
-
|
|
122
|
+
עצור סוכנים מדליפת אישורים להקשרם או לפלטם. מדיניויות מטהר מופעלות על אירועי **PostToolUse**. כאשר Claude מפעיל פקודת Bash, קורא קובץ, או קורא לכל כלי, מדיניויות אלה בדוקות את הפלט לפני החזרתו ל-Claude. אם תבנית סוד מגוררת, המדיניות מחזירה החלטת deny שמונעת את הפלט מהעברה חזרה.
|
|
122
123
|
|
|
123
124
|
### `sanitize-jwt`
|
|
124
125
|
|
|
125
|
-
|
|
126
|
-
**ברירת מחדל:**
|
|
126
|
+
**אירוע:** PostToolUse (כל הכלים)
|
|
127
|
+
**ברירת מחדל:** גורם לעיבוד token JWT (שלושה segments base64url מופרדים ב-`.`).
|
|
127
128
|
|
|
128
129
|
אין פרמטרים.
|
|
129
130
|
|
|
@@ -131,14 +132,14 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
131
132
|
|
|
132
133
|
### `sanitize-api-keys`
|
|
133
134
|
|
|
134
|
-
|
|
135
|
-
**ברירת מחדל:**
|
|
135
|
+
**אירוע:** PostToolUse (כל הכלים)
|
|
136
|
+
**ברירת מחדל:** גורם לעיבוד פורמטי מפתח API נפוצים: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), מפתחות גישה AWS (`AKIA`), Stripe keys (`sk_live_`, `sk_test_`), ו-Google API keys (`AIza`).
|
|
136
137
|
|
|
137
138
|
**פרמטרים:**
|
|
138
139
|
|
|
139
|
-
| Param | Type |
|
|
140
|
+
| Param | Type | Default | Description |
|
|
140
141
|
|-------|------|---------|-------------|
|
|
141
|
-
| `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | דפוסי regex נוספים
|
|
142
|
+
| `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | דפוסי regex נוספים לטיפול בהם כסודות. |
|
|
142
143
|
|
|
143
144
|
**דוגמה:**
|
|
144
145
|
|
|
@@ -159,8 +160,8 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
159
160
|
|
|
160
161
|
### `sanitize-connection-strings`
|
|
161
162
|
|
|
162
|
-
|
|
163
|
-
**ברירת מחדל:**
|
|
163
|
+
**אירוע:** PostToolUse (כל הכלים)
|
|
164
|
+
**ברירת מחדל:** גורם לעיבוד מחרוזות חיבור מסד נתונים המכילות אישורים משובצים (למשל `postgresql://user:password@host/db`).
|
|
164
165
|
|
|
165
166
|
אין פרמטרים.
|
|
166
167
|
|
|
@@ -168,8 +169,8 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
168
169
|
|
|
169
170
|
### `sanitize-private-key-content`
|
|
170
171
|
|
|
171
|
-
|
|
172
|
-
**ברירת מחדל:**
|
|
172
|
+
**אירוע:** PostToolUse (כל הכלים)
|
|
173
|
+
**ברירת מחדל:** גורם לעיבוד בלוקי PEM (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, וכו').
|
|
173
174
|
|
|
174
175
|
אין פרמטרים.
|
|
175
176
|
|
|
@@ -177,8 +178,8 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
177
178
|
|
|
178
179
|
### `sanitize-bearer-tokens`
|
|
179
180
|
|
|
180
|
-
|
|
181
|
-
**ברירת מחדל:**
|
|
181
|
+
**אירוע:** PostToolUse (כל הכלים)
|
|
182
|
+
**ברירת מחדל:** גורם לעיבוד כותרי `Authorization: Bearer <token>` כאשר ה-token הוא 20 תווים או יותר.
|
|
182
183
|
|
|
183
184
|
אין פרמטרים.
|
|
184
185
|
|
|
@@ -186,14 +187,14 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
186
187
|
|
|
187
188
|
## סביבה
|
|
188
189
|
|
|
189
|
-
הגן על תצורת סביבה רגישה
|
|
190
|
+
הגן על תצורת סביבה רגישה מלהיות קראה או חשופה על ידי סוכנים.
|
|
190
191
|
|
|
191
192
|
### `block-env-files`
|
|
192
193
|
|
|
193
|
-
|
|
194
|
-
**ברירת מחדל:**
|
|
194
|
+
**אירוע:** PreToolUse (Bash, Read)
|
|
195
|
+
**ברירת מחדל:** מסרב קריאת קבצי `.env` דרך `cat .env`, קריאות כלי Read עם `.env` כנתיב הקובץ, וכו'.
|
|
195
196
|
|
|
196
|
-
לא חוסם `.envrc` או קבצים
|
|
197
|
+
לא חוסם `.envrc` או קבצים סמוכים לסביבה אחרים - רק קבצים שנקראים בדיוק `.env`.
|
|
197
198
|
|
|
198
199
|
אין פרמטרים.
|
|
199
200
|
|
|
@@ -201,8 +202,8 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
201
202
|
|
|
202
203
|
### `protect-env-vars`
|
|
203
204
|
|
|
204
|
-
|
|
205
|
-
**ברירת מחדל:**
|
|
205
|
+
**אירוע:** PreToolUse (Bash)
|
|
206
|
+
**ברירת מחדל:** מסרב פקודות המדפיסות משתנים של סביבה: `printenv`, `env`, `echo $VAR`.
|
|
206
207
|
|
|
207
208
|
אין פרמטרים.
|
|
208
209
|
|
|
@@ -210,18 +211,18 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
210
211
|
|
|
211
212
|
## גישת קבצים
|
|
212
213
|
|
|
213
|
-
שמור סוכנים לעבוד בתוך גבולות פרויקט
|
|
214
|
+
שמור סוכנים לעבוד בתוך גבולות פרויקט ורחוקים מקבצים רגישים.
|
|
214
215
|
|
|
215
216
|
### `block-read-outside-cwd`
|
|
216
217
|
|
|
217
|
-
|
|
218
|
-
**ברירת מחדל:**
|
|
218
|
+
**אירוע:** PreToolUse (Read, Bash)
|
|
219
|
+
**ברירת מחדל:** מסרב קריאת קבצים מחוץ לספריית העבודה הנוכחית (שורש הפרויקט).
|
|
219
220
|
|
|
220
221
|
**פרמטרים:**
|
|
221
222
|
|
|
222
|
-
| Param | Type |
|
|
223
|
+
| Param | Type | Default | Description |
|
|
223
224
|
|-------|------|---------|-------------|
|
|
224
|
-
| `allowPaths` | `string[]` | `[]` | קידומות נתיב מוחלט המותרות
|
|
225
|
+
| `allowPaths` | `string[]` | `[]` | קידומות נתיב מוחלט המותרות גם אם מחוץ ל-cwd. |
|
|
225
226
|
|
|
226
227
|
**דוגמה:**
|
|
227
228
|
|
|
@@ -239,14 +240,14 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
239
240
|
|
|
240
241
|
### `block-secrets-write`
|
|
241
242
|
|
|
242
|
-
|
|
243
|
-
**ברירת מחדל:**
|
|
243
|
+
**אירוע:** PreToolUse (Write, Edit)
|
|
244
|
+
**ברירת מחדל:** מסרב כתיבה לקבצים בשימוש נפוץ למפתחות פרטיים וסרטיפיקטים: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
|
|
244
245
|
|
|
245
246
|
**פרמטרים:**
|
|
246
247
|
|
|
247
|
-
| Param | Type |
|
|
248
|
+
| Param | Type | Default | Description |
|
|
248
249
|
|-------|------|---------|-------------|
|
|
249
|
-
| `additionalPatterns` | `string[]` | `[]` | דפוסי שם קובץ נוספים (glob
|
|
250
|
+
| `additionalPatterns` | `string[]` | `[]` | דפוסי שם קובץ נוספים (סגנון glob) לחסימה. |
|
|
250
251
|
|
|
251
252
|
**דוגמה:**
|
|
252
253
|
|
|
@@ -264,18 +265,18 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
264
265
|
|
|
265
266
|
## Git
|
|
266
267
|
|
|
267
|
-
מנע
|
|
268
|
+
מנע דחיפות מקרי, force-pushes, וטעויות בענף שקשה לבטל.
|
|
268
269
|
|
|
269
270
|
### `block-push-master`
|
|
270
271
|
|
|
271
|
-
|
|
272
|
-
**ברירת מחדל:**
|
|
272
|
+
**אירוע:** PreToolUse (Bash)
|
|
273
|
+
**ברירת מחדל:** מסרב `git push origin main` ו-`git push origin master`.
|
|
273
274
|
|
|
274
275
|
**פרמטרים:**
|
|
275
276
|
|
|
276
|
-
| Param | Type |
|
|
277
|
+
| Param | Type | Default | Description |
|
|
277
278
|
|-------|------|---------|-------------|
|
|
278
|
-
| `protectedBranches` | `string[]` | `["main", "master"]` | שמות
|
|
279
|
+
| `protectedBranches` | `string[]` | `["main", "master"]` | שמות ענפים שלא ניתן לדחוף אליהם ישירות. |
|
|
279
280
|
|
|
280
281
|
**דוגמה:**
|
|
281
282
|
|
|
@@ -290,30 +291,30 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
290
291
|
```
|
|
291
292
|
|
|
292
293
|
<Tip>
|
|
293
|
-
|
|
294
|
+
לאפשור דחיפה לכל הענפים (למעשה להשבית מדיניות זו ללא הסרתה מ-`enabledPolicies`), קבע `protectedBranches: []`.
|
|
294
295
|
</Tip>
|
|
295
296
|
|
|
296
297
|
---
|
|
297
298
|
|
|
298
299
|
### `block-work-on-main`
|
|
299
300
|
|
|
300
|
-
|
|
301
|
-
**ברירת מחדל:**
|
|
301
|
+
**אירוע:** PreToolUse (Bash)
|
|
302
|
+
**ברירת מחדל:** מסרב בדיקה של ענפי `main` או `master` ישירות.
|
|
302
303
|
|
|
303
304
|
**פרמטרים:**
|
|
304
305
|
|
|
305
|
-
| Param | Type |
|
|
306
|
+
| Param | Type | Default | Description |
|
|
306
307
|
|-------|------|---------|-------------|
|
|
307
|
-
| `protectedBranches` | `string[]` | `["main", "master"]` | שמות
|
|
308
|
+
| `protectedBranches` | `string[]` | `["main", "master"]` | שמות ענפים שלא ניתן לבדוק ישירות. |
|
|
308
309
|
|
|
309
310
|
---
|
|
310
311
|
|
|
311
312
|
### `block-force-push`
|
|
312
313
|
|
|
313
|
-
|
|
314
|
-
**ברירת מחדל:**
|
|
314
|
+
**אירוע:** PreToolUse (Bash)
|
|
315
|
+
**ברירת מחדל:** מסרב `git push --force` ו-`git push -f`.
|
|
315
316
|
|
|
316
|
-
אין פרמטרים ספציפיים למדיניות. השתמש ב-[`hint`](/he/configuration#hint-cross-cutting)
|
|
317
|
+
אין פרמטרים ספציפיים למדיניות. השתמש ב-[`hint`](/he/configuration#hint-cross-cutting) חוצה-חתכי להצע חלופות:
|
|
317
318
|
|
|
318
319
|
```json
|
|
319
320
|
{
|
|
@@ -329,8 +330,8 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
329
330
|
|
|
330
331
|
### `warn-git-amend`
|
|
331
332
|
|
|
332
|
-
|
|
333
|
-
**ברירת מחדל:**
|
|
333
|
+
**אירוע:** PreToolUse (Bash)
|
|
334
|
+
**ברירת מחדל:** נדרש Claude להמשיך בזהירות בעת הפעלת `git commit --amend`. אל חוסם את הפקודה.
|
|
334
335
|
|
|
335
336
|
אין פרמטרים.
|
|
336
337
|
|
|
@@ -338,8 +339,8 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
338
339
|
|
|
339
340
|
### `warn-git-stash-drop`
|
|
340
341
|
|
|
341
|
-
|
|
342
|
-
**ברירת מחדל:**
|
|
342
|
+
**אירוע:** PreToolUse (Bash)
|
|
343
|
+
**ברירת מחדל:** נדרש Claude לאשר לפני הפעלת `git stash drop`. אל חוסם את הפקודה.
|
|
343
344
|
|
|
344
345
|
אין פרמטרים.
|
|
345
346
|
|
|
@@ -347,21 +348,21 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
347
348
|
|
|
348
349
|
### `warn-all-files-staged`
|
|
349
350
|
|
|
350
|
-
|
|
351
|
-
**ברירת מחדל:**
|
|
351
|
+
**אירוע:** PreToolUse (Bash)
|
|
352
|
+
**ברירת מחדל:** נדרש Claude לסקור את מה שהוא מפיץ בעת הפעלת `git add -A` או `git add .`. אל חוסם את הפקודה.
|
|
352
353
|
|
|
353
354
|
אין פרמטרים.
|
|
354
355
|
|
|
355
356
|
---
|
|
356
357
|
|
|
357
|
-
##
|
|
358
|
+
## מסד נתונים
|
|
358
359
|
|
|
359
|
-
|
|
360
|
+
תפס פעולות SQL הרסניות לפני שהן מתבצעות נגד מסד הנתונים שלך.
|
|
360
361
|
|
|
361
362
|
### `warn-destructive-sql`
|
|
362
363
|
|
|
363
|
-
|
|
364
|
-
**ברירת מחדל:**
|
|
364
|
+
**אירוע:** PreToolUse (Bash)
|
|
365
|
+
**ברירת מחדל:** נדרש Claude לאשר לפני הפעלת SQL המכיל `DROP TABLE`, `DROP DATABASE`, או `DELETE` ללא סעיף `WHERE`.
|
|
365
366
|
|
|
366
367
|
אין פרמטרים.
|
|
367
368
|
|
|
@@ -369,8 +370,8 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
369
370
|
|
|
370
371
|
### `warn-schema-alteration`
|
|
371
372
|
|
|
372
|
-
|
|
373
|
-
**ברירת מחדל:**
|
|
373
|
+
**אירוע:** PreToolUse (Bash)
|
|
374
|
+
**ברירת מחדל:** נדרש Claude לאשר לפני הפעלת אמירות `ALTER TABLE`.
|
|
374
375
|
|
|
375
376
|
אין פרמטרים.
|
|
376
377
|
|
|
@@ -382,14 +383,14 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
382
383
|
|
|
383
384
|
### `warn-large-file-write`
|
|
384
385
|
|
|
385
|
-
|
|
386
|
-
**ברירת מחדל:**
|
|
386
|
+
**אירוע:** PreToolUse (Write)
|
|
387
|
+
**ברירת מחדל:** נדרש Claude לאשר לפני כתיבת קבצים גדולים מ-1024 KB.
|
|
387
388
|
|
|
388
389
|
**פרמטרים:**
|
|
389
390
|
|
|
390
|
-
| Param | Type |
|
|
391
|
+
| Param | Type | Default | Description |
|
|
391
392
|
|-------|------|---------|-------------|
|
|
392
|
-
| `thresholdKb` | `number` | `1024` | סף גודל קובץ בקילובייטים שמעליו
|
|
393
|
+
| `thresholdKb` | `number` | `1024` | סף גודל קובץ בקילובייטים שמעליו מונפקת אזהרה. |
|
|
393
394
|
|
|
394
395
|
**דוגמה:**
|
|
395
396
|
|
|
@@ -404,15 +405,15 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
404
405
|
```
|
|
405
406
|
|
|
406
407
|
<Note>
|
|
407
|
-
ה-hook handler אוכף
|
|
408
|
+
ה-hook handler אוכף מגבלת stdin בגודל 1 MB על payload. כדי לבדוק מדיניות זו עם תוכן קטן, קבע `thresholdKb` לערך בהרבה מתחת ל-1024.
|
|
408
409
|
</Note>
|
|
409
410
|
|
|
410
411
|
---
|
|
411
412
|
|
|
412
413
|
### `warn-package-publish`
|
|
413
414
|
|
|
414
|
-
|
|
415
|
-
**ברירת מחדל:**
|
|
415
|
+
**אירוע:** PreToolUse (Bash)
|
|
416
|
+
**ברירת מחדל:** נדרש Claude לאשר לפני הפעלת `npm publish`.
|
|
416
417
|
|
|
417
418
|
אין פרמטרים.
|
|
418
419
|
|
|
@@ -420,8 +421,8 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
420
421
|
|
|
421
422
|
### `warn-background-process`
|
|
422
423
|
|
|
423
|
-
|
|
424
|
-
**ברירת מחדל:**
|
|
424
|
+
**אירוע:** PreToolUse (Bash)
|
|
425
|
+
**ברירת מחדל:** נדרש Claude להיזהר בעת הפעלת תהליכי רקע דרך `nohup`, `&`, `disown`, או `screen`.
|
|
425
426
|
|
|
426
427
|
אין פרמטרים.
|
|
427
428
|
|
|
@@ -429,36 +430,72 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
429
430
|
|
|
430
431
|
### `warn-global-package-install`
|
|
431
432
|
|
|
432
|
-
|
|
433
|
-
**ברירת מחדל:**
|
|
433
|
+
**אירוע:** PreToolUse (Bash)
|
|
434
|
+
**ברירת מחדל:** נדרש Claude לאשר לפני הפעלת `npm install -g`, `yarn global add`, או `pip install` ללא סביבה וירטואלית.
|
|
434
435
|
|
|
435
436
|
אין פרמטרים.
|
|
436
437
|
|
|
437
438
|
---
|
|
438
439
|
|
|
440
|
+
## מנהלי חבילות
|
|
441
|
+
|
|
442
|
+
אכוף אילו מנהלי חבילות מותרים לסוכן להשתמש.
|
|
443
|
+
|
|
444
|
+
### `prefer-package-manager`
|
|
445
|
+
|
|
446
|
+
**אירוע:** PreToolUse (Bash)
|
|
447
|
+
**ברירת מחדל:** מנוטרל. כאשר מופעל, חוסם כל פקודת מנהל חבילה לא ברשימת `allowed` ויאמר Claude לשכתב את הפקודה תוך שימוש במנהל מותר.
|
|
448
|
+
|
|
449
|
+
מגלה: pip, pip3, python -m pip, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo.
|
|
450
|
+
|
|
451
|
+
| Parameter | Type | Default | Description |
|
|
452
|
+
|-----------|------|---------|-------------|
|
|
453
|
+
| `allowed` | string[] | `[]` | שמות מנהל חבילה מותרים. כל מנהל מגוגדל לא בחסימה זו מחוסם. כאשר ריק, המדיניות היא no-op. |
|
|
454
|
+
| `blocked` | string[] | `[]` | שמות מנהל נוספים לחסימה מעבר לחסימה המובנית (למשל `['pdm', 'pipx']`). |
|
|
455
|
+
|
|
456
|
+
רשימת החסימה המובנית מכסה: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo. השתמש ב-`blocked` להוסיף מנהלים לא בחסימה זו.
|
|
457
|
+
|
|
458
|
+
**דוגמה תצורה:**
|
|
459
|
+
|
|
460
|
+
```json
|
|
461
|
+
{
|
|
462
|
+
"enabledPolicies": ["prefer-package-manager"],
|
|
463
|
+
"policyParams": {
|
|
464
|
+
"prefer-package-manager": {
|
|
465
|
+
"allowed": ["uv", "bun"],
|
|
466
|
+
"blocked": ["pdm", "pipx"]
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
עם תצורה זו, `pip install flask` ו-`pdm install flask` שניהם מסורבים עם הודעה שמחויבת Claude להשתמש ב-`uv` או `bun` במקום. פקודות כמו `uv pip install flask` מותרות כי `uv` בחסימה ובדוקה ראשונה.
|
|
473
|
+
|
|
474
|
+
---
|
|
475
|
+
|
|
439
476
|
## התנהגות AI
|
|
440
477
|
|
|
441
|
-
|
|
478
|
+
גלה כאשר סוכנים תקועים או מתנהגים בצפוי.
|
|
442
479
|
|
|
443
480
|
### `warn-repeated-tool-calls`
|
|
444
481
|
|
|
445
|
-
|
|
446
|
-
**ברירת מחדל:**
|
|
482
|
+
**אירוע:** PreToolUse (כל הכלים)
|
|
483
|
+
**ברירת מחדל:** נדרש Claude לשקול מחדש כאשר אותו כלי נקרא 3+ פעמים עם פרמטרים זהים - סימן נפוץ לכך שהסוכן תקוע בלולאה.
|
|
447
484
|
|
|
448
485
|
אין פרמטרים.
|
|
449
486
|
|
|
450
487
|
---
|
|
451
488
|
|
|
452
|
-
##
|
|
489
|
+
## זרימת עבודה
|
|
453
490
|
|
|
454
|
-
אכוף
|
|
491
|
+
אכוף זרימת עבודה משומרת בסוף הסשן. מדיניויות אלה מופעלות על אירוע **Stop** וכן Claude עוצר עד להשגת כל תנאי. הם עוקבים אחרי שרשרת תלות טבעית: commit → push → PR → CI. אם מדיניות מסירה, מדיניויות מאוחרות יותר בשרשרת מתדלדלות (deny קיצור-מעגל).
|
|
455
492
|
|
|
456
|
-
כל
|
|
493
|
+
כל מדיניויות זרימת עבודה הם **fail-open**: אם הכלי הנדרש אינו זמין (למשל `gh` לא מותקן, אין git remote), המדיניות מאפשרת עם הודעה מידעתית מסבירה מדוע בדיקה דלקדה.
|
|
457
494
|
|
|
458
495
|
### `require-commit-before-stop`
|
|
459
496
|
|
|
460
|
-
|
|
461
|
-
**ברירת מחדל:**
|
|
497
|
+
**אירוע:** Stop
|
|
498
|
+
**ברירת מחדל:** מסרב עצירה כאשר יש שינויים לא מעודכנים (קבצים שונים, בשלב או לא מעקובים). מחזיר הודעה מידעתית כאשר ספריית עבודה נקייה.
|
|
462
499
|
|
|
463
500
|
אין פרמטרים.
|
|
464
501
|
|
|
@@ -466,14 +503,14 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
466
503
|
|
|
467
504
|
### `require-push-before-stop`
|
|
468
505
|
|
|
469
|
-
|
|
470
|
-
**ברירת מחדל:**
|
|
506
|
+
**אירוע:** Stop
|
|
507
|
+
**ברירת מחדל:** מסרב עצירה כאשר יש commits לא דחופים או כאשר לענף הנוכחי אין ענף עקיבה רחוק. מצביע על `git push -u` ליצור ענף עקיבה במידת הצורך. נכשל פתוח אם אין remote מוגדר.
|
|
471
508
|
|
|
472
509
|
**פרמטרים:**
|
|
473
510
|
|
|
474
|
-
| Param | Type |
|
|
511
|
+
| Param | Type | Default | Description |
|
|
475
512
|
|-------|------|---------|-------------|
|
|
476
|
-
| `remote` | `string` | `"origin"` | שם remote
|
|
513
|
+
| `remote` | `string` | `"origin"` | שם remote לדחוף אליו. |
|
|
477
514
|
|
|
478
515
|
**דוגמה:**
|
|
479
516
|
|
|
@@ -491,37 +528,39 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
491
528
|
|
|
492
529
|
### `require-pr-before-stop`
|
|
493
530
|
|
|
494
|
-
|
|
495
|
-
**ברירת מחדל:**
|
|
531
|
+
**אירוע:** Stop
|
|
532
|
+
**ברירת מחדל:** מסרב עצירה כאשר אין בקשת pull לענף הנוכחי, או כאשר ה-PR הקיים סגור/מונוזג. נדרש Claude ליצור PR עם `gh pr create`.
|
|
496
533
|
|
|
497
534
|
אין פרמטרים.
|
|
498
535
|
|
|
499
536
|
<Note>
|
|
500
|
-
מדיניות זו דורשת [GitHub CLI](https://cli.github.com/) (`gh`)
|
|
501
|
-
|
|
537
|
+
מדיניות זו דורשת [GitHub CLI](https://cli.github.com/) (`gh`) להיות מותקנת ומאומתת.
|
|
538
|
+
הפעל `gh auth login` עם token גישה אישי שיש לו `repo` scope לקריאה גישה ל-
|
|
539
|
+
בקשות pull. אם `gh` לא מותקן או לא מאומת, המדיניות נכשלת פתוחה ודוחה את הסיבה ל-Claude.
|
|
502
540
|
</Note>
|
|
503
541
|
|
|
504
542
|
---
|
|
505
543
|
|
|
506
544
|
### `require-ci-green-before-stop`
|
|
507
545
|
|
|
508
|
-
|
|
509
|
-
**ברירת מחדל:**
|
|
546
|
+
**אירוע:** Stop
|
|
547
|
+
**ברירת מחדל:** מסרב עצירה כאשר בדיקות CI נכשלות או עדיין מפעיל בענף הנוכחי. בדוקות GitHub Actions workflow runs ובדיקות bot צד שלישי (למשל CodeRabbit, SonarCloud, Codecov). טיפול `skipped` סיום כהצלחה. מחזיר הודעה מידעתית כאשר כל בדיקות עברו.
|
|
510
548
|
|
|
511
549
|
אין פרמטרים.
|
|
512
550
|
|
|
513
551
|
<Note>
|
|
514
|
-
מדיניות זו דורשת [GitHub CLI](https://cli.github.com/) (`gh`)
|
|
515
|
-
|
|
552
|
+
מדיניות זו דורשת [GitHub CLI](https://cli.github.com/) (`gh`) להיות מותקנת ומאומתת.
|
|
553
|
+
הפעל `gh auth login` עם token גישה אישי שיש לו `repo` scope לקריאה גישה ל-
|
|
554
|
+
Actions workflow runs ו-Checks API. אם `gh` לא מותקן או לא מאומת, המדיניות נכשלת פתוחה ודוחה את הסיבה ל-Claude.
|
|
516
555
|
</Note>
|
|
517
556
|
|
|
518
557
|
---
|
|
519
558
|
|
|
520
559
|
---
|
|
521
560
|
|
|
522
|
-
## השבתת
|
|
561
|
+
## השבתת מדיניויות בודדות
|
|
523
562
|
|
|
524
|
-
הסר מדיניות ספציפית מ-`enabledPolicies` בתצורה שלך, או
|
|
563
|
+
הסר מדיניות ספציפית מ-`enabledPolicies` בתצורה שלך, או שחקה אותה ב-tab Policies של לוח הבקרה.
|
|
525
564
|
|
|
526
565
|
```json
|
|
527
566
|
{
|
|
@@ -532,4 +571,4 @@ failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי
|
|
|
532
571
|
}
|
|
533
572
|
```
|
|
534
573
|
|
|
535
|
-
|
|
574
|
+
מדיניויות לא רשומות ב-`enabledPolicies` לא מופעלות, גם אם רשומות `policyParams` קיימות עבורן.
|