failproofai 0.0.5 → 0.0.6-beta.0

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.
Files changed (144) hide show
  1. package/.next/standalone/.failproofai/policies/workflow-policies.mjs +2 -1
  2. package/.next/standalone/.next/BUILD_ID +1 -1
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/required-server-files.json +1 -1
  6. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  11. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  12. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  13. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  14. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  15. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  17. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  20. package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
  21. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
  22. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  23. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  24. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  25. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  26. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  27. package/.next/standalone/.next/server/app/index.html +1 -1
  28. package/.next/standalone/.next/server/app/index.rsc +15 -15
  29. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  30. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
  31. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  32. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
  33. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  34. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  35. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  38. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  41. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  44. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  45. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  48. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
  51. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
  52. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0a~g15g._.js → [root-of-the-server]__0.~fd7s._.js} +2 -2
  53. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
  54. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
  55. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0qn95h3._.js → [root-of-the-server]__0a.nuas._.js} +2 -2
  56. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
  57. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
  58. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
  59. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +2 -2
  60. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
  61. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
  62. package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
  63. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
  64. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
  65. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  66. package/.next/standalone/.next/server/pages/404.html +2 -2
  67. package/.next/standalone/.next/server/pages/500.html +1 -1
  68. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
  70. package/.next/standalone/.next/static/chunks/{09ikntpt2-o9b.js → 0.z51twd.0l5z.js} +1 -1
  71. package/.next/standalone/.next/static/chunks/{0sme4lkv.tgn-.js → 0hctoh28rg838.js} +1 -1
  72. package/.next/standalone/.next/static/chunks/{13juklu.vksks.js → 0hplx-8c-4vpv.js} +1 -1
  73. package/.next/standalone/.next/static/chunks/{0em7tspi4kylh.js → 0maq.q1t.ri85.js} +2 -2
  74. package/.next/standalone/.next/static/chunks/{17manv47o-~wp.js → 0teq8wdh3po1n.js} +1 -1
  75. package/.next/standalone/.next/static/chunks/{0lgbwkfqmnsmc.js → 0uc0um_uz51m_.js} +1 -1
  76. package/.next/standalone/.next/static/chunks/{0yumumfzx_f27.js → 0ul6fk-z.6k-0.js} +1 -1
  77. package/.next/standalone/.next/static/chunks/{0_yayar~bpphd.js → 0w9lwqy0-v1dk.js} +1 -1
  78. package/.next/standalone/CHANGELOG.md +5 -0
  79. package/.next/standalone/dist/cli.mjs +19 -2
  80. package/.next/standalone/docs/ar/architecture.mdx +65 -64
  81. package/.next/standalone/docs/ar/configuration.mdx +42 -42
  82. package/.next/standalone/docs/ar/custom-policies.mdx +62 -64
  83. package/.next/standalone/docs/de/architecture.mdx +92 -92
  84. package/.next/standalone/docs/de/configuration.mdx +34 -34
  85. package/.next/standalone/docs/de/custom-policies.mdx +49 -50
  86. package/.next/standalone/docs/es/architecture.mdx +72 -72
  87. package/.next/standalone/docs/es/configuration.mdx +25 -25
  88. package/.next/standalone/docs/es/custom-policies.mdx +48 -49
  89. package/.next/standalone/docs/fr/architecture.mdx +53 -53
  90. package/.next/standalone/docs/fr/configuration.mdx +25 -25
  91. package/.next/standalone/docs/fr/custom-policies.mdx +42 -43
  92. package/.next/standalone/docs/he/architecture.mdx +66 -66
  93. package/.next/standalone/docs/he/configuration.mdx +53 -52
  94. package/.next/standalone/docs/he/custom-policies.mdx +72 -73
  95. package/.next/standalone/docs/hi/architecture.mdx +106 -106
  96. package/.next/standalone/docs/hi/configuration.mdx +39 -39
  97. package/.next/standalone/docs/hi/custom-policies.mdx +75 -76
  98. package/.next/standalone/docs/i18n/README.ar.md +66 -66
  99. package/.next/standalone/docs/i18n/README.de.md +38 -38
  100. package/.next/standalone/docs/i18n/README.es.md +38 -38
  101. package/.next/standalone/docs/i18n/README.fr.md +42 -42
  102. package/.next/standalone/docs/i18n/README.he.md +67 -67
  103. package/.next/standalone/docs/i18n/README.hi.md +70 -70
  104. package/.next/standalone/docs/i18n/README.it.md +62 -62
  105. package/.next/standalone/docs/i18n/README.ja.md +54 -54
  106. package/.next/standalone/docs/i18n/README.ko.md +58 -58
  107. package/.next/standalone/docs/i18n/README.pt-br.md +43 -43
  108. package/.next/standalone/docs/i18n/README.ru.md +69 -69
  109. package/.next/standalone/docs/i18n/README.tr.md +76 -76
  110. package/.next/standalone/docs/i18n/README.vi.md +70 -70
  111. package/.next/standalone/docs/i18n/README.zh.md +52 -52
  112. package/.next/standalone/docs/it/architecture.mdx +54 -53
  113. package/.next/standalone/docs/it/configuration.mdx +44 -45
  114. package/.next/standalone/docs/it/custom-policies.mdx +76 -78
  115. package/.next/standalone/docs/ja/architecture.mdx +93 -93
  116. package/.next/standalone/docs/ja/configuration.mdx +47 -47
  117. package/.next/standalone/docs/ja/custom-policies.mdx +62 -63
  118. package/.next/standalone/docs/ko/architecture.mdx +66 -66
  119. package/.next/standalone/docs/ko/configuration.mdx +35 -35
  120. package/.next/standalone/docs/ko/custom-policies.mdx +71 -72
  121. package/.next/standalone/docs/pt-br/architecture.mdx +55 -55
  122. package/.next/standalone/docs/pt-br/configuration.mdx +35 -35
  123. package/.next/standalone/docs/pt-br/custom-policies.mdx +60 -61
  124. package/.next/standalone/docs/ru/architecture.mdx +59 -60
  125. package/.next/standalone/docs/ru/configuration.mdx +52 -53
  126. package/.next/standalone/docs/ru/custom-policies.mdx +68 -69
  127. package/.next/standalone/docs/tr/architecture.mdx +124 -124
  128. package/.next/standalone/docs/tr/configuration.mdx +45 -46
  129. package/.next/standalone/docs/tr/custom-policies.mdx +75 -75
  130. package/.next/standalone/docs/vi/architecture.mdx +65 -64
  131. package/.next/standalone/docs/vi/configuration.mdx +41 -41
  132. package/.next/standalone/docs/vi/custom-policies.mdx +68 -69
  133. package/.next/standalone/docs/zh/architecture.mdx +67 -67
  134. package/.next/standalone/docs/zh/configuration.mdx +34 -34
  135. package/.next/standalone/docs/zh/custom-policies.mdx +53 -54
  136. package/.next/standalone/package.json +1 -1
  137. package/.next/standalone/server.js +1 -1
  138. package/.next/standalone/src/hooks/builtin-policies.ts +30 -0
  139. package/dist/cli.mjs +19 -2
  140. package/package.json +1 -1
  141. package/src/hooks/builtin-policies.ts +30 -0
  142. /package/.next/standalone/.next/static/{hYQM6iCWnF1W5XDpsIRhV → 8mygPGI5bzrtWK36ZYO59}/_buildManifest.js +0 -0
  143. /package/.next/standalone/.next/static/{hYQM6iCWnF1W5XDpsIRhV → 8mygPGI5bzrtWK36ZYO59}/_clientMiddlewareManifest.js +0 -0
  144. /package/.next/standalone/.next/static/{hYQM6iCWnF1W5XDpsIRhV → 8mygPGI5bzrtWK36ZYO59}/_ssgManifest.js +0 -0
@@ -25,14 +25,14 @@
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
- أسهل طريقة لإدارة السياسات التي تجعل وكلاءك الذكيين موثوقين وملتزمين بالمهام ويعملون بشكل مستقل - لـ **Claude Code** و **Agents SDK**.
28
+ أسهل طريقة لإدارة السياسات التي تحافظ على موثوقية وكلائك الذكية وتبقيها على المسار الصحيح وتعمل بشكل مستقل - لـ **Claude Code** و **Agents SDK**.
29
29
 
30
- - **30 سياسة مدمجة** - اكتشف أنماط فشل الوكيل الشائعة مباشرة من الصندوق. احجب الأوامر المدمرة، ومنع تسرب الأسرار، واحتفظ بالوكلاء داخل حدود المشروع، واكتشف الحلقات، والمزيد.
31
- - **سياسات مخصصة** - اكتب قواعد الموثوقية الخاصة بك في JavaScript. استخدم واجهات برمجية `allow`/`deny`/`instruct` لفرض الاتفاقيات، ومنع الانجراف، وتقييد العمليات، أو الدمج مع الأنظمة الخارجية.
32
- - **تكوين سهل** - اضبط أي سياسة بدون كتابة أكواد. حدد قوائم السماح والفروع المحمية والحدود الدنيا لكل مشروع أو عام. يتم دمج ثلاث نطاقات للتكوين تلقائياً.
33
- - **مراقب الوكيل** - اطلع على ما فعله وكلاؤك أثناء غيابك. تصفح الجلسات، وافحص كل استدعاء أداة، وراجع بالضبط حيث تم تفعيل السياسات.
30
+ - **30 سياسة مدمجة** - اكتشف أنماط فشل الوكيل الشائعة مباشرة. احجب الأوامر المدمرة، ومنع تسرب الأسرار، واحبس الوكلاء داخل حدود المشروع، واكتشف الحلقات، والمزيد.
31
+ - **سياسات مخصصة** - اكتب قواعد موثوقيتك الخاصة في JavaScript. استخدم واجهة برمجة التطبيقات `allow`/`deny`/`instruct` لفرض الاتفاقيات، ومنع الانجراف، وحماية العمليات، أو التكامل مع الأنظمة الخارجية.
32
+ - **تكوين سهل** - اضبط أي سياسة بدون كتابة أكواد. عيّن قوائم السماح المحمية والفروع المحمية والحدود الفردية لكل مشروع أو عالمياً. يتم دمج ثلاث نطاقات تكوينية تلقائياً.
33
+ - **مراقب الوكيل** - شاهد ما فعله وكلاؤك أثناء غيابك. استعرض الجلسات وتفقد كل استدعاء أداة وراجع بالضبط أين تم تطبيق السياسات.
34
34
 
35
- كل شيء يعمل محلياً - لا تترك البيانات جهازك.
35
+ كل شيء يعمل محلياً - لا تترك أي بيانات جهازك.
36
36
 
37
37
  ---
38
38
 
@@ -61,17 +61,17 @@ bun add -g failproofai
61
61
  failproofai policies --install
62
62
  ```
63
63
 
64
- يكتب إدخالات الخطاف في `~/.claude/settings.json`. سيقوم Claude Code الآن باستدعاء failproofai قبل وبعد كل استدعاء أداة.
64
+ يكتب إدخالات الخطاف في `~/.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,17 +79,17 @@ failproofai policies
79
79
 
80
80
  ---
81
81
 
82
- ## تثبيت السياسة
82
+ ## تثبيت السياسات
83
83
 
84
84
  ### النطاقات
85
85
 
86
- | النطاق | الأمر | المكان الذي تكتب فيه |
87
- |-------|---------|-----------------|
86
+ | النطاق | الأمر | حيث يكتب |
87
+ |--------|--------|-----------------|
88
88
  | عام (افتراضي) | `failproofai policies --install` | `~/.claude/settings.json` |
89
- | المشروع | `failproofai policies --install --scope project` | `.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
+ ### تثبيت سياسات محددة
93
93
 
94
94
  ```bash
95
95
  failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
@@ -99,7 +99,7 @@ failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
99
99
 
100
100
  ```bash
101
101
  failproofai policies --uninstall
102
- # أو لنطاق معين:
102
+ # أو لنطاق محدد:
103
103
  failproofai policies --uninstall --scope project
104
104
  ```
105
105
 
@@ -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": "Use apt-get directly without sudo."
125
+ "hint": "استخدم apt-get مباشرة بدون sudo."
126
126
  },
127
127
  "block-push-master": {
128
128
  "protectedBranches": ["main", "release", "prod"],
129
- "hint": "Try creating a fresh branch instead."
129
+ "hint": "حاول إنشاء فرع جديد بدلاً من ذلك."
130
130
  },
131
131
  "sanitize-api-keys": {
132
132
  "additionalPatterns": [
133
- { "regex": "myco_[A-Za-z0-9]{32}", "label": "MyCo API key" }
133
+ { "regex": "myco_[A-Za-z0-9]{32}", "label": "مفتاح MyCo API" }
134
134
  ]
135
135
  },
136
136
  "warn-large-file-write": {
@@ -140,39 +140,39 @@ failproofai policies --uninstall --scope project
140
140
  }
141
141
  ```
142
142
 
143
- **يتم دمج ثلاث نطاقات للتكوين** تلقائياً (المشروعالمحليالعام). انظر [docs/configuration.mdx](docs/configuration.mdx) للحصول على قواعد الدمج الكاملة.
143
+ **يتم دمج ثلاث نطاقات تكوينية** تلقائياً (مشروعمحليعام). انظر [docs/configuration.mdx](docs/configuration.mdx) للحصول على قواعد الدمج الكاملة.
144
144
 
145
145
  ---
146
146
 
147
147
  ## السياسات المدمجة
148
148
 
149
- | السياسة | الوصف | قابل للتخصيص |
149
+ | السياسة | الوصف | قابلة للتكوين |
150
150
  |--------|-------------|:---:|
151
151
  | `block-sudo` | منع الوكلاء من تشغيل أوامر النظام المميزة | `allowPatterns` |
152
- | `block-rm-rf` | منع حذف الملفات العودي العرضي | `allowPaths` |
153
- | `block-curl-pipe-sh` | منع الوكلاء من نقل البرامج النصية غير الموثوقة إلى shell | |
154
- | `block-failproofai-commands` | منع إلغاء التثبيت الذاتي | |
152
+ | `block-rm-rf` | منع حذف الملفات العودي غير المقصود | `allowPaths` |
153
+ | `block-curl-pipe-sh` | منع الوكلاء من توجيه النصوص غير الموثوقة إلى shell | |
154
+ | `block-failproofai-commands` | منع الإلغاء الذاتي | |
155
155
  | `sanitize-jwt` | إيقاف تسرب رموز JWT إلى سياق الوكيل | |
156
156
  | `sanitize-api-keys` | إيقاف تسرب مفاتيح API إلى سياق الوكيل | `additionalPatterns` |
157
157
  | `sanitize-connection-strings` | إيقاف تسرب بيانات اعتماد قاعدة البيانات إلى سياق الوكيل | |
158
- | `sanitize-private-key-content` | إعادة تحرير كتل مفاتيح PEM الخاصة من الإخراج | |
159
- | `sanitize-bearer-tokens` | إعادة تحرير رموز Authorization Bearer من الإخراج | |
158
+ | `sanitize-private-key-content` | تحرير كتل المفاتيح الخاصة PEM من الإخراج | |
159
+ | `sanitize-bearer-tokens` | تحرير رموز Bearer للمصادقة من الإخراج | |
160
160
  | `block-env-files` | منع الوكلاء من قراءة ملفات .env | |
161
161
  | `protect-env-vars` | منع الوكلاء من طباعة متغيرات البيئة | |
162
- | `block-read-outside-cwd` | احتفظ بالوكلاء داخل حدود المشروع | `allowPaths` |
162
+ | `block-read-outside-cwd` | احبس الوكلاء داخل حدود المشروع | `allowPaths` |
163
163
  | `block-secrets-write` | منع الكتابة إلى ملفات المفاتيح الخاصة والشهادات | `additionalPatterns` |
164
- | `block-push-master` | منع الدفع العرضي إلى main/master | `protectedBranches` |
165
- | `block-work-on-main` | ابعد الوكلاء عن الفروع المحمية | `protectedBranches` |
164
+ | `block-push-master` | منع الدفع غير المقصود إلى main/master | `protectedBranches` |
165
+ | `block-work-on-main` | إبقاء الوكلاء بعيداً عن الفروع المحمية | `protectedBranches` |
166
166
  | `block-force-push` | منع `git push --force` | |
167
- | `warn-git-amend` | ذكر الوكلاء قبل تعديل الالتزامات | |
168
- | `warn-git-stash-drop` | ذكر الوكلاء قبل إسقاط المخزن المؤقت | |
167
+ | `warn-git-amend` | تذكير الوكلاء قبل تعديل الالتزامات | |
168
+ | `warn-git-stash-drop` | تذكير الوكلاء قبل إسقاط التخزين المؤقت | |
169
169
  | `warn-all-files-staged` | اكتشف `git add -A` العرضي | |
170
- | `warn-destructive-sql` | اكتشف SQL DROP/DELETE قبل التنفيذ | |
170
+ | `warn-destructive-sql` | اكتشف DROP/DELETE SQL قبل التنفيذ | |
171
171
  | `warn-schema-alteration` | اكتشف ALTER TABLE قبل التنفيذ | |
172
- | `warn-large-file-write` | اكتشف كتابات الملفات الكبيرة غير المتوقعة | `thresholdKb` |
172
+ | `warn-large-file-write` | اكتشف عمليات كتابة الملفات الكبيرة غير المتوقعة | `thresholdKb` |
173
173
  | `warn-package-publish` | اكتشف `npm publish` العرضي | |
174
174
  | `warn-background-process` | اكتشف عمليات الخلفية غير المقصودة | |
175
- | `warn-global-package-install` | اكتشف عمليات التثبيت العام غير المقصودة | |
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: "Block writes to paths containing 'production'",
191
+ description: "احجب الكتابة إلى المسارات التي تحتوي على '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("Writes to production paths are blocked");
196
+ if (path.includes("production")) return deny("الكتابة إلى مسارات الإنتاج محظورة");
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)` | السماح وإرسال السياق المعلوماتي إلى Claude |
214
- | `deny(message)` | حظر العملية؛ الرسالة معروضة ل Claude |
215
- | `instruct(message)` | إضافة سياق إلى موجه Claude؛ لا تحظر |
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"` أو `"PostToolUse"` أو `"Notification"` أو `"Stop"` |
222
- | `toolName` | `string` | الأداة التي يتم استدعاؤها (`"Bash"` أو `"Write"` أو `"Read"` وغيرها) |
221
+ | `eventType` | `string` | `"PreToolUse" `"PostToolUse" `"Notification" `"Stop"` |
222
+ | `toolName` | `string` | الأداة التي يتم استدعاؤها (`"Bash" `"Write" `"Read" ) |
223
223
  | `toolInput` | `object` | معاملات إدخال الأداة |
224
224
  | `payload` | `object` | حمولة الحدث الخام الكاملة |
225
- | `session.cwd` | `string` | دليل العمل لجلسة Claude Code |
226
- | `session.sessionId` | `string` | معرف الجلسة |
227
- | `session.transcriptPath` | `string` | المسار إلى ملف نص جلسة العمل |
225
+ | `session.cwd` | `string` | دليل عمل جلسة Claude Code |
226
+ | `session.sessionId` | `string` | معرّف الجلسة |
227
+ | `session.transcriptPath` | `string` | مسار ملف نسخ جلسة الجلسة |
228
228
 
229
- تدعم الخطافات المخصصة الاستيراد المحلي العابر، والانتظار غير المتزامن، والوصول إلى `process.env`. الأخطاء مفتوحة للفشل (تسجيل في `~/.failproofai/hook.log`، استمرار السياسات المدمجة). انظر [docs/custom-hooks.mdx](docs/custom-hooks.mdx) للحصول على الدليل الكامل.
229
+ تدعم الخطافات المخصصة الواردات المحلية العابرة والانتظار غير المتزامن والوصول إلى `process.env`. الأخطاء آمنة (مسجلة في `~/.failproofai/hook.log`، استمرار السياسات المدمجة). انظر [docs/custom-hooks.mdx](docs/custom-hooks.mdx) للحصول على الدليل الكامل.
230
230
 
231
- ### السياسات المستندة إلى الاتفاقية
231
+ ### سياسات قائمة على الاتفاقية
232
232
 
233
- ضع ملفات `*policies.{js,mjs,ts}` في `.failproofai/policies/` وسيتم تحميلها تلقائياً - لا حاجة لعلم `--custom` أو تغييرات التكوين. يعمل مثل git hooks: ضع الملف، وسيعمل.
233
+ انقل ملفات `*policies.{js,mjs,ts}` إلى `.failproofai/policies/` وسيتم تحميلها تلقائياً - لا توجد حاجة لعلم `--custom` أو تغييرات التكوين. يعمل مثل git hooks: انقل ملف، فقط يعمل.
234
234
 
235
235
  ```text
236
- # مستوى المشروع يتم الالتزام به في git، مشاركة مع الفريق
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-` أو `02-` وما إلى ذلك للتحكم في الترتيب. انظر [examples/convention-policies/](examples/convention-policies/) للحصول على أمثلة جاهزة للاستخدام.
244
+ يتم تحميل كلا المستويين (اتحاد). يتم تحميل الملفات أبجدياً داخل كل دليل. بادئة مع `01-`، `02-`، إلخ للتحكم في الترتيب. انظر [examples/convention-policies/](examples/convention-policies/) للحصول على أمثلة جاهزة للاستخدام.
245
245
 
246
246
  ---
247
247
 
248
248
  ## قياس الاستخدام
249
249
 
250
- يجمع Failproof AI بيانات قياس الاستخدام المجهول عبر PostHog لفهم استخدام الميزات. لا يتم أبداً إرسال محتوى الجلسة أو أسماء الملفات أو مدخلات الأدوات أو المعلومات الشخصية.
250
+ يجمع Failproof AI قياس استخدام مجهول عبر PostHog لفهم استخدام الميزات. لا يتم إرسال محتوى الجلسة أو أسماء الملفات أو إدخالات الأدوات أو المعلومات الشخصية.
251
251
 
252
- عطله:
252
+ عطّله:
253
253
 
254
254
  ```bash
255
255
  FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
@@ -261,22 +261,22 @@ FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
261
261
 
262
262
  | الدليل | الوصف |
263
263
  |-------|-------------|
264
- | [البدء](docs/getting-started.mdx) | التثبيت والخطوات الأولى |
265
- | [السياسات المدمجة](docs/built-in-policies.mdx) | جميع السياسات المدمجة الـ 30 مع المعاملات |
266
- | [السياسات المخصصة](docs/custom-policies.mdx) | اكتب سياساتك الخاصة |
267
- | [التكوين](docs/configuration.mdx) | تنسيق ملف التكوين ودمج النطاق |
268
- | [لوحة التحكم](docs/dashboard.mdx) | مراقبة الجلسات ومراجعة نشاط السياسة |
269
- | [الهندسة المعمارية](docs/architecture.mdx) | كيفية عمل نظام الخطاف |
270
- | [الاختبار](docs/testing.mdx) | تشغيل الاختبارات وكتابة اختبارات جديدة |
264
+ | [Getting Started](docs/getting-started.mdx) | التثبيت والخطوات الأولى |
265
+ | [Built-in Policies](docs/built-in-policies.mdx) | جميع السياسات المدمجة الثلاثين مع المعاملات |
266
+ | [Custom Policies](docs/custom-policies.mdx) | اكتب سياساتك الخاصة |
267
+ | [Configuration](docs/configuration.mdx) | صيغة ملف التكوين ودمج النطاق |
268
+ | [Dashboard](docs/dashboard.mdx) | راقب الجلسات واستعرض نشاط السياسة |
269
+ | [Architecture](docs/architecture.mdx) | كيفية عمل نظام الخطاف |
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 في `http://localhost:3000`. ينظر الحاوية للتغييرات إذا قمت بتثبيت دليل التوثيق:
280
280
 
281
281
  ```bash
282
282
  docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
@@ -286,9 +286,9 @@ 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` القياسي. وذلك لأن تشغيل `npx -y failproofai` داخل مشروع failproofai نفسه يخلق تضاربة التعريف الذاتي.
289
+ يستخدم `.claude/settings.json` في هذا المستودع `bun ./bin/failproofai.mjs --hook <EventType>` بدلاً من أمر `npx -y failproofai` القياسي. وذلك لأن تشغيل `npx -y failproofai` داخل مشروع failproofai نفسه يخلق تضاربًا يشير إلى نفسه.
290
290
 
291
- بالنسبة لجميع المستودعات الأخرى، يُنصح باستخدام `npx -y failproofai`، والذي تم تثبيته عبر:
291
+ بالنسبة لجميع المستودعات الأخرى، الطريقة الموصى بها هي `npx -y failproofai`، المثبتة عبر:
292
292
 
293
293
  ```bash
294
294
  failproofai policies --install --scope project
@@ -306,7 +306,7 @@ failproofai policies --install --scope project
306
306
 
307
307
  ---
308
308
 
309
- تم البناء والصيانة من قبل **ExosphereHost: مختبر البحث عن الموثوقية لوكلائك**. نساعد المؤسسات والشركات الناشئة على تحسين موثوقية وكلائهم الذكيين من خلال وكلائنا وبرامجنا وخبرتنا. تعرف على المزيد في [exosphere.host](https://exosphere.host).
309
+ تم البناء والحفاظ عليه بواسطة **ExosphereHost: Reliability Research Lab for Your Agents**. نساعد المؤسسات والشركات الناشئة على تحسين موثوقية وكلائهم الذكية من خلال وكلائنا وبرامجنا وخبرتنا. تعرّف على المزيد في [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 von Agenten werden sofort abgefangen. Destruktive Befehle blockieren, Secret-Leaks verhindern, Agenten innerhalb von Projektgrenzen halten, Schleifen 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 zu steuern oder externe Systeme einzubinden.
30
- - **Einfache Konfiguration** – Jede Richtlinie lässt sich ohne Code anpassen. Allowlists, geschützte Branches und Schwellenwerte lassen sich pro Projekt oder global festlegen. Drei Konfigurationsebenen werden automatisch zusammengeführt.
31
- - **Agent Monitor** – Sehen Sie, was Ihre Agenten in Ihrer Abwesenheit getan haben. Sitzungen durchsuchen, jeden Tool-Aufruf inspizieren und genau nachvollziehen, wo Richtlinien ausgelöst wurden.
28
+ - **30 integrierte Richtlinien** – Häufige Fehlerquellen bei Agenten werden sofort abgefangen. Blockiert destruktive Befehle, verhindert das Durchsickern von Geheimnissen, hält Agenten innerhalb der Projektgrenzen, erkennt Endlosschleifen und vieles mehr.
29
+ - **Benutzerdefinierte Richtlinien** – Schreiben Sie eigene Zuverlässigkeitsregeln in JavaScript. Nutzen Sie die `allow`/`deny`/`instruct`-API, um Konventionen durchzusetzen, Abweichungen zu verhindern, Operationen abzusichern oder externe Systeme einzubinden.
30
+ - **Einfache Konfiguration** – Jede Richtlinie lässt sich ohne Code anpassen. Allowlists, geschützte Branches und Schwellenwerte können pro Projekt oder global festgelegt werden. Drei Konfigurationsebenen werden automatisch zusammengeführt.
31
+ - **Agent Monitor** – Sehen Sie, was Ihre Agenten gemacht haben, während Sie weg waren. Durchsuchen Sie Sitzungen, prüfen Sie jeden Tool-Aufruf und sehen Sie genau, 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 Entwicklung / Erstellen aus dem Quellcode erforderlich)
40
+ - Bun >= 1.3.0 (optional – nur für die Entwicklung / das Bauen aus dem Quellcode erforderlich)
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 inspizieren, Richtlinien verwalten.
70
+ Öffnet `http://localhost:8020` – Sitzungen durchsuchen, Logs einsehen, 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
- ## Richtlinien-Installation
80
+ ## Richtlinieninstallation
81
81
 
82
82
  ### Geltungsbereiche
83
83
 
84
- | Bereich | Befehl | Schreibort |
85
- |---------|--------|------------|
84
+ | Bereich | Befehl | Speicherort |
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 Bereich:
100
+ # oder für einen bestimmten Geltungsbereich:
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 befindet sich in `~/.failproofai/policies-config.json` (global) oder `.failproofai/policies-config.json` in Ihrem Projekt (projektbezogen).
108
+ Die Richtlinienkonfiguration befindet sich in `~/.failproofai/policies-config.json` (global) oder `.failproofai/policies-config.json` in Ihrem Projekt (projektspezifisch).
109
109
 
110
110
  ```json
111
111
  {
@@ -138,14 +138,14 @@ Die Richtlinienkonfiguration befindet sich in `~/.failproofai/policies-config.js
138
138
  }
139
139
  ```
140
140
 
141
- **Drei Konfigurationsebenen** werden automatisch zusammengeführt (Projekt → Lokal → Global). Vollständige Zusammenführungsregeln finden Sie in [docs/configuration.mdx](docs/configuration.mdx).
141
+ **Drei Konfigurationsebenen** werden automatisch zusammengeführt (Projekt → Lokal → Global). Vollständige Zusammenführungsregeln finden Sie unter [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 | |
@@ -153,21 +153,21 @@ Die Richtlinienkonfiguration befindet sich in `~/.failproofai/policies-config.js
153
153
  | `sanitize-jwt` | Verhindert, dass JWT-Tokens in den Agentenkontext gelangen | |
154
154
  | `sanitize-api-keys` | Verhindert, dass API-Schlüssel in den Agentenkontext gelangen | `additionalPatterns` |
155
155
  | `sanitize-connection-strings` | Verhindert, dass Datenbank-Anmeldedaten in den Agentenkontext gelangen | |
156
- | `sanitize-private-key-content` | Schwärzt PEM-Private-Key-Blöcke aus der Ausgabe | |
157
- | `sanitize-bearer-tokens` | Schwärzt Authorization-Bearer-Tokens aus der Ausgabe | |
156
+ | `sanitize-private-key-content` | Schwärzt PEM-Privatschlüsselblöcke in der Ausgabe | |
157
+ | `sanitize-bearer-tokens` | Schwärzt Authorization-Bearer-Tokens in der Ausgabe | |
158
158
  | `block-env-files` | Verhindert, dass Agenten .env-Dateien 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 das Schreiben in Private-Key- und Zertifikatsdateien | `additionalPatterns` |
162
- | `block-push-master` | Verhindert versehentliche Pushes nach main/master | `protectedBranches` |
161
+ | `block-secrets-write` | Verhindert Schreibzugriffe auf Privatschlüssel- und Zertifikatsdateien | `additionalPatterns` |
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 Ändern von Commits | |
165
+ | `warn-git-amend` | Erinnert Agenten vor dem Amenden 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 Schreibvorgänge | `thresholdKb` |
170
+ | `warn-large-file-write` | Erkennt unerwartet große Dateischreibvorgänge | `thresholdKb` |
171
171
  | `warn-package-publish` | Erkennt versehentliches `npm publish` | |
172
172
  | `warn-background-process` | Erkennt unbeabsichtigte Starts von Hintergrundprozessen | |
173
173
  | `warn-global-package-install` | Erkennt unbeabsichtigte globale Paketinstallationen | |
@@ -197,7 +197,7 @@ customPolicies.add({
197
197
  });
198
198
  ```
199
199
 
200
- Installieren mit:
200
+ Installation mit:
201
201
 
202
202
  ```bash
203
203
  failproofai policies --install --custom ./my-policies.js
@@ -209,26 +209,26 @@ failproofai policies --install --custom ./my-policies.js
209
209
  |----------|---------|
210
210
  | `allow()` | Erlaubt die Operation |
211
211
  | `allow(message)` | Erlaubt und sendet informativen Kontext an Claude |
212
- | `deny(message)` | Blockiert die Operation; Nachricht wird Claude angezeigt |
213
- | `instruct(message)` | Fügt Claude's Prompt Kontext hinzu; blockiert nicht |
212
+ | `deny(message)` | Blockiert die Operation; Meldung wird Claude angezeigt |
213
+ | `instruct(message)` | Fügt Claudes Prompt Kontext hinzu; blockiert nicht |
214
214
 
215
215
  ### Kontextobjekt (`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
- | `payload` | `object` | Vollständige rohe Event-Nutzdaten |
222
+ | `payload` | `object` | Vollständiger roher Event-Payload |
223
223
  | `session.cwd` | `string` | Arbeitsverzeichnis der Claude Code-Sitzung |
224
- | `session.sessionId` | `string` | Sitzungskennung |
225
- | `session.transcriptPath` | `string` | Pfad zur Sitzungs-Transkriptdatei |
224
+ | `session.sessionId` | `string` | Sitzungsbezeichner |
225
+ | `session.transcriptPath` | `string` | Pfad zur Sitzungstranskriptdatei |
226
226
 
227
- Benutzerdefinierte Hooks unterstützen transitive lokale Importe, async/await und Zugriff auf `process.env`. Fehler sind fail-open (werden in `~/.failproofai/hook.log` protokolliert, integrierte Richtlinien laufen weiter). Eine vollständige Anleitung finden Sie unter [docs/custom-hooks.mdx](docs/custom-hooks.mdx).
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 unter [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 sie werden automatisch geladen, ohne `--custom`-Flag oder Konfigurationsänderungen. Funktioniert wie Git-Hooks: Datei ablegen, fertig.
231
+ Legen Sie `*policies.{js,mjs,ts}`-Dateien in `.failproofai/policies/` ab, und sie werden automatisch geladen kein `--custom`-Flag oder Konfigurationsänderungen erforderlich. Funktioniert wie Git-Hooks: Datei ablegen, fertig.
232
232
 
233
233
  ```text
234
234
  # Projektebene — in Git eingecheckt, mit dem Team geteilt
@@ -239,15 +239,15 @@ Legen Sie `*policies.{js,mjs,ts}`-Dateien in `.failproofai/policies/` ab – sie
239
239
  ~/.failproofai/policies/my-policies.mjs
240
240
  ```
241
241
 
242
- Beide Ebenen werden geladen (Vereinigung). Dateien werden innerhalb jedes Verzeichnisses alphabetisch geladen. Verwenden Sie Präfixe wie `01-`, `02-` usw., um die Reihenfolge zu steuern. Fertige Beispiele finden Sie unter [examples/convention-policies/](examples/convention-policies/).
242
+ Beide Ebenen werden geladen (Vereinigung). Dateien werden alphabetisch innerhalb jedes Verzeichnisses geladen. Verwenden Sie Präfixe wie `01-`, `02-` usw., um die Reihenfolge zu steuern. Gebrauchsfertige 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 das Feature-Nutzungsverhalten zu verstehen. Es werden niemals Sitzungsinhalte, Dateinamen, Tool-Eingaben oder personenbezogene Daten übermittelt.
248
+ Failproof AI erfasst anonyme Nutzungstelemetrie über PostHog, um die Feature-Nutzung zu verstehen. Es werden niemals Sitzungsinhalte, Dateinamen, Tool-Eingaben oder persönliche Informationen übermittelt.
249
249
 
250
- Deaktivieren:
250
+ Deaktivierung:
251
251
 
252
252
  ```bash
253
253
  FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
@@ -258,12 +258,12 @@ FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
258
258
  ## Dokumentation
259
259
 
260
260
  | Leitfaden | Beschreibung |
261
- |-----------|--------------|
261
+ |-----------|-------------|
262
262
  | [Erste Schritte](docs/getting-started.mdx) | Installation und erste Schritte |
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 Bereichsmerge |
266
- | [Dashboard](docs/dashboard.mdx) | Sitzungen überwachen und Richtlinienaktivität prüfen |
265
+ | [Konfiguration](docs/configuration.mdx) | Konfigurationsdateiformat und Geltungsbereichs-Zusammenführung |
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 |
269
269
 
@@ -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 Docs-Verzeichnis einbinden:
277
+ Öffnet die Mintlify-Dokumentationsseite unter `http://localhost:3000`. Der Container erkennt Änderungen, wenn Sie das Dokumentationsverzeichnis 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-Mitwirkende
285
+ ## Hinweis für failproofai-Beitragende
286
286
 
287
- Die `.claude/settings.json` dieses Repos verwendet `bun ./bin/failproofai.mjs --hook <EventType>` anstelle des Standardbefehls `npx -y failproofai`. Der Grund: Das Ausführen von `npx -y failproofai` innerhalb des failproofai-Projekts selbst erzeugt einen selbstreferenzierenden Konflikt.
287
+ Die `.claude/settings.json` dieses Repos verwendet `bun ./bin/failproofai.mjs --hook <EventType>` statt des standardmäßigen `npx -y failproofai`-Befehls. Das liegt daran, dass die Ausführung von `npx -y failproofai` innerhalb des failproofai-Projekts selbst einen selbstreferenzierenden Konflikt erzeugt.
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 dabei, die Zuverlässigkeit ihrer KI-Agenten durch eigene Agenten, Software und Expertise zu verbessern. Mehr erfahren unter [exosphere.host](https://exosphere.host).
307
+ Entwickelt und gepflegt von **ExosphereHost: Reliability Research Lab for Your Agents**. Wir helfen Unternehmen und Startups, die Zuverlässigkeit ihrer KI-Agenten durch unsere eigenen Agenten, Software und Expertise zu verbessern. Mehr erfahren Sie unter [exosphere.host](https://exosphere.host).