failproofai 0.0.6-beta.1 → 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 +4 -3
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- 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/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/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/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/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/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/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/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]__0~kmh8w._.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]__0rh.18_._.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 +2 -2
- 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 +3 -3
- 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/{08t08igdql9yt.js → 00j0rr7rh8ef8.js} +1 -1
- package/.next/standalone/.next/static/chunks/{12~yi9oj8av8p.js → 05j1px0r8yzh6.js} +2 -2
- package/.next/standalone/.next/static/chunks/{09_k80d~cq2wg.js → 0badv41uxa56..js} +1 -1
- package/.next/standalone/.next/static/chunks/{0wlyoif4_kj_t.js → 0ijk_kek9_wyx.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0bvhsa6zva2o..js → 0ksdlt_1hucdm.js} +1 -1
- package/.next/standalone/.next/static/chunks/{03rz6ykw-a2xi.js → 0npb~873.wvg3.js} +1 -1
- package/.next/standalone/.next/static/chunks/{01b~z8f1ws0rk.js → 0xpl.oscrakvx.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0gbf4cphy8ksq.js → 1052sguyd-.ka.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0v.yd0kg_ld3r.js → 14cl9poem30dq.js} +1 -1
- package/.next/standalone/CHANGELOG.md +11 -0
- package/.next/standalone/dist/cli.mjs +3 -3
- 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 +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/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/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/package.json +1 -1
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/src/hooks/builtin-policies.ts +5 -1
- package/dist/cli.mjs +3 -3
- package/package.json +1 -1
- package/src/hooks/builtin-policies.ts +5 -1
- /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → A9pNTZdoYJTVyPAYwQMx5}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → A9pNTZdoYJTVyPAYwQMx5}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → A9pNTZdoYJTVyPAYwQMx5}/_ssgManifest.js +0 -0
|
@@ -25,12 +25,12 @@
|
|
|
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
|
+
الطريقة الأسهل لإدارة السياسات التي تحافظ على موثوقية عملاء الذكاء الاصطناعي الخاصة بك وتركيز مهامهم وتشغيلهم بشكل مستقل - لـ **Claude Code** و **Agents SDK**.
|
|
29
29
|
|
|
30
|
-
- **30 سياسة مدمجة** -
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
- **مراقب الوكيل** - شاهد ما فعله وكلاؤك أثناء غيابك.
|
|
30
|
+
- **30 سياسة مدمجة** - التقط أنماط فشل الوكيل الشائعة فوراً. حجب الأوامر المدمرة، ومنع تسرب الأسرار، والحفاظ على الوكلاء داخل حدود المشروع، والكشف عن الحلقات، والمزيد.
|
|
31
|
+
- **السياسات المخصصة** - اكتب قواعد موثوقية خاصة بك في JavaScript. استخدم واجهة برمجية التطبيقات `allow`/`deny`/`instruct` لفرض الاتفاقيات ومنع الانجراف وقفل العمليات أو التكامل مع الأنظمة الخارجية.
|
|
32
|
+
- **إعدادات سهلة** - اضبط أي سياسة بدون كتابة أكواد. قم بتعيين قوائم السماح والفروع المحمية والحدود لكل مشروع أو عمومياً. يتم دمج تكوين ثلاثة نطاقات تلقائياً.
|
|
33
|
+
- **مراقب الوكيل** - شاهد ما فعله وكلاؤك أثناء غيابك. تصفح الجلسات وافحص كل استدعاء أداة وراجع بالضبط مكان تفعيل السياسات.
|
|
34
34
|
|
|
35
35
|
كل شيء يعمل محلياً - لا تترك أي بيانات جهازك.
|
|
36
36
|
|
|
@@ -55,23 +55,23 @@ bun add -g failproofai
|
|
|
55
55
|
|
|
56
56
|
## البدء السريع
|
|
57
57
|
|
|
58
|
-
### 1. تفعيل السياسات
|
|
58
|
+
### 1. تفعيل السياسات عمومياً
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
61
|
failproofai policies --install
|
|
62
62
|
```
|
|
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
|
|
@@ -79,14 +79,14 @@ failproofai policies
|
|
|
79
79
|
|
|
80
80
|
---
|
|
81
81
|
|
|
82
|
-
## تثبيت
|
|
82
|
+
## تثبيت السياسة
|
|
83
83
|
|
|
84
84
|
### النطاقات
|
|
85
85
|
|
|
86
86
|
| النطاق | الأمر | حيث يكتب |
|
|
87
|
-
|
|
88
|
-
|
|
|
89
|
-
|
|
|
87
|
+
|-------|---------|-----------------|
|
|
88
|
+
| عمومي (الافتراضي) | `failproofai policies --install` | `~/.claude/settings.json` |
|
|
89
|
+
| المشروع | `failproofai policies --install --scope project` | `.claude/settings.json` |
|
|
90
90
|
| محلي | `failproofai policies --install --scope local` | `.claude/settings.local.json` |
|
|
91
91
|
|
|
92
92
|
### تثبيت سياسات محددة
|
|
@@ -107,7 +107,7 @@ failproofai policies --uninstall --scope project
|
|
|
107
107
|
|
|
108
108
|
## التكوين
|
|
109
109
|
|
|
110
|
-
يوجد تكوين السياسة في `~/.failproofai/policies-config.json` (
|
|
110
|
+
يوجد تكوين السياسة في `~/.failproofai/policies-config.json` (عمومي) أو `.failproofai/policies-config.json` في مشروعك (حسب المشروع).
|
|
111
111
|
|
|
112
112
|
```json
|
|
113
113
|
{
|
|
@@ -122,15 +122,15 @@ failproofai policies --uninstall --scope project
|
|
|
122
122
|
"policyParams": {
|
|
123
123
|
"block-sudo": {
|
|
124
124
|
"allowPatterns": ["sudo systemctl status", "sudo journalctl"],
|
|
125
|
-
"hint": "
|
|
125
|
+
"hint": "Use apt-get directly without sudo."
|
|
126
126
|
},
|
|
127
127
|
"block-push-master": {
|
|
128
128
|
"protectedBranches": ["main", "release", "prod"],
|
|
129
|
-
"hint": "
|
|
129
|
+
"hint": "Try creating a fresh branch instead."
|
|
130
130
|
},
|
|
131
131
|
"sanitize-api-keys": {
|
|
132
132
|
"additionalPatterns": [
|
|
133
|
-
{ "regex": "myco_[A-Za-z0-9]{32}", "label": "
|
|
133
|
+
{ "regex": "myco_[A-Za-z0-9]{32}", "label": "MyCo API key" }
|
|
134
134
|
]
|
|
135
135
|
},
|
|
136
136
|
"warn-large-file-write": {
|
|
@@ -140,7 +140,7 @@ 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
|
|
|
@@ -148,31 +148,31 @@ failproofai policies --uninstall --scope project
|
|
|
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` | تحرير رموز Bearer
|
|
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 من التسرب إلى سياق الوكيل | `additionalPatterns` |
|
|
157
|
+
| `sanitize-connection-strings` | منع بيانات اعتماد قاعدة البيانات من التسرب إلى سياق الوكيل | |
|
|
158
|
+
| `sanitize-private-key-content` | تحرير كتل مفاتيح PEM الخاصة من الإخراج | |
|
|
159
|
+
| `sanitize-bearer-tokens` | تحرير رموز Authorization Bearer من الإخراج | |
|
|
160
160
|
| `block-env-files` | منع الوكلاء من قراءة ملفات .env | |
|
|
161
161
|
| `protect-env-vars` | منع الوكلاء من طباعة متغيرات البيئة | |
|
|
162
|
-
| `block-read-outside-cwd` |
|
|
163
|
-
| `block-secrets-write` | منع الكتابة إلى ملفات المفاتيح الخاصة
|
|
164
|
-
| `block-push-master` | منع الدفع
|
|
162
|
+
| `block-read-outside-cwd` | الحفاظ على الوكلاء داخل حدود المشروع | `allowPaths` |
|
|
163
|
+
| `block-secrets-write` | منع الكتابة إلى ملفات المفاتيح والشهادات الخاصة | `additionalPatterns` |
|
|
164
|
+
| `block-push-master` | منع الدفع العرضي إلى main/master | `protectedBranches` |
|
|
165
165
|
| `block-work-on-main` | إبقاء الوكلاء بعيداً عن الفروع المحمية | `protectedBranches` |
|
|
166
166
|
| `block-force-push` | منع `git push --force` | |
|
|
167
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` |
|
|
168
|
+
| `warn-git-stash-drop` | تذكير الوكلاء قبل حذف النسخ الاحتياطية | |
|
|
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
176
|
| …والمزيد | | |
|
|
177
177
|
|
|
178
178
|
تفاصيل السياسة الكاملة ومرجع المعاملات: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
|
|
@@ -181,25 +181,25 @@ failproofai policies --uninstall --scope project
|
|
|
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: "Block writes to paths containing 'production'",
|
|
192
192
|
match: { events: ["PreToolUse"] },
|
|
193
193
|
fn: async (ctx) => {
|
|
194
194
|
if (!["Write", "Edit"].includes(ctx.toolName ?? "")) return allow();
|
|
195
195
|
const path = ctx.toolInput?.file_path ?? "";
|
|
196
|
-
if (path.includes("production")) return deny("
|
|
196
|
+
if (path.includes("production")) return deny("Writes to production paths are blocked");
|
|
197
197
|
return allow();
|
|
198
198
|
},
|
|
199
199
|
});
|
|
200
200
|
```
|
|
201
201
|
|
|
202
|
-
ثبّت
|
|
202
|
+
ثبّت مع:
|
|
203
203
|
|
|
204
204
|
```bash
|
|
205
205
|
failproofai policies --install --custom ./my-policies.js
|
|
@@ -210,46 +210,46 @@ failproofai policies --install --custom ./my-policies.js
|
|
|
210
210
|
| الدالة | التأثير |
|
|
211
211
|
|----------|--------|
|
|
212
212
|
| `allow()` | السماح بالعملية |
|
|
213
|
-
| `allow(message)` | السماح
|
|
214
|
-
| `deny(message)` | حجب العملية؛ الرسالة
|
|
215
|
-
| `instruct(message)` |
|
|
213
|
+
| `allow(message)` | السماح وإرسال السياق المعلوماتي إلى Claude |
|
|
214
|
+
| `deny(message)` | حجب العملية؛ الرسالة مُعروضة على Claude |
|
|
215
|
+
| `instruct(message)` | إضافة السياق إلى موجه Claude؛ لا تحجب |
|
|
216
216
|
|
|
217
217
|
### كائن السياق (`ctx`)
|
|
218
218
|
|
|
219
219
|
| الحقل | النوع | الوصف |
|
|
220
220
|
|-------|------|-------------|
|
|
221
|
-
| `eventType` | `string` | `"PreToolUse"
|
|
222
|
-
| `toolName` | `string` | الأداة التي يتم استدعاؤها (`"Bash"
|
|
221
|
+
| `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
|
|
222
|
+
| `toolName` | `string` | الأداة التي يتم استدعاؤها (`"Bash"`, `"Write"`, `"Read"`, …) |
|
|
223
223
|
| `toolInput` | `object` | معاملات إدخال الأداة |
|
|
224
|
-
| `payload` | `object` |
|
|
225
|
-
| `session.cwd` | `string` | دليل
|
|
224
|
+
| `payload` | `object` | حمل الحدث الخام الكامل |
|
|
225
|
+
| `session.cwd` | `string` | دليل العمل لجلسة Claude Code |
|
|
226
226
|
| `session.sessionId` | `string` | معرّف الجلسة |
|
|
227
|
-
| `session.transcriptPath` | `string` |
|
|
227
|
+
| `session.transcriptPath` | `string` | المسار إلى ملف نسخة الجلسة |
|
|
228
228
|
|
|
229
|
-
تدعم الخطافات المخصصة
|
|
229
|
+
تدعم الخطافات المخصصة الاستيراد المحلي العابر والانتظار غير المتزامن والوصول إلى `process.env`. الأخطاء فشل مفتوح (تسجل في `~/.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
|
+
# مستوى المشروع — ملتزم بـ 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
|
-
يتم تحميل كلا المستويين (اتحاد). يتم تحميل الملفات أبجدياً داخل كل دليل. بادئة مع `01
|
|
244
|
+
يتم تحميل كلا المستويين (اتحاد). يتم تحميل الملفات أبجدياً داخل كل دليل. بادئة مع `01-`, `02-`, إلخ. للتحكم في الترتيب. عندما يكتشف فريقك أنماط فشل جديدة، أضف سياسة واضغط - يحصل الجميع على التحديث عند الاستخراج التالي. راجع [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
|
|
@@ -262,21 +262,21 @@ FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
|
|
|
262
262
|
| الدليل | الوصف |
|
|
263
263
|
|-------|-------------|
|
|
264
264
|
| [Getting Started](docs/getting-started.mdx) | التثبيت والخطوات الأولى |
|
|
265
|
-
| [Built-in Policies](docs/built-in-policies.mdx) | جميع
|
|
265
|
+
| [Built-in Policies](docs/built-in-policies.mdx) | جميع 30 سياسة مدمجة مع معاملات |
|
|
266
266
|
| [Custom Policies](docs/custom-policies.mdx) | اكتب سياساتك الخاصة |
|
|
267
|
-
| [Configuration](docs/configuration.mdx) |
|
|
268
|
-
| [Dashboard](docs/dashboard.mdx) | راقب الجلسات
|
|
267
|
+
| [Configuration](docs/configuration.mdx) | تنسيق ملف التكوين ودمج النطاق |
|
|
268
|
+
| [Dashboard](docs/dashboard.mdx) | راقب الجلسات وراجع نشاط السياسة |
|
|
269
269
|
| [Architecture](docs/architecture.mdx) | كيفية عمل نظام الخطاف |
|
|
270
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 في `http://localhost:3000`.
|
|
279
|
+
يفتح موقع Mintlify docs في `http://localhost:3000`. يراقب الحاوية التغييرات إذا قمت بتحميل دليل docs:
|
|
280
280
|
|
|
281
281
|
```bash
|
|
282
282
|
docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
@@ -286,7 +286,7 @@ docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
|
286
286
|
|
|
287
287
|
## ملاحظة لمساهمي failproofai
|
|
288
288
|
|
|
289
|
-
يستخدم `.claude/settings.json` في هذا المستودع `bun ./bin/failproofai.mjs --hook <EventType>` بدلاً من أمر `npx -y failproofai` القياسي.
|
|
289
|
+
يستخدم `.claude/settings.json` في هذا المستودع `bun ./bin/failproofai.mjs --hook <EventType>` بدلاً من أمر `npx -y failproofai` القياسي. هذا لأن تشغيل `npx -y failproofai` داخل مشروع failproofai نفسه ينشئ تضارباً مرجعياً ذاتياً.
|
|
290
290
|
|
|
291
291
|
بالنسبة لجميع المستودعات الأخرى، الطريقة الموصى بها هي `npx -y failproofai`، المثبتة عبر:
|
|
292
292
|
|
|
@@ -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: مختبر أبحاث الموثوقية لوكلائك**. نساعد الشركات والشركات الناشئة على تحسين موثوقية عملائهم من الذكاء الاصطناعي من خلال وكلائنا وبرامجنا وخبرتنا. تعرف على المزيد في [exosphere.host](https://exosphere.host).
|
|
310
310
|
|
|
311
311
|
|
|
312
312
|
</div>
|
|
@@ -25,10 +25,10 @@
|
|
|
25
25
|
|
|
26
26
|
Der einfachste Weg, Richtlinien zu verwalten, die Ihre KI-Agenten zuverlässig, fokussiert und autonom am Laufen halten – für **Claude Code** & das **Agents SDK**.
|
|
27
27
|
|
|
28
|
-
- **30 integrierte Richtlinien** – Häufige Fehlerquellen bei Agenten werden
|
|
29
|
-
- **Benutzerdefinierte Richtlinien** – Schreiben Sie eigene Zuverlässigkeitsregeln in JavaScript. Nutzen Sie die `allow`/`deny`/`instruct`-API, um Konventionen durchzusetzen,
|
|
30
|
-
- **Einfache Konfiguration** – Jede Richtlinie lässt sich ohne Code anpassen.
|
|
31
|
-
- **Agent Monitor** – Sehen Sie, was Ihre Agenten gemacht haben, während Sie weg waren.
|
|
28
|
+
- **30 integrierte Richtlinien** – Häufige Fehlerquellen bei Agenten werden direkt ab Werk abgefangen. Destruktive Befehle blockieren, Secret-Leaks verhindern, Agenten innerhalb der Projektgrenzen halten, Endlosschleifen erkennen und vieles mehr.
|
|
29
|
+
- **Benutzerdefinierte Richtlinien** – Schreiben Sie eigene Zuverlässigkeitsregeln in JavaScript. Nutzen Sie die `allow`/`deny`/`instruct`-API, um Konventionen durchzusetzen, Drift zu verhindern, Operationen abzusichern oder externe Systeme einzubinden.
|
|
30
|
+
- **Einfache Konfiguration** – Jede Richtlinie lässt sich ohne Code anpassen. Erlaubnislisten, geschützte Branches und Schwellenwerte pro Projekt oder global festlegen. Drei Konfigurationsebenen werden automatisch zusammengeführt.
|
|
31
|
+
- **Agent Monitor** – Sehen Sie, was Ihre Agenten gemacht haben, während Sie weg waren. Sitzungen durchsuchen, jeden Tool-Aufruf inspizieren und genau nachvollziehen, wo Richtlinien ausgelöst wurden.
|
|
32
32
|
|
|
33
33
|
Alles läuft lokal – keine Daten verlassen Ihren Rechner.
|
|
34
34
|
|
|
@@ -37,7 +37,7 @@ Alles läuft lokal – keine Daten verlassen Ihren Rechner.
|
|
|
37
37
|
## Voraussetzungen
|
|
38
38
|
|
|
39
39
|
- Node.js >= 20.9.0
|
|
40
|
-
- Bun >= 1.3.0 (optional – nur für die Entwicklung / das Bauen aus dem Quellcode
|
|
40
|
+
- Bun >= 1.3.0 (optional – wird nur für die Entwicklung / das Bauen aus dem Quellcode benötigt)
|
|
41
41
|
|
|
42
42
|
---
|
|
43
43
|
|
|
@@ -67,7 +67,7 @@ Schreibt Hook-Einträge in `~/.claude/settings.json`. Claude Code ruft failproof
|
|
|
67
67
|
failproofai
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
Öffnet `http://localhost:8020` – Sitzungen durchsuchen, Logs
|
|
70
|
+
Öffnet `http://localhost:8020` – Sitzungen durchsuchen, Logs inspizieren, Richtlinien verwalten.
|
|
71
71
|
|
|
72
72
|
### 3. Aktive Richtlinien prüfen
|
|
73
73
|
|
|
@@ -77,12 +77,12 @@ failproofai policies
|
|
|
77
77
|
|
|
78
78
|
---
|
|
79
79
|
|
|
80
|
-
##
|
|
80
|
+
## Richtlinien-Installation
|
|
81
81
|
|
|
82
82
|
### Geltungsbereiche
|
|
83
83
|
|
|
84
|
-
| Bereich | Befehl |
|
|
85
|
-
|
|
84
|
+
| Bereich | Befehl | Schreibort |
|
|
85
|
+
|---------|--------|------------|
|
|
86
86
|
| Global (Standard) | `failproofai policies --install` | `~/.claude/settings.json` |
|
|
87
87
|
| Projekt | `failproofai policies --install --scope project` | `.claude/settings.json` |
|
|
88
88
|
| Lokal | `failproofai policies --install --scope local` | `.claude/settings.local.json` |
|
|
@@ -97,7 +97,7 @@ failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
|
|
|
97
97
|
|
|
98
98
|
```bash
|
|
99
99
|
failproofai policies --uninstall
|
|
100
|
-
# oder für einen bestimmten
|
|
100
|
+
# oder für einen bestimmten Bereich:
|
|
101
101
|
failproofai policies --uninstall --scope project
|
|
102
102
|
```
|
|
103
103
|
|
|
@@ -105,7 +105,7 @@ failproofai policies --uninstall --scope project
|
|
|
105
105
|
|
|
106
106
|
## Konfiguration
|
|
107
107
|
|
|
108
|
-
Die Richtlinienkonfiguration
|
|
108
|
+
Die Richtlinienkonfiguration liegt in `~/.failproofai/policies-config.json` (global) oder `.failproofai/policies-config.json` in Ihrem Projekt (projektspezifisch).
|
|
109
109
|
|
|
110
110
|
```json
|
|
111
111
|
{
|
|
@@ -138,42 +138,42 @@ Die Richtlinienkonfiguration befindet sich in `~/.failproofai/policies-config.js
|
|
|
138
138
|
}
|
|
139
139
|
```
|
|
140
140
|
|
|
141
|
-
**Drei
|
|
141
|
+
**Drei Konfigurationsbereiche** werden automatisch zusammengeführt (Projekt → Lokal → Global). Vollständige Zusammenführungsregeln: [docs/configuration.mdx](docs/configuration.mdx).
|
|
142
142
|
|
|
143
143
|
---
|
|
144
144
|
|
|
145
145
|
## Integrierte Richtlinien
|
|
146
146
|
|
|
147
147
|
| Richtlinie | Beschreibung | Konfigurierbar |
|
|
148
|
-
|
|
148
|
+
|------------|--------------|:--------------:|
|
|
149
149
|
| `block-sudo` | Verhindert, dass Agenten privilegierte Systembefehle ausführen | `allowPatterns` |
|
|
150
150
|
| `block-rm-rf` | Verhindert versehentliches rekursives Löschen von Dateien | `allowPaths` |
|
|
151
151
|
| `block-curl-pipe-sh` | Verhindert, dass Agenten nicht vertrauenswürdige Skripte an die Shell weiterleiten | |
|
|
152
|
-
| `block-failproofai-commands` | Verhindert die
|
|
153
|
-
| `sanitize-jwt` | Verhindert, dass JWT-Tokens in den
|
|
154
|
-
| `sanitize-api-keys` | Verhindert, dass API-Schlüssel in den
|
|
155
|
-
| `sanitize-connection-strings` | Verhindert, dass Datenbank-
|
|
156
|
-
| `sanitize-private-key-content` |
|
|
157
|
-
| `sanitize-bearer-tokens` |
|
|
158
|
-
| `block-env-files` |
|
|
152
|
+
| `block-failproofai-commands` | Verhindert die Selbstdeinstallation | |
|
|
153
|
+
| `sanitize-jwt` | Verhindert, dass JWT-Tokens in den Agenten-Kontext gelangen | |
|
|
154
|
+
| `sanitize-api-keys` | Verhindert, dass API-Schlüssel in den Agenten-Kontext gelangen | `additionalPatterns` |
|
|
155
|
+
| `sanitize-connection-strings` | Verhindert, dass Datenbank-Zugangsdaten in den Agenten-Kontext gelangen | |
|
|
156
|
+
| `sanitize-private-key-content` | Entfernt PEM-Private-Key-Blöcke aus der Ausgabe | |
|
|
157
|
+
| `sanitize-bearer-tokens` | Entfernt Authorization-Bearer-Tokens aus der Ausgabe | |
|
|
158
|
+
| `block-env-files` | Hindert Agenten daran, .env-Dateien zu lesen | |
|
|
159
159
|
| `protect-env-vars` | Verhindert, dass Agenten Umgebungsvariablen ausgeben | |
|
|
160
160
|
| `block-read-outside-cwd` | Hält Agenten innerhalb der Projektgrenzen | `allowPaths` |
|
|
161
|
-
| `block-secrets-write` | Verhindert Schreibzugriffe auf
|
|
161
|
+
| `block-secrets-write` | Verhindert Schreibzugriffe auf Private-Key- und Zertifikatsdateien | `additionalPatterns` |
|
|
162
162
|
| `block-push-master` | Verhindert versehentliche Pushes auf main/master | `protectedBranches` |
|
|
163
163
|
| `block-work-on-main` | Hält Agenten von geschützten Branches fern | `protectedBranches` |
|
|
164
164
|
| `block-force-push` | Verhindert `git push --force` | |
|
|
165
|
-
| `warn-git-amend` | Erinnert Agenten vor dem
|
|
165
|
+
| `warn-git-amend` | Erinnert Agenten vor dem Ändern von Commits | |
|
|
166
166
|
| `warn-git-stash-drop` | Erinnert Agenten vor dem Verwerfen von Stashes | |
|
|
167
167
|
| `warn-all-files-staged` | Erkennt versehentliches `git add -A` | |
|
|
168
168
|
| `warn-destructive-sql` | Erkennt DROP/DELETE-SQL vor der Ausführung | |
|
|
169
169
|
| `warn-schema-alteration` | Erkennt ALTER TABLE vor der Ausführung | |
|
|
170
|
-
| `warn-large-file-write` | Erkennt unerwartet große
|
|
170
|
+
| `warn-large-file-write` | Erkennt unerwartet große Datei-Schreibvorgänge | `thresholdKb` |
|
|
171
171
|
| `warn-package-publish` | Erkennt versehentliches `npm publish` | |
|
|
172
|
-
| `warn-background-process` | Erkennt unbeabsichtigte Starts
|
|
173
|
-
| `warn-global-package-install` | Erkennt unbeabsichtigte globale
|
|
174
|
-
| …und
|
|
172
|
+
| `warn-background-process` | Erkennt unbeabsichtigte Hintergrundprozess-Starts | |
|
|
173
|
+
| `warn-global-package-install` | Erkennt unbeabsichtigte globale Paket-Installationen | |
|
|
174
|
+
| …und weitere | | |
|
|
175
175
|
|
|
176
|
-
Vollständige
|
|
176
|
+
Vollständige Richtlinien-Details und Parameterreferenz: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
|
|
177
177
|
|
|
178
178
|
---
|
|
179
179
|
|
|
@@ -207,28 +207,28 @@ failproofai policies --install --custom ./my-policies.js
|
|
|
207
207
|
|
|
208
208
|
| Funktion | Wirkung |
|
|
209
209
|
|----------|---------|
|
|
210
|
-
| `allow()` |
|
|
211
|
-
| `allow(message)` |
|
|
212
|
-
| `deny(message)` |
|
|
213
|
-
| `instruct(message)` |
|
|
210
|
+
| `allow()` | Aktion erlauben |
|
|
211
|
+
| `allow(message)` | Aktion erlauben und informativen Kontext an Claude senden |
|
|
212
|
+
| `deny(message)` | Aktion blockieren; Nachricht wird Claude angezeigt |
|
|
213
|
+
| `instruct(message)` | Kontext zum Prompt von Claude hinzufügen; blockiert nicht |
|
|
214
214
|
|
|
215
|
-
###
|
|
215
|
+
### Kontext-Objekt (`ctx`)
|
|
216
216
|
|
|
217
217
|
| Feld | Typ | Beschreibung |
|
|
218
|
-
|
|
218
|
+
|------|-----|--------------|
|
|
219
219
|
| `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
|
|
220
220
|
| `toolName` | `string` | Aufgerufenes Tool (`"Bash"`, `"Write"`, `"Read"`, …) |
|
|
221
221
|
| `toolInput` | `object` | Eingabeparameter des Tools |
|
|
222
222
|
| `payload` | `object` | Vollständiger roher Event-Payload |
|
|
223
223
|
| `session.cwd` | `string` | Arbeitsverzeichnis der Claude Code-Sitzung |
|
|
224
|
-
| `session.sessionId` | `string` |
|
|
225
|
-
| `session.transcriptPath` | `string` | Pfad zur
|
|
224
|
+
| `session.sessionId` | `string` | Sitzungskennung |
|
|
225
|
+
| `session.transcriptPath` | `string` | Pfad zur Sitzungsprotokoll-Datei |
|
|
226
226
|
|
|
227
|
-
Benutzerdefinierte Hooks unterstützen transitive lokale Imports, async/await und Zugriff auf `process.env`. Fehler sind fail-open (werden in `~/.failproofai/hook.log` protokolliert, integrierte Richtlinien laufen weiter). Vollständige Anleitung
|
|
227
|
+
Benutzerdefinierte Hooks unterstützen transitive lokale Imports, async/await und Zugriff auf `process.env`. Fehler sind fail-open (werden in `~/.failproofai/hook.log` protokolliert, integrierte Richtlinien laufen weiter). Vollständige Anleitung: [docs/custom-hooks.mdx](docs/custom-hooks.mdx).
|
|
228
228
|
|
|
229
229
|
### Konventionsbasierte Richtlinien
|
|
230
230
|
|
|
231
|
-
Legen Sie `*policies.{js,mjs,ts}`-Dateien in `.failproofai/policies/` ab, und sie werden automatisch geladen –
|
|
231
|
+
Legen Sie `*policies.{js,mjs,ts}`-Dateien in `.failproofai/policies/` ab, und sie werden automatisch geladen – ohne Flags oder Konfigurationsänderungen. Committen Sie das Verzeichnis in Git, und jedes Teammitglied erhält dieselben Qualitätsstandards automatisch.
|
|
232
232
|
|
|
233
233
|
```text
|
|
234
234
|
# Projektebene — in Git eingecheckt, mit dem Team geteilt
|
|
@@ -239,13 +239,13 @@ Legen Sie `*policies.{js,mjs,ts}`-Dateien in `.failproofai/policies/` ab, und si
|
|
|
239
239
|
~/.failproofai/policies/my-policies.mjs
|
|
240
240
|
```
|
|
241
241
|
|
|
242
|
-
Beide Ebenen werden geladen (Vereinigung). Dateien werden
|
|
242
|
+
Beide Ebenen werden geladen (Vereinigung). Dateien werden innerhalb jedes Verzeichnisses alphabetisch geladen. Präfixe wie `01-`, `02-` usw. steuern die Reihenfolge. Sobald Ihr Team neue Fehlerquellen entdeckt, fügen Sie eine Richtlinie hinzu und pushen – alle erhalten das Update beim nächsten Pull. Fertige Beispiele finden Sie unter [examples/convention-policies/](examples/convention-policies/).
|
|
243
243
|
|
|
244
244
|
---
|
|
245
245
|
|
|
246
246
|
## Telemetrie
|
|
247
247
|
|
|
248
|
-
Failproof AI erfasst anonyme Nutzungstelemetrie über PostHog, um die
|
|
248
|
+
Failproof AI erfasst anonyme Nutzungstelemetrie über PostHog, um die Funktionsnutzung zu verstehen. Es werden niemals Sitzungsinhalte, Dateinamen, Tool-Eingaben oder persönliche Informationen übermittelt.
|
|
249
249
|
|
|
250
250
|
Deaktivierung:
|
|
251
251
|
|
|
@@ -258,11 +258,11 @@ FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
|
|
|
258
258
|
## Dokumentation
|
|
259
259
|
|
|
260
260
|
| Leitfaden | Beschreibung |
|
|
261
|
-
|
|
262
|
-
| [Erste Schritte](docs/getting-started.mdx) | Installation und
|
|
261
|
+
|-----------|--------------|
|
|
262
|
+
| [Erste Schritte](docs/getting-started.mdx) | Installation und erster Einstieg |
|
|
263
263
|
| [Integrierte Richtlinien](docs/built-in-policies.mdx) | Alle 30 integrierten Richtlinien mit Parametern |
|
|
264
264
|
| [Benutzerdefinierte Richtlinien](docs/custom-policies.mdx) | Eigene Richtlinien schreiben |
|
|
265
|
-
| [Konfiguration](docs/configuration.mdx) | Konfigurationsdateiformat und
|
|
265
|
+
| [Konfiguration](docs/configuration.mdx) | Konfigurationsdateiformat und Bereichs-Zusammenführung |
|
|
266
266
|
| [Dashboard](docs/dashboard.mdx) | Sitzungen überwachen und Richtlinienaktivität überprüfen |
|
|
267
267
|
| [Architektur](docs/architecture.mdx) | Funktionsweise des Hook-Systems |
|
|
268
268
|
| [Tests](docs/testing.mdx) | Tests ausführen und neue schreiben |
|
|
@@ -274,7 +274,7 @@ docker build -f Dockerfile.docs -t failproofai-docs .
|
|
|
274
274
|
docker run --rm -p 3000:3000 failproofai-docs
|
|
275
275
|
```
|
|
276
276
|
|
|
277
|
-
Öffnet die Mintlify-Dokumentationsseite unter `http://localhost:3000`. Der Container erkennt Änderungen, wenn Sie das
|
|
277
|
+
Öffnet die Mintlify-Dokumentationsseite unter `http://localhost:3000`. Der Container erkennt Änderungen, wenn Sie das Docs-Verzeichnis einbinden:
|
|
278
278
|
|
|
279
279
|
```bash
|
|
280
280
|
docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
@@ -282,9 +282,9 @@ docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
|
282
282
|
|
|
283
283
|
---
|
|
284
284
|
|
|
285
|
-
## Hinweis für failproofai-
|
|
285
|
+
## Hinweis für failproofai-Mitwirkende
|
|
286
286
|
|
|
287
|
-
|
|
287
|
+
Das `.claude/settings.json` dieses Repos verwendet `bun ./bin/failproofai.mjs --hook <EventType>` anstelle des üblichen `npx -y failproofai`-Befehls. Der Grund: Das Ausführen von `npx -y failproofai` innerhalb des failproofai-Projekts selbst führt zu einem selbstreferenzierenden Konflikt.
|
|
288
288
|
|
|
289
289
|
Für alle anderen Repos ist der empfohlene Ansatz `npx -y failproofai`, installiert über:
|
|
290
290
|
|
|
@@ -304,4 +304,4 @@ Siehe [LICENSE](LICENSE).
|
|
|
304
304
|
|
|
305
305
|
---
|
|
306
306
|
|
|
307
|
-
Entwickelt und gepflegt von **ExosphereHost: Reliability Research Lab for Your Agents**. Wir helfen Unternehmen und Startups, die Zuverlässigkeit ihrer KI-Agenten durch
|
|
307
|
+
Entwickelt und gepflegt von **ExosphereHost: Reliability Research Lab for Your Agents**. Wir helfen Unternehmen und Startups, die Zuverlässigkeit ihrer KI-Agenten durch eigene Agenten, Software und Expertise zu verbessern. Mehr erfahren unter [exosphere.host](https://exosphere.host).
|