failproofai 0.0.6-beta.1 → 0.0.6-beta.3

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 (177) hide show
  1. package/.next/standalone/.failproofai/policies/review-policies.mjs +4 -3
  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]__092s1ta._.js +2 -2
  53. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0~kmh8w._.js → [root-of-the-server]__096k.db._.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]__0g.lg8b._.js +2 -2
  56. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
  57. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0rh.18_._.js → [root-of-the-server]__0kyh86x._.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/{0gbf4cphy8ksq.js → 0-dm_9a6nsc2l.js} +1 -1
  71. package/.next/standalone/.next/static/chunks/{12~yi9oj8av8p.js → 01pmw1-asbek~.js} +2 -2
  72. package/.next/standalone/.next/static/chunks/{0v.yd0kg_ld3r.js → 051m32nx~n5yr.js} +1 -1
  73. package/.next/standalone/.next/static/chunks/{09_k80d~cq2wg.js → 0a-yctdwn368y.js} +1 -1
  74. package/.next/standalone/.next/static/chunks/{0bvhsa6zva2o..js → 0ksdlt_1hucdm.js} +1 -1
  75. package/.next/standalone/.next/static/chunks/{01b~z8f1ws0rk.js → 0l-mu4okl-cj1.js} +1 -1
  76. package/.next/standalone/.next/static/chunks/{08t08igdql9yt.js → 0mazj-p-~2kc6.js} +1 -1
  77. package/.next/standalone/.next/static/chunks/0qakntsrpc~1j.js +6 -0
  78. package/.next/standalone/.next/static/chunks/{03rz6ykw-a2xi.js → 156zca6aewyr-.js} +1 -1
  79. package/.next/standalone/CHANGELOG.md +18 -0
  80. package/.next/standalone/bin/failproofai.mjs +91 -4
  81. package/.next/standalone/dist/cli.mjs +1156 -55
  82. package/.next/standalone/docs/ar/built-in-policies.mdx +140 -103
  83. package/.next/standalone/docs/ar/custom-policies.mdx +72 -72
  84. package/.next/standalone/docs/ar/examples.mdx +86 -33
  85. package/.next/standalone/docs/ar/getting-started.mdx +82 -29
  86. package/.next/standalone/docs/built-in-policies.mdx +3 -3
  87. package/.next/standalone/docs/de/built-in-policies.mdx +97 -60
  88. package/.next/standalone/docs/de/custom-policies.mdx +56 -56
  89. package/.next/standalone/docs/de/examples.mdx +72 -18
  90. package/.next/standalone/docs/de/getting-started.mdx +72 -20
  91. package/.next/standalone/docs/es/built-in-policies.mdx +91 -54
  92. package/.next/standalone/docs/es/custom-policies.mdx +55 -55
  93. package/.next/standalone/docs/es/examples.mdx +73 -19
  94. package/.next/standalone/docs/es/getting-started.mdx +72 -20
  95. package/.next/standalone/docs/fr/built-in-policies.mdx +99 -62
  96. package/.next/standalone/docs/fr/custom-policies.mdx +51 -51
  97. package/.next/standalone/docs/fr/examples.mdx +78 -24
  98. package/.next/standalone/docs/fr/getting-started.mdx +65 -13
  99. package/.next/standalone/docs/he/built-in-policies.mdx +139 -99
  100. package/.next/standalone/docs/he/custom-policies.mdx +75 -75
  101. package/.next/standalone/docs/he/examples.mdx +87 -33
  102. package/.next/standalone/docs/he/getting-started.mdx +84 -33
  103. package/.next/standalone/docs/hi/built-in-policies.mdx +203 -166
  104. package/.next/standalone/docs/hi/custom-policies.mdx +71 -70
  105. package/.next/standalone/docs/hi/examples.mdx +90 -36
  106. package/.next/standalone/docs/hi/getting-started.mdx +80 -27
  107. package/.next/standalone/docs/i18n/README.ar.md +69 -69
  108. package/.next/standalone/docs/i18n/README.de.md +46 -46
  109. package/.next/standalone/docs/i18n/README.es.md +42 -42
  110. package/.next/standalone/docs/i18n/README.fr.md +39 -39
  111. package/.next/standalone/docs/i18n/README.he.md +83 -83
  112. package/.next/standalone/docs/i18n/README.hi.md +69 -69
  113. package/.next/standalone/docs/i18n/README.it.md +72 -72
  114. package/.next/standalone/docs/i18n/README.ja.md +71 -71
  115. package/.next/standalone/docs/i18n/README.ko.md +52 -52
  116. package/.next/standalone/docs/i18n/README.pt-br.md +44 -44
  117. package/.next/standalone/docs/i18n/README.ru.md +66 -66
  118. package/.next/standalone/docs/i18n/README.tr.md +82 -83
  119. package/.next/standalone/docs/i18n/README.vi.md +70 -71
  120. package/.next/standalone/docs/i18n/README.zh.md +51 -51
  121. package/.next/standalone/docs/it/built-in-policies.mdx +115 -78
  122. package/.next/standalone/docs/it/custom-policies.mdx +69 -69
  123. package/.next/standalone/docs/it/examples.mdx +93 -39
  124. package/.next/standalone/docs/it/getting-started.mdx +73 -21
  125. package/.next/standalone/docs/ja/built-in-policies.mdx +155 -118
  126. package/.next/standalone/docs/ja/custom-policies.mdx +71 -71
  127. package/.next/standalone/docs/ja/examples.mdx +76 -22
  128. package/.next/standalone/docs/ja/getting-started.mdx +65 -13
  129. package/.next/standalone/docs/ko/built-in-policies.mdx +103 -66
  130. package/.next/standalone/docs/ko/custom-policies.mdx +67 -67
  131. package/.next/standalone/docs/ko/examples.mdx +87 -33
  132. package/.next/standalone/docs/ko/getting-started.mdx +61 -9
  133. package/.next/standalone/docs/pt-br/built-in-policies.mdx +72 -35
  134. package/.next/standalone/docs/pt-br/custom-policies.mdx +56 -56
  135. package/.next/standalone/docs/pt-br/examples.mdx +78 -24
  136. package/.next/standalone/docs/pt-br/getting-started.mdx +64 -12
  137. package/.next/standalone/docs/ru/built-in-policies.mdx +135 -98
  138. package/.next/standalone/docs/ru/custom-policies.mdx +82 -81
  139. package/.next/standalone/docs/ru/examples.mdx +77 -22
  140. package/.next/standalone/docs/ru/getting-started.mdx +74 -22
  141. package/.next/standalone/docs/tr/built-in-policies.mdx +126 -89
  142. package/.next/standalone/docs/tr/custom-policies.mdx +59 -60
  143. package/.next/standalone/docs/tr/examples.mdx +97 -42
  144. package/.next/standalone/docs/tr/getting-started.mdx +75 -23
  145. package/.next/standalone/docs/vi/built-in-policies.mdx +116 -81
  146. package/.next/standalone/docs/vi/custom-policies.mdx +68 -68
  147. package/.next/standalone/docs/vi/examples.mdx +93 -38
  148. package/.next/standalone/docs/vi/getting-started.mdx +74 -22
  149. package/.next/standalone/docs/zh/built-in-policies.mdx +117 -82
  150. package/.next/standalone/docs/zh/custom-policies.mdx +49 -49
  151. package/.next/standalone/docs/zh/examples.mdx +90 -36
  152. package/.next/standalone/docs/zh/getting-started.mdx +73 -21
  153. package/.next/standalone/package.json +1 -1
  154. package/.next/standalone/server.js +1 -1
  155. package/.next/standalone/src/auth/login.ts +104 -0
  156. package/.next/standalone/src/auth/logout.ts +50 -0
  157. package/.next/standalone/src/auth/token-store.ts +64 -0
  158. package/.next/standalone/src/hooks/builtin-policies.ts +27 -21
  159. package/.next/standalone/src/hooks/handler.ts +35 -15
  160. package/.next/standalone/src/relay/daemon.ts +362 -0
  161. package/.next/standalone/src/relay/pid.ts +76 -0
  162. package/.next/standalone/src/relay/queue.ts +225 -0
  163. package/bin/failproofai.mjs +91 -4
  164. package/dist/cli.mjs +1156 -55
  165. package/package.json +1 -1
  166. package/src/auth/login.ts +104 -0
  167. package/src/auth/logout.ts +50 -0
  168. package/src/auth/token-store.ts +64 -0
  169. package/src/hooks/builtin-policies.ts +27 -21
  170. package/src/hooks/handler.ts +35 -15
  171. package/src/relay/daemon.ts +362 -0
  172. package/src/relay/pid.ts +76 -0
  173. package/src/relay/queue.ts +225 -0
  174. package/.next/standalone/.next/static/chunks/0wlyoif4_kj_t.js +0 -6
  175. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_buildManifest.js +0 -0
  176. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_clientMiddlewareManifest.js +0 -0
  177. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_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
- أسهل طريقة لإدارة السياسات التي تحافظ على موثوقية وكلائك الذكية وتبقيها على المسار الصحيح وتعمل بشكل مستقل - لـ **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
 
@@ -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
- يكتب إدخالات الخطاف في `~/.claude/settings.json`. سيستدعي Claude Code الآن failproofai قبل وبعد كل استدعاء أداة.
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
- | عام (افتراضي) | `failproofai policies --install` | `~/.claude/settings.json` |
89
- | مشروع | `failproofai policies --install --scope project` | `.claude/settings.json` |
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` (عام) أو `.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": "استخدم apt-get مباشرة بدون sudo."
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": "مفتاح MyCo API" }
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
- **يتم دمج ثلاث نطاقات تكوينية** تلقائياً (مشروعمحليعام). انظر [docs/configuration.mdx](docs/configuration.mdx) للحصول على قواعد الدمج الكاملة.
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` | منع الوكلاء من تشغيل أوامر النظام المميزة | `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` | تحرير رموز 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` | احبس الوكلاء داخل حدود المشروع | `allowPaths` |
163
- | `block-secrets-write` | منع الكتابة إلى ملفات المفاتيح الخاصة والشهادات | `additionalPatterns` |
164
- | `block-push-master` | منع الدفع غير المقصود إلى main/master | `protectedBranches` |
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` | اكتشف `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` | اكتشف عمليات تثبيت الحزم العامة غير المقصودة | |
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: "احجب الكتابة إلى المسارات التي تحتوي على 'production'",
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)` | السماح بالعملية وإرسال السياق المعلوماتي إلى 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
- | `payload` | `object` | حمولة الحدث الخام الكاملة |
225
- | `session.cwd` | `string` | دليل عمل جلسة Claude Code |
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
- تدعم الخطافات المخصصة الواردات المحلية العابرة والانتظار غير المتزامن والوصول إلى `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/` وسيتم تحميلها تلقائياً - لا توجد أعلام أو تغييرات تكوين مطلوبة. التزم بالدليل إلى git وكل عضو في الفريق يحصل على نفس معايير الجودة تلقائياً.
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
@@ -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` القياسي. وذلك لأن تشغيل `npx -y failproofai` داخل مشروع 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
- انظر [CONTRIBUTING.md](CONTRIBUTING.md).
299
+ راجع [CONTRIBUTING.md](CONTRIBUTING.md).
300
300
 
301
301
  ---
302
302
 
303
303
  ## الترخيص
304
304
 
305
- انظر [LICENSE](LICENSE).
305
+ راجع [LICENSE](LICENSE).
306
306
 
307
307
  ---
308
308
 
309
- تم البناء والحفاظ عليه بواسطة **ExosphereHost: Reliability Research Lab for Your Agents**. نساعد المؤسسات والشركات الناشئة على تحسين موثوقية وكلائهم الذكية من خلال وكلائنا وبرامجنا وخبرتنا. تعرّف على المزيد في [exosphere.host](https://exosphere.host).
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 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.
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 erforderlich)
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 einsehen, Richtlinien verwalten.
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
- ## Richtlinieninstallation
80
+ ## Richtlinien-Installation
81
81
 
82
82
  ### Geltungsbereiche
83
83
 
84
- | Bereich | Befehl | Speicherort |
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 Geltungsbereich:
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 befindet sich in `~/.failproofai/policies-config.json` (global) oder `.failproofai/policies-config.json` in Ihrem Projekt (projektspezifisch).
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 Konfigurationsebenen** werden automatisch zusammengeführt (Projekt → Lokal → Global). Vollständige Zusammenführungsregeln finden Sie unter [docs/configuration.mdx](docs/configuration.mdx).
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 Selbst-Deinstallation | |
153
- | `sanitize-jwt` | Verhindert, dass JWT-Tokens in den Agentenkontext gelangen | |
154
- | `sanitize-api-keys` | Verhindert, dass API-Schlüssel in den Agentenkontext gelangen | `additionalPatterns` |
155
- | `sanitize-connection-strings` | Verhindert, dass Datenbank-Anmeldedaten in den Agentenkontext gelangen | |
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
- | `block-env-files` | Verhindert, dass Agenten .env-Dateien lesen | |
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 Privatschlüssel- und Zertifikatsdateien | `additionalPatterns` |
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 Amenden von Commits | |
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 Dateischreibvorgänge | `thresholdKb` |
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 von Hintergrundprozessen | |
173
- | `warn-global-package-install` | Erkennt unbeabsichtigte globale Paketinstallationen | |
174
- | …und mehr | | |
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 Richtliniendetails und Parameterreferenz: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
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()` | Erlaubt die Operation |
211
- | `allow(message)` | Erlaubt und sendet informativen Kontext an Claude |
212
- | `deny(message)` | Blockiert die Operation; Meldung wird Claude angezeigt |
213
- | `instruct(message)` | Fügt Claudes Prompt Kontext hinzu; blockiert nicht |
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
- ### Kontextobjekt (`ctx`)
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` | Sitzungsbezeichner |
225
- | `session.transcriptPath` | `string` | Pfad zur Sitzungstranskriptdatei |
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 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: [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 – kein `--custom`-Flag oder Konfigurationsänderungen erforderlich. Funktioniert wie Git-Hooks: Datei ablegen, fertig.
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 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/).
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 Feature-Nutzung zu verstehen. Es werden niemals Sitzungsinhalte, Dateinamen, Tool-Eingaben oder persönliche Informationen übermittelt.
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 erste Schritte |
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 Geltungsbereichs-Zusammenführung |
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 Dokumentationsverzeichnis einbinden:
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-Beitragende
285
+ ## Hinweis für failproofai-Mitwirkende
286
286
 
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.
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 unsere eigenen Agenten, Software und Expertise zu verbessern. Mehr erfahren Sie 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 eigene Agenten, Software und Expertise zu verbessern. Mehr erfahren unter [exosphere.host](https://exosphere.host).