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
|
@@ -25,21 +25,21 @@
|
|
|
25
25
|
|
|
26
26
|
**תרגומים**: [简体中文](docs/i18n/README.zh.md) | [日本語](docs/i18n/README.ja.md) | [한국어](docs/i18n/README.ko.md) | [Español](docs/i18n/README.es.md) | [Português](docs/i18n/README.pt-br.md) | [Deutsch](docs/i18n/README.de.md) | [Français](docs/i18n/README.fr.md) | [Русский](docs/i18n/README.ru.md) | [हिन्दी](docs/i18n/README.hi.md) | [Türkçe](docs/i18n/README.tr.md) | [Tiếng Việt](docs/i18n/README.vi.md) | [Italiano](docs/i18n/README.it.md) | [العربية](docs/i18n/README.ar.md) | [עברית](docs/i18n/README.he.md)
|
|
27
27
|
|
|
28
|
-
הדרך הקלה ביותר לנהל
|
|
28
|
+
הדרך הקלה ביותר לנהל מדיניות המשמרות על סוכני AI שלך בעלי אמינות, ממוקדי משימה, ופועלים באופן עצמאי - עבור **Claude Code** וה-**Agents SDK**.
|
|
29
29
|
|
|
30
|
-
- **30
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
- **Agent Monitor** -
|
|
30
|
+
- **30 מדיניות מובנות** - תפסו מצבי כישלון נפוצים של סוכנים מהותיבה. חסמו פקודות הרסניות, מנעו דליפת סודות, שמרו סוכנים בתוך גבולות הפרויקט, גלו לולאות, ועוד.
|
|
31
|
+
- **מדיניות מותאמות אישית** - כתבו את כללי האמינות שלכם ב-JavaScript. השתמשו ב-API `allow`/`deny`/`instruct` כדי לאכוף קונוונציות, למנוע סטייה, לשער פעולות, או להשתלב עם מערכות חיצוניות.
|
|
32
|
+
- **תצורה קלה** - כווננו כל מדיניות ללא כתיבת קוד. הגדרו רשימות מורשה, ענפים מוגנים, סף ליחידה לפרויקט או באופן גלובלי. שלוש-טווח תצורה מתמזגת באופן אוטומטי.
|
|
33
|
+
- **Agent Monitor** - ראו מה עשו הסוכנים שלכם בזמן שהייתם הרחוק. דפדפו בהפעלות, בדקו כל קריאת כלי, וסקרו בדיוק איפה מדיניויות הופעלו.
|
|
34
34
|
|
|
35
|
-
הכל פועל באופן מקומי -
|
|
35
|
+
הכל פועל באופן מקומי - אף נתונים לא משאירים את המכונה שלך.
|
|
36
36
|
|
|
37
37
|
---
|
|
38
38
|
|
|
39
39
|
## דרישות
|
|
40
40
|
|
|
41
41
|
- Node.js >= 20.9.0
|
|
42
|
-
- Bun >= 1.3.0 (אופציונלי - נדרש רק לפיתוח / בנייה
|
|
42
|
+
- Bun >= 1.3.0 (אופציונלי - נדרש רק לפיתוח / בנייה מהקוד המקור)
|
|
43
43
|
|
|
44
44
|
---
|
|
45
45
|
|
|
@@ -55,7 +55,7 @@ bun add -g failproofai
|
|
|
55
55
|
|
|
56
56
|
## התחלה מהירה
|
|
57
57
|
|
|
58
|
-
### 1.
|
|
58
|
+
### 1. הפעלת מדיניויות בגלובליות
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
61
|
failproofai policies --install
|
|
@@ -63,15 +63,15 @@ failproofai policies --install
|
|
|
63
63
|
|
|
64
64
|
כותב ערכי hook ל-`~/.claude/settings.json`. Claude Code יזמן כעת את failproofai לפני ואחרי כל קריאת כלי.
|
|
65
65
|
|
|
66
|
-
### 2.
|
|
66
|
+
### 2. הפעלת לוח הבקרה
|
|
67
67
|
|
|
68
68
|
```bash
|
|
69
69
|
failproofai
|
|
70
70
|
```
|
|
71
71
|
|
|
72
|
-
פותח את `http://localhost:8020` -
|
|
72
|
+
פותח את `http://localhost:8020` - דפדפו בהפעלות, בדקו יומנים, נהלו מדיניויות.
|
|
73
73
|
|
|
74
|
-
### 3.
|
|
74
|
+
### 3. בדיקת מה הוא פעיל
|
|
75
75
|
|
|
76
76
|
```bash
|
|
77
77
|
failproofai policies
|
|
@@ -85,29 +85,29 @@ failproofai policies
|
|
|
85
85
|
|
|
86
86
|
| טווח | פקודה | היכן הוא כותב |
|
|
87
87
|
|-------|---------|-----------------|
|
|
88
|
-
|
|
|
88
|
+
| גלובלי (ברירת מחדל) | `failproofai policies --install` | `~/.claude/settings.json` |
|
|
89
89
|
| פרויקט | `failproofai policies --install --scope project` | `.claude/settings.json` |
|
|
90
90
|
| מקומי | `failproofai policies --install --scope local` | `.claude/settings.local.json` |
|
|
91
91
|
|
|
92
|
-
###
|
|
92
|
+
### התקנת מדיניויות ספציפיות
|
|
93
93
|
|
|
94
94
|
```bash
|
|
95
95
|
failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
|
|
96
96
|
```
|
|
97
97
|
|
|
98
|
-
###
|
|
98
|
+
### הסרת מדיניויות
|
|
99
99
|
|
|
100
100
|
```bash
|
|
101
101
|
failproofai policies --uninstall
|
|
102
|
-
# או
|
|
102
|
+
# או לטווח ספציפי:
|
|
103
103
|
failproofai policies --uninstall --scope project
|
|
104
104
|
```
|
|
105
105
|
|
|
106
106
|
---
|
|
107
107
|
|
|
108
|
-
##
|
|
108
|
+
## תצורה
|
|
109
109
|
|
|
110
|
-
|
|
110
|
+
תצורת מדיניות נמצאת ב-`~/.failproofai/policies-config.json` (גלובלי) או `.failproofai/policies-config.json` בפרויקט שלכם (לכל פרויקט).
|
|
111
111
|
|
|
112
112
|
```json
|
|
113
113
|
{
|
|
@@ -122,11 +122,11 @@ failproofai policies --uninstall --scope project
|
|
|
122
122
|
"policyParams": {
|
|
123
123
|
"block-sudo": {
|
|
124
124
|
"allowPatterns": ["sudo systemctl status", "sudo journalctl"],
|
|
125
|
-
"hint": "
|
|
125
|
+
"hint": "השתמשו ב-apt-get ישירות ללא sudo."
|
|
126
126
|
},
|
|
127
127
|
"block-push-master": {
|
|
128
128
|
"protectedBranches": ["main", "release", "prod"],
|
|
129
|
-
"hint": "
|
|
129
|
+
"hint": "נסו ליצור ענף טרי במקום."
|
|
130
130
|
},
|
|
131
131
|
"sanitize-api-keys": {
|
|
132
132
|
"additionalPatterns": [
|
|
@@ -140,55 +140,55 @@ failproofai policies --uninstall --scope project
|
|
|
140
140
|
}
|
|
141
141
|
```
|
|
142
142
|
|
|
143
|
-
**שלוש טווחי
|
|
143
|
+
**שלוש טווחי תצורה** מתמזגים באופן אוטומטי (פרויקט → מקומי → גלובלי). ראו [docs/configuration.mdx](docs/configuration.mdx) לכללי מזג מלאים.
|
|
144
144
|
|
|
145
145
|
---
|
|
146
146
|
|
|
147
147
|
## מדיניויות מובנות
|
|
148
148
|
|
|
149
|
-
| מדיניות | תיאור |
|
|
149
|
+
| מדיניות | תיאור | הניתן להגדרה |
|
|
150
150
|
|--------|-------------|:---:|
|
|
151
|
-
| `block-sudo` |
|
|
152
|
-
| `block-rm-rf` |
|
|
153
|
-
| `block-curl-pipe-sh` |
|
|
154
|
-
| `block-failproofai-commands` |
|
|
155
|
-
| `sanitize-jwt` |
|
|
156
|
-
| `sanitize-api-keys` |
|
|
157
|
-
| `sanitize-connection-strings` |
|
|
158
|
-
| `sanitize-private-key-content` |
|
|
159
|
-
| `sanitize-bearer-tokens` |
|
|
160
|
-
| `block-env-files` |
|
|
161
|
-
| `protect-env-vars` |
|
|
162
|
-
| `block-read-outside-cwd` |
|
|
163
|
-
| `block-secrets-write` |
|
|
164
|
-
| `block-push-master` |
|
|
165
|
-
| `block-work-on-main` |
|
|
166
|
-
| `block-force-push` |
|
|
167
|
-
| `warn-git-amend` |
|
|
168
|
-
| `warn-git-stash-drop` |
|
|
169
|
-
| `warn-all-files-staged` |
|
|
170
|
-
| `warn-destructive-sql` |
|
|
171
|
-
| `warn-schema-alteration` |
|
|
172
|
-
| `warn-large-file-write` |
|
|
173
|
-
| `warn-package-publish` |
|
|
174
|
-
| `warn-background-process` |
|
|
175
|
-
| `warn-global-package-install` |
|
|
176
|
-
|
|
|
177
|
-
|
|
178
|
-
פרטי מדיניות
|
|
151
|
+
| `block-sudo` | מנעו סוכנים מהפעלת פקודות מערכת מעודכנות | `allowPatterns` |
|
|
152
|
+
| `block-rm-rf` | מנעו מחיקת קבצים רקורסיבית בשגגה | `allowPaths` |
|
|
153
|
+
| `block-curl-pipe-sh` | מנעו סוכנים מהובלת סקריפטים לא מהימנים לshell | |
|
|
154
|
+
| `block-failproofai-commands` | מנעו הסרה עצמית | |
|
|
155
|
+
| `sanitize-jwt` | עצרו דלפות JWT טוקנים להקשר סוכן | |
|
|
156
|
+
| `sanitize-api-keys` | עצרו דלפות API keys להקשר סוכן | `additionalPatterns` |
|
|
157
|
+
| `sanitize-connection-strings` | עצרו דלפות הנתונים של בסיס הנתונים להקשר סוכן | |
|
|
158
|
+
| `sanitize-private-key-content` | מחקו בלוקי PEM מפתח פרטי מהפלט | |
|
|
159
|
+
| `sanitize-bearer-tokens` | מחקו Bearer Token של Authorization מהפלט | |
|
|
160
|
+
| `block-env-files` | שמרו סוכנים מקריאת קבצי .env | |
|
|
161
|
+
| `protect-env-vars` | מנעו סוכנים מהדפסת משתנים סביבה | |
|
|
162
|
+
| `block-read-outside-cwd` | שמרו סוכנים בתוך גבולות הפרויקט | `allowPaths` |
|
|
163
|
+
| `block-secrets-write` | מנעו כתיבות לקבצי מפתח פרטי וקובצי אישור | `additionalPatterns` |
|
|
164
|
+
| `block-push-master` | מנעו דחפים בשגגה לmain/master | `protectedBranches` |
|
|
165
|
+
| `block-work-on-main` | שמרו סוכנים מענפים מוגנים | `protectedBranches` |
|
|
166
|
+
| `block-force-push` | מנעו `git push --force` | |
|
|
167
|
+
| `warn-git-amend` | הזכירו סוכנים לפני תיקון commits | |
|
|
168
|
+
| `warn-git-stash-drop` | הזכירו סוכנים לפני ירידת stashes | |
|
|
169
|
+
| `warn-all-files-staged` | תפסו בשגגה `git add -A` | |
|
|
170
|
+
| `warn-destructive-sql` | תפסו DROP/DELETE SQL לפני הביצוע | |
|
|
171
|
+
| `warn-schema-alteration` | תפסו ALTER TABLE לפני הביצוע | |
|
|
172
|
+
| `warn-large-file-write` | תפסו כתיבות קבצים גדולות בצורה בלתי צפויה | `thresholdKb` |
|
|
173
|
+
| `warn-package-publish` | תפסו בשגגה `npm publish` | |
|
|
174
|
+
| `warn-background-process` | תפסו הפעלות תהליך רקע בלתי מכוונות | |
|
|
175
|
+
| `warn-global-package-install` | תפסו התקנות חבילה גלובליות בלתי מכוונות | |
|
|
176
|
+
| … ועוד | | |
|
|
177
|
+
|
|
178
|
+
פרטי מדיניות מלא והפניה לפרמטר: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
|
|
179
179
|
|
|
180
180
|
---
|
|
181
181
|
|
|
182
|
-
## מדיניויות מותאמות
|
|
182
|
+
## מדיניויות מותאמות אישית
|
|
183
183
|
|
|
184
|
-
|
|
184
|
+
כתבו את המדיניויות שלכם כדי להשאיר סוכנים אמינים וממוקדי משימה:
|
|
185
185
|
|
|
186
186
|
```js
|
|
187
187
|
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
188
188
|
|
|
189
189
|
customPolicies.add({
|
|
190
190
|
name: "no-production-writes",
|
|
191
|
-
description: "
|
|
191
|
+
description: "חסמו כתיבות לנתיבים המכילים 'production'",
|
|
192
192
|
match: { events: ["PreToolUse"] },
|
|
193
193
|
fn: async (ctx) => {
|
|
194
194
|
if (!["Write", "Edit"].includes(ctx.toolName ?? "")) return allow();
|
|
@@ -199,7 +199,7 @@ customPolicies.add({
|
|
|
199
199
|
});
|
|
200
200
|
```
|
|
201
201
|
|
|
202
|
-
|
|
202
|
+
התקינו עם:
|
|
203
203
|
|
|
204
204
|
```bash
|
|
205
205
|
failproofai policies --install --custom ./my-policies.js
|
|
@@ -209,47 +209,47 @@ failproofai policies --install --custom ./my-policies.js
|
|
|
209
209
|
|
|
210
210
|
| פונקציה | השפעה |
|
|
211
211
|
|----------|--------|
|
|
212
|
-
| `allow()` |
|
|
213
|
-
| `allow(message)` |
|
|
214
|
-
| `deny(message)` |
|
|
215
|
-
| `instruct(message)` |
|
|
212
|
+
| `allow()` | אפשרו את הפעולה |
|
|
213
|
+
| `allow(message)` | אפשרו ושלחו הקשר מידע ל-Claude |
|
|
214
|
+
| `deny(message)` | חסמו את הפעולה; ההודעה מוצגת ל-Claude |
|
|
215
|
+
| `instruct(message)` | הוסיפו הקשר להנמקת Claude; לא חוסמות |
|
|
216
216
|
|
|
217
|
-
### אובייקט
|
|
217
|
+
### אובייקט הקשר (`ctx`)
|
|
218
218
|
|
|
219
219
|
| שדה | סוג | תיאור |
|
|
220
220
|
|-------|------|-------------|
|
|
221
221
|
| `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
|
|
222
|
-
| `toolName` | `string` | כלי
|
|
222
|
+
| `toolName` | `string` | כלי שמקרא (`"Bash"`, `"Write"`, `"Read"`, …) |
|
|
223
223
|
| `toolInput` | `object` | פרמטרי קלט של הכלי |
|
|
224
|
-
| `payload` | `object` |
|
|
224
|
+
| `payload` | `object` | עומס ईvévénement גולמי מלא |
|
|
225
225
|
| `session.cwd` | `string` | ספריית עבודה של הפעלת Claude Code |
|
|
226
226
|
| `session.sessionId` | `string` | מזהה הפעלה |
|
|
227
|
-
| `session.transcriptPath` | `string` | נתיב לקובץ תמלול ההפעלה |
|
|
227
|
+
| `session.transcriptPath` | `string` | נתיב לקובץ תמלול של ההפעלה |
|
|
228
228
|
|
|
229
|
-
|
|
229
|
+
hook מותאמים תומכים ביבוא מקומי טרנזיטיבי, async/await, וגישה ל-`process.env`. שגיאות הן fail-open (logged ל-`~/.failproofai/hook.log`, מדיניויות מובנות ממשיכות). ראו [docs/custom-hooks.mdx](docs/custom-hooks.mdx) לעבור מלא.
|
|
230
230
|
|
|
231
231
|
### מדיניויות מבוססות קונוונציה
|
|
232
232
|
|
|
233
|
-
|
|
233
|
+
שימו `*policies.{js,mjs,ts}` קבצים ל-`.failproofai/policies/` והם נטענים באופן אוטומטי — ללא דגלים או שינויי תצורה. זרמו את הספרייה ל-git וכל חבר בצוות מקבל את אותם תקנים איכות באופן אוטומטי.
|
|
234
234
|
|
|
235
235
|
```text
|
|
236
|
-
# רמת
|
|
236
|
+
# רמת הפרויקט — commited ל-git, משותף עם הצוות
|
|
237
237
|
.failproofai/policies/security-policies.mjs
|
|
238
238
|
.failproofai/policies/workflow-policies.mjs
|
|
239
239
|
|
|
240
|
-
# רמת משתמש —
|
|
240
|
+
# רמת משתמש — אישי, חל על כל הפרויקטים
|
|
241
241
|
~/.failproofai/policies/my-policies.mjs
|
|
242
242
|
```
|
|
243
243
|
|
|
244
|
-
שתי
|
|
244
|
+
שתי רמות נטענות (union). קבצים נטענים בסדר אלפביתי בתוך כל ספרייה. קדימו עם `01-`, `02-`, וכו' כדי לשלוט בסדר. כשהצוות שלך מגלה מצבי כישלון חדשים, הוסיפו מדיניות ודחפו — כולם מקבלים עדכון ב-pull הבא שלהם. ראו [examples/convention-policies/](examples/convention-policies/) לדוגמאות מוכנות לשימוש.
|
|
245
245
|
|
|
246
246
|
---
|
|
247
247
|
|
|
248
248
|
## טלמטריה
|
|
249
249
|
|
|
250
|
-
Failproof AI אוסף
|
|
250
|
+
Failproof AI אוסף טלמטריית שימוש אנונימית דרך PostHog כדי להבין שימוש בתכונות. תוכן הפעלה, שמות קבצים, קלטי כלים, או מידע אישי לעולם לא נשלחים.
|
|
251
251
|
|
|
252
|
-
|
|
252
|
+
הסירו את זה:
|
|
253
253
|
|
|
254
254
|
```bash
|
|
255
255
|
FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
|
|
@@ -259,24 +259,24 @@ FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
|
|
|
259
259
|
|
|
260
260
|
## תיעוד
|
|
261
261
|
|
|
262
|
-
|
|
|
262
|
+
| מדריך | תיאור |
|
|
263
263
|
|-------|-------------|
|
|
264
264
|
| [Getting Started](docs/getting-started.mdx) | התקנה וצעדים ראשונים |
|
|
265
|
-
| [Built-in Policies](docs/built-in-policies.mdx) | כל 30
|
|
266
|
-
| [Custom Policies](docs/custom-policies.mdx) |
|
|
267
|
-
| [Configuration](docs/configuration.mdx) | פורמט קובץ
|
|
268
|
-
| [Dashboard](docs/dashboard.mdx) |
|
|
269
|
-
| [Architecture](docs/architecture.mdx) | איך מערכת ה-hook
|
|
270
|
-
| [Testing](docs/testing.mdx) |
|
|
265
|
+
| [Built-in Policies](docs/built-in-policies.mdx) | כל 30 המדיניויות המובנות עם פרמטרים |
|
|
266
|
+
| [Custom Policies](docs/custom-policies.mdx) | כתבו את המדיניויות שלכם |
|
|
267
|
+
| [Configuration](docs/configuration.mdx) | פורמט קובץ תצורה ומזג טווח |
|
|
268
|
+
| [Dashboard](docs/dashboard.mdx) | מעקב אחר הפעלות וסקירת פעילות מדיניות |
|
|
269
|
+
| [Architecture](docs/architecture.mdx) | איך מערכת ה-hook פועלת |
|
|
270
|
+
| [Testing](docs/testing.mdx) | הפעלת בדיקות וכתיבת חדשות |
|
|
271
271
|
|
|
272
|
-
###
|
|
272
|
+
### הפעלת תיעוד באופן מקומי
|
|
273
273
|
|
|
274
274
|
```bash
|
|
275
275
|
docker build -f Dockerfile.docs -t failproofai-docs .
|
|
276
276
|
docker run --rm -p 3000:3000 failproofai-docs
|
|
277
277
|
```
|
|
278
278
|
|
|
279
|
-
פותח את אתר Mintlify docs ב-`http://localhost:3000`.
|
|
279
|
+
פותח את אתר Mintlify docs ב-`http://localhost:3000`. המכולה צופה בשינויים אם אתם מעגנים את ספריית התיעוד:
|
|
280
280
|
|
|
281
281
|
```bash
|
|
282
282
|
docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
@@ -284,11 +284,11 @@ docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
|
284
284
|
|
|
285
285
|
---
|
|
286
286
|
|
|
287
|
-
## הערה
|
|
287
|
+
## הערה לתורמי failproofai
|
|
288
288
|
|
|
289
|
-
|
|
289
|
+
`~/.claude/settings.json` של repo זה משתמש ב-`bun ./bin/failproofai.mjs --hook <EventType>` במקום הפקודה הסטנדרטית `npx -y failproofai`. זה מכיוון שהפעלת `npx -y failproofai` בתוך פרויקט failproofai עצמו יוצרת סכסוך התייחסות עצמית.
|
|
290
290
|
|
|
291
|
-
|
|
291
|
+
לכל repos אחרים, הגישה המומלצת היא `npx -y failproofai`, מותקנת דרך:
|
|
292
292
|
|
|
293
293
|
```bash
|
|
294
294
|
failproofai policies --install --scope project
|
|
@@ -296,17 +296,17 @@ failproofai policies --install --scope project
|
|
|
296
296
|
|
|
297
297
|
## תרומה
|
|
298
298
|
|
|
299
|
-
|
|
299
|
+
ראו [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
300
300
|
|
|
301
301
|
---
|
|
302
302
|
|
|
303
303
|
## רישיון
|
|
304
304
|
|
|
305
|
-
|
|
305
|
+
ראו [LICENSE](LICENSE).
|
|
306
306
|
|
|
307
307
|
---
|
|
308
308
|
|
|
309
|
-
בנוי
|
|
309
|
+
בנוי ותחזוקה על ידי **ExosphereHost: Reliability Research Lab for Your Agents**. אנחנו עוזרים לחברות וסטארטאפים לשפר את האמינות של סוכני AI שלהם דרך סוכנים, תוכנה, וכישוריות שלנו. למידע נוסף בקרו ב-[exosphere.host](https://exosphere.host).
|
|
310
310
|
|
|
311
311
|
|
|
312
312
|
</div>
|