failproofai 0.0.2 → 0.0.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 (483) hide show
  1. package/.next/standalone/.claude/settings.json +316 -0
  2. package/.next/standalone/.failproofai/policies/workflow-policies.mjs +62 -0
  3. package/.next/standalone/.failproofai/policies-config.json +39 -0
  4. package/.next/standalone/.next/BUILD_ID +1 -1
  5. package/.next/standalone/.next/build-manifest.json +5 -5
  6. package/.next/standalone/.next/prerender-manifest.json +3 -3
  7. package/.next/standalone/.next/required-server-files.json +3 -1
  8. package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
  9. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  10. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  11. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  14. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  15. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  16. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  17. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  18. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
  20. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  21. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  24. package/.next/standalone/.next/server/app/_not-found.rsc +17 -17
  25. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +17 -17
  26. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  27. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
  28. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  29. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  30. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  31. package/.next/standalone/.next/server/app/index.html +1 -1
  32. package/.next/standalone/.next/server/app/index.rsc +16 -16
  33. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  34. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +16 -16
  35. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  36. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +11 -11
  37. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  38. package/.next/standalone/.next/server/app/page/build-manifest.json +2 -2
  39. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  40. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/policies/page/build-manifest.json +2 -2
  43. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  44. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/project/[name]/page/build-manifest.json +2 -2
  47. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  48. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/build-manifest.json +2 -2
  51. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  52. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  53. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/projects/page/build-manifest.json +2 -2
  56. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  57. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  58. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +3 -0
  60. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kjo7d_._.js +1 -1
  61. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_05pz9._._.js +1 -1
  62. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
  63. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__12kr5~_._.js → [root-of-the-server]__03kiqd5._.js} +2 -2
  64. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
  65. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
  66. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0qo8503._.js → [root-of-the-server]__0bo8s~-._.js} +2 -2
  67. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
  68. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
  69. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
  70. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +9 -9
  71. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
  72. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
  73. package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
  74. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
  75. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
  76. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0a_7sdg.js +2 -2
  77. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ef3uwk.js +2 -2
  78. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0j79~gv.js +2 -2
  79. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pbja1x.js +2 -2
  80. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0r6o0i2.js +2 -2
  81. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_11y81~_.js +2 -2
  82. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_12or2kf.js +2 -2
  83. package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.js +1 -1
  84. package/.next/standalone/.next/server/middleware-build-manifest.js +5 -5
  85. package/.next/standalone/.next/server/pages/404.html +2 -2
  86. package/.next/standalone/.next/server/pages/500.html +1 -1
  87. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
  89. package/.next/standalone/.next/static/chunks/{0x-625~1vx1lu.js → 02t9.s735hqyq.js} +1 -1
  90. package/.next/standalone/.next/static/chunks/{0ov60i6md~37t.js → 03oepxbqx6o8~.js} +2 -2
  91. package/.next/standalone/.next/static/chunks/{031pa5~qfzt~_.js → 09e7drilkf1sn.js} +1 -1
  92. package/.next/standalone/.next/static/chunks/{0y~0creqvl5wx.js → 0cwft44dh9bww.js} +1 -1
  93. package/.next/standalone/.next/static/chunks/{06og.7e9nkpjh.js → 0e2uz2g026ckb.js} +1 -1
  94. package/.next/standalone/.next/static/chunks/0gu_a.a80ritd.css +1 -0
  95. package/.next/standalone/.next/static/chunks/{15wf7x-e.8ia3.js → 0h5kbvg~.xf.v.js} +1 -1
  96. package/.next/standalone/.next/static/chunks/{0_4y_t03jn2nq.js → 0od..umlku4bb.js} +1 -1
  97. package/.next/standalone/.next/static/chunks/{0cvffh-pbsv5u.js → 0xbwzy4dl87-0.js} +1 -1
  98. package/.next/standalone/.next/static/chunks/{0c_ljlxa._4lc.js → 18cl6wups7ouq.js} +2 -2
  99. package/.next/standalone/.next/static/chunks/{turbopack-0uc5y~g6h.n7-.js → turbopack-0r26pc8h0y_-e.js} +1 -1
  100. package/.next/standalone/CHANGELOG.md +103 -0
  101. package/.next/standalone/CLAUDE.md +28 -0
  102. package/.next/standalone/Dockerfile.docs +12 -0
  103. package/.next/standalone/README.md +95 -49
  104. package/.next/standalone/app/components/session-hooks-panel.tsx +14 -1
  105. package/.next/standalone/app/policies/hooks-client.tsx +14 -1
  106. package/.next/standalone/bin/failproofai.mjs +5 -0
  107. package/.next/standalone/bun.lock +76 -63
  108. package/.next/standalone/components/navbar.tsx +5 -0
  109. package/.next/standalone/dist/cli.mjs +539 -90
  110. package/.next/standalone/dist/index.js +2 -2
  111. package/.next/standalone/docs/ar/architecture.mdx +333 -0
  112. package/.next/standalone/docs/ar/built-in-policies.mdx +566 -0
  113. package/.next/standalone/docs/ar/cli/dashboard.mdx +28 -0
  114. package/.next/standalone/docs/ar/cli/environment-variables.mdx +34 -0
  115. package/.next/standalone/docs/ar/cli/hook.mdx +31 -0
  116. package/.next/standalone/docs/ar/cli/install-policies.mdx +49 -0
  117. package/.next/standalone/docs/ar/cli/list-policies.mdx +31 -0
  118. package/.next/standalone/docs/ar/cli/remove-policies.mdx +45 -0
  119. package/.next/standalone/docs/ar/cli/version.mdx +13 -0
  120. package/.next/standalone/docs/ar/configuration.mdx +223 -0
  121. package/.next/standalone/docs/ar/custom-policies.mdx +359 -0
  122. package/.next/standalone/docs/ar/dashboard.mdx +142 -0
  123. package/.next/standalone/docs/ar/examples.mdx +254 -0
  124. package/.next/standalone/docs/ar/for-agents.mdx +39 -0
  125. package/.next/standalone/docs/ar/getting-started.mdx +134 -0
  126. package/.next/standalone/docs/ar/introduction.mdx +58 -0
  127. package/.next/standalone/docs/ar/package-aliases.mdx +82 -0
  128. package/.next/standalone/docs/ar/testing.mdx +261 -0
  129. package/.next/standalone/docs/{architecture.md → architecture.mdx} +40 -23
  130. package/.next/standalone/docs/{built-in-policies.md → built-in-policies.mdx} +151 -13
  131. package/.next/standalone/docs/cli/dashboard.mdx +28 -0
  132. package/.next/standalone/docs/cli/environment-variables.mdx +34 -0
  133. package/.next/standalone/docs/cli/hook.mdx +30 -0
  134. package/.next/standalone/docs/cli/install-policies.mdx +48 -0
  135. package/.next/standalone/docs/cli/list-policies.mdx +31 -0
  136. package/.next/standalone/docs/cli/remove-policies.mdx +44 -0
  137. package/.next/standalone/docs/cli/version.mdx +12 -0
  138. package/.next/standalone/docs/{configuration.md → configuration.mdx} +62 -16
  139. package/.next/standalone/docs/custom-policies.mdx +357 -0
  140. package/.next/standalone/docs/{dashboard.md → dashboard.mdx} +26 -29
  141. package/.next/standalone/docs/de/architecture.mdx +332 -0
  142. package/.next/standalone/docs/de/built-in-policies.mdx +564 -0
  143. package/.next/standalone/docs/de/cli/dashboard.mdx +28 -0
  144. package/.next/standalone/docs/de/cli/environment-variables.mdx +34 -0
  145. package/.next/standalone/docs/de/cli/hook.mdx +30 -0
  146. package/.next/standalone/docs/de/cli/install-policies.mdx +48 -0
  147. package/.next/standalone/docs/de/cli/list-policies.mdx +31 -0
  148. package/.next/standalone/docs/de/cli/remove-policies.mdx +44 -0
  149. package/.next/standalone/docs/de/cli/version.mdx +12 -0
  150. package/.next/standalone/docs/de/configuration.mdx +222 -0
  151. package/.next/standalone/docs/de/custom-policies.mdx +357 -0
  152. package/.next/standalone/docs/de/dashboard.mdx +142 -0
  153. package/.next/standalone/docs/de/examples.mdx +253 -0
  154. package/.next/standalone/docs/de/for-agents.mdx +38 -0
  155. package/.next/standalone/docs/de/getting-started.mdx +134 -0
  156. package/.next/standalone/docs/de/introduction.mdx +57 -0
  157. package/.next/standalone/docs/de/package-aliases.mdx +82 -0
  158. package/.next/standalone/docs/de/testing.mdx +260 -0
  159. package/.next/standalone/docs/docs.json +938 -24
  160. package/.next/standalone/docs/es/architecture.mdx +332 -0
  161. package/.next/standalone/docs/es/built-in-policies.mdx +564 -0
  162. package/.next/standalone/docs/es/cli/dashboard.mdx +28 -0
  163. package/.next/standalone/docs/es/cli/environment-variables.mdx +34 -0
  164. package/.next/standalone/docs/es/cli/hook.mdx +30 -0
  165. package/.next/standalone/docs/es/cli/install-policies.mdx +48 -0
  166. package/.next/standalone/docs/es/cli/list-policies.mdx +31 -0
  167. package/.next/standalone/docs/es/cli/remove-policies.mdx +44 -0
  168. package/.next/standalone/docs/es/cli/version.mdx +12 -0
  169. package/.next/standalone/docs/es/configuration.mdx +222 -0
  170. package/.next/standalone/docs/es/custom-policies.mdx +357 -0
  171. package/.next/standalone/docs/es/dashboard.mdx +142 -0
  172. package/.next/standalone/docs/es/examples.mdx +253 -0
  173. package/.next/standalone/docs/es/for-agents.mdx +38 -0
  174. package/.next/standalone/docs/es/getting-started.mdx +134 -0
  175. package/.next/standalone/docs/es/introduction.mdx +57 -0
  176. package/.next/standalone/docs/es/package-aliases.mdx +82 -0
  177. package/.next/standalone/docs/es/testing.mdx +260 -0
  178. package/.next/standalone/docs/examples.mdx +253 -0
  179. package/.next/standalone/docs/for-agents.mdx +38 -0
  180. package/.next/standalone/docs/fr/architecture.mdx +332 -0
  181. package/.next/standalone/docs/fr/built-in-policies.mdx +564 -0
  182. package/.next/standalone/docs/fr/cli/dashboard.mdx +28 -0
  183. package/.next/standalone/docs/fr/cli/environment-variables.mdx +34 -0
  184. package/.next/standalone/docs/fr/cli/hook.mdx +30 -0
  185. package/.next/standalone/docs/fr/cli/install-policies.mdx +48 -0
  186. package/.next/standalone/docs/fr/cli/list-policies.mdx +31 -0
  187. package/.next/standalone/docs/fr/cli/remove-policies.mdx +44 -0
  188. package/.next/standalone/docs/fr/cli/version.mdx +12 -0
  189. package/.next/standalone/docs/fr/configuration.mdx +222 -0
  190. package/.next/standalone/docs/fr/custom-policies.mdx +357 -0
  191. package/.next/standalone/docs/fr/dashboard.mdx +142 -0
  192. package/.next/standalone/docs/fr/examples.mdx +253 -0
  193. package/.next/standalone/docs/fr/for-agents.mdx +38 -0
  194. package/.next/standalone/docs/fr/getting-started.mdx +134 -0
  195. package/.next/standalone/docs/fr/introduction.mdx +57 -0
  196. package/.next/standalone/docs/fr/package-aliases.mdx +82 -0
  197. package/.next/standalone/docs/fr/testing.mdx +260 -0
  198. package/.next/standalone/docs/getting-started.mdx +134 -0
  199. package/.next/standalone/docs/he/architecture.mdx +333 -0
  200. package/.next/standalone/docs/he/built-in-policies.mdx +564 -0
  201. package/.next/standalone/docs/he/cli/dashboard.mdx +28 -0
  202. package/.next/standalone/docs/he/cli/environment-variables.mdx +34 -0
  203. package/.next/standalone/docs/he/cli/hook.mdx +30 -0
  204. package/.next/standalone/docs/he/cli/install-policies.mdx +48 -0
  205. package/.next/standalone/docs/he/cli/list-policies.mdx +32 -0
  206. package/.next/standalone/docs/he/cli/remove-policies.mdx +44 -0
  207. package/.next/standalone/docs/he/cli/version.mdx +12 -0
  208. package/.next/standalone/docs/he/configuration.mdx +222 -0
  209. package/.next/standalone/docs/he/custom-policies.mdx +357 -0
  210. package/.next/standalone/docs/he/dashboard.mdx +142 -0
  211. package/.next/standalone/docs/he/examples.mdx +253 -0
  212. package/.next/standalone/docs/he/for-agents.mdx +38 -0
  213. package/.next/standalone/docs/he/getting-started.mdx +135 -0
  214. package/.next/standalone/docs/he/introduction.mdx +57 -0
  215. package/.next/standalone/docs/he/package-aliases.mdx +82 -0
  216. package/.next/standalone/docs/he/testing.mdx +260 -0
  217. package/.next/standalone/docs/hi/architecture.mdx +334 -0
  218. package/.next/standalone/docs/hi/built-in-policies.mdx +564 -0
  219. package/.next/standalone/docs/hi/cli/dashboard.mdx +28 -0
  220. package/.next/standalone/docs/hi/cli/environment-variables.mdx +34 -0
  221. package/.next/standalone/docs/hi/cli/hook.mdx +30 -0
  222. package/.next/standalone/docs/hi/cli/install-policies.mdx +48 -0
  223. package/.next/standalone/docs/hi/cli/list-policies.mdx +31 -0
  224. package/.next/standalone/docs/hi/cli/remove-policies.mdx +44 -0
  225. package/.next/standalone/docs/hi/cli/version.mdx +12 -0
  226. package/.next/standalone/docs/hi/configuration.mdx +222 -0
  227. package/.next/standalone/docs/hi/custom-policies.mdx +357 -0
  228. package/.next/standalone/docs/hi/dashboard.mdx +142 -0
  229. package/.next/standalone/docs/hi/examples.mdx +255 -0
  230. package/.next/standalone/docs/hi/for-agents.mdx +38 -0
  231. package/.next/standalone/docs/hi/getting-started.mdx +134 -0
  232. package/.next/standalone/docs/hi/introduction.mdx +57 -0
  233. package/.next/standalone/docs/hi/package-aliases.mdx +82 -0
  234. package/.next/standalone/docs/hi/testing.mdx +260 -0
  235. package/.next/standalone/docs/i18n/README.ar.md +312 -0
  236. package/.next/standalone/docs/i18n/README.de.md +307 -0
  237. package/.next/standalone/docs/i18n/README.es.md +307 -0
  238. package/.next/standalone/docs/i18n/README.fr.md +307 -0
  239. package/.next/standalone/docs/i18n/README.he.md +312 -0
  240. package/.next/standalone/docs/i18n/README.hi.md +307 -0
  241. package/.next/standalone/docs/i18n/README.it.md +307 -0
  242. package/.next/standalone/docs/i18n/README.ja.md +307 -0
  243. package/.next/standalone/docs/i18n/README.ko.md +307 -0
  244. package/.next/standalone/docs/i18n/README.pt-br.md +307 -0
  245. package/.next/standalone/docs/i18n/README.ru.md +308 -0
  246. package/.next/standalone/docs/i18n/README.tr.md +308 -0
  247. package/.next/standalone/docs/i18n/README.vi.md +308 -0
  248. package/.next/standalone/docs/i18n/README.zh.md +307 -0
  249. package/.next/standalone/docs/introduction.mdx +57 -0
  250. package/.next/standalone/docs/it/architecture.mdx +333 -0
  251. package/.next/standalone/docs/it/built-in-policies.mdx +564 -0
  252. package/.next/standalone/docs/it/cli/dashboard.mdx +28 -0
  253. package/.next/standalone/docs/it/cli/environment-variables.mdx +34 -0
  254. package/.next/standalone/docs/it/cli/hook.mdx +30 -0
  255. package/.next/standalone/docs/it/cli/install-policies.mdx +48 -0
  256. package/.next/standalone/docs/it/cli/list-policies.mdx +31 -0
  257. package/.next/standalone/docs/it/cli/remove-policies.mdx +44 -0
  258. package/.next/standalone/docs/it/cli/version.mdx +12 -0
  259. package/.next/standalone/docs/it/configuration.mdx +223 -0
  260. package/.next/standalone/docs/it/custom-policies.mdx +358 -0
  261. package/.next/standalone/docs/it/dashboard.mdx +142 -0
  262. package/.next/standalone/docs/it/examples.mdx +253 -0
  263. package/.next/standalone/docs/it/for-agents.mdx +38 -0
  264. package/.next/standalone/docs/it/getting-started.mdx +134 -0
  265. package/.next/standalone/docs/it/introduction.mdx +57 -0
  266. package/.next/standalone/docs/it/package-aliases.mdx +82 -0
  267. package/.next/standalone/docs/it/testing.mdx +260 -0
  268. package/.next/standalone/docs/ja/architecture.mdx +332 -0
  269. package/.next/standalone/docs/ja/built-in-policies.mdx +562 -0
  270. package/.next/standalone/docs/ja/cli/dashboard.mdx +28 -0
  271. package/.next/standalone/docs/ja/cli/environment-variables.mdx +34 -0
  272. package/.next/standalone/docs/ja/cli/hook.mdx +30 -0
  273. package/.next/standalone/docs/ja/cli/install-policies.mdx +48 -0
  274. package/.next/standalone/docs/ja/cli/list-policies.mdx +31 -0
  275. package/.next/standalone/docs/ja/cli/remove-policies.mdx +44 -0
  276. package/.next/standalone/docs/ja/cli/version.mdx +12 -0
  277. package/.next/standalone/docs/ja/configuration.mdx +222 -0
  278. package/.next/standalone/docs/ja/custom-policies.mdx +357 -0
  279. package/.next/standalone/docs/ja/dashboard.mdx +142 -0
  280. package/.next/standalone/docs/ja/examples.mdx +253 -0
  281. package/.next/standalone/docs/ja/for-agents.mdx +38 -0
  282. package/.next/standalone/docs/ja/getting-started.mdx +134 -0
  283. package/.next/standalone/docs/ja/introduction.mdx +57 -0
  284. package/.next/standalone/docs/ja/package-aliases.mdx +82 -0
  285. package/.next/standalone/docs/ja/testing.mdx +260 -0
  286. package/.next/standalone/docs/ko/architecture.mdx +332 -0
  287. package/.next/standalone/docs/ko/built-in-policies.mdx +562 -0
  288. package/.next/standalone/docs/ko/cli/dashboard.mdx +28 -0
  289. package/.next/standalone/docs/ko/cli/environment-variables.mdx +34 -0
  290. package/.next/standalone/docs/ko/cli/hook.mdx +30 -0
  291. package/.next/standalone/docs/ko/cli/install-policies.mdx +48 -0
  292. package/.next/standalone/docs/ko/cli/list-policies.mdx +31 -0
  293. package/.next/standalone/docs/ko/cli/remove-policies.mdx +44 -0
  294. package/.next/standalone/docs/ko/cli/version.mdx +12 -0
  295. package/.next/standalone/docs/ko/configuration.mdx +222 -0
  296. package/.next/standalone/docs/ko/custom-policies.mdx +357 -0
  297. package/.next/standalone/docs/ko/dashboard.mdx +142 -0
  298. package/.next/standalone/docs/ko/examples.mdx +253 -0
  299. package/.next/standalone/docs/ko/for-agents.mdx +38 -0
  300. package/.next/standalone/docs/ko/getting-started.mdx +134 -0
  301. package/.next/standalone/docs/ko/introduction.mdx +57 -0
  302. package/.next/standalone/docs/ko/package-aliases.mdx +82 -0
  303. package/.next/standalone/docs/ko/testing.mdx +260 -0
  304. package/.next/standalone/docs/logo/dark.svg +21 -0
  305. package/.next/standalone/docs/logo/light.svg +21 -0
  306. package/.next/standalone/docs/{package-aliases.md → package-aliases.mdx} +5 -5
  307. package/.next/standalone/docs/pt-br/architecture.mdx +332 -0
  308. package/.next/standalone/docs/pt-br/built-in-policies.mdx +564 -0
  309. package/.next/standalone/docs/pt-br/cli/dashboard.mdx +28 -0
  310. package/.next/standalone/docs/pt-br/cli/environment-variables.mdx +34 -0
  311. package/.next/standalone/docs/pt-br/cli/hook.mdx +30 -0
  312. package/.next/standalone/docs/pt-br/cli/install-policies.mdx +48 -0
  313. package/.next/standalone/docs/pt-br/cli/list-policies.mdx +31 -0
  314. package/.next/standalone/docs/pt-br/cli/remove-policies.mdx +44 -0
  315. package/.next/standalone/docs/pt-br/cli/version.mdx +12 -0
  316. package/.next/standalone/docs/pt-br/configuration.mdx +222 -0
  317. package/.next/standalone/docs/pt-br/custom-policies.mdx +357 -0
  318. package/.next/standalone/docs/pt-br/dashboard.mdx +142 -0
  319. package/.next/standalone/docs/pt-br/examples.mdx +253 -0
  320. package/.next/standalone/docs/pt-br/for-agents.mdx +38 -0
  321. package/.next/standalone/docs/pt-br/getting-started.mdx +134 -0
  322. package/.next/standalone/docs/pt-br/introduction.mdx +57 -0
  323. package/.next/standalone/docs/pt-br/package-aliases.mdx +82 -0
  324. package/.next/standalone/docs/pt-br/testing.mdx +260 -0
  325. package/.next/standalone/docs/ru/architecture.mdx +334 -0
  326. package/.next/standalone/docs/ru/built-in-policies.mdx +562 -0
  327. package/.next/standalone/docs/ru/cli/dashboard.mdx +28 -0
  328. package/.next/standalone/docs/ru/cli/environment-variables.mdx +34 -0
  329. package/.next/standalone/docs/ru/cli/hook.mdx +30 -0
  330. package/.next/standalone/docs/ru/cli/install-policies.mdx +48 -0
  331. package/.next/standalone/docs/ru/cli/list-policies.mdx +32 -0
  332. package/.next/standalone/docs/ru/cli/remove-policies.mdx +44 -0
  333. package/.next/standalone/docs/ru/cli/version.mdx +12 -0
  334. package/.next/standalone/docs/ru/configuration.mdx +223 -0
  335. package/.next/standalone/docs/ru/custom-policies.mdx +357 -0
  336. package/.next/standalone/docs/ru/dashboard.mdx +142 -0
  337. package/.next/standalone/docs/ru/examples.mdx +254 -0
  338. package/.next/standalone/docs/ru/for-agents.mdx +38 -0
  339. package/.next/standalone/docs/ru/getting-started.mdx +134 -0
  340. package/.next/standalone/docs/ru/introduction.mdx +57 -0
  341. package/.next/standalone/docs/ru/package-aliases.mdx +82 -0
  342. package/.next/standalone/docs/ru/testing.mdx +260 -0
  343. package/.next/standalone/docs/{testing.md → testing.mdx} +11 -11
  344. package/.next/standalone/docs/tr/architecture.mdx +333 -0
  345. package/.next/standalone/docs/tr/built-in-policies.mdx +562 -0
  346. package/.next/standalone/docs/tr/cli/dashboard.mdx +28 -0
  347. package/.next/standalone/docs/tr/cli/environment-variables.mdx +34 -0
  348. package/.next/standalone/docs/tr/cli/hook.mdx +30 -0
  349. package/.next/standalone/docs/tr/cli/install-policies.mdx +48 -0
  350. package/.next/standalone/docs/tr/cli/list-policies.mdx +31 -0
  351. package/.next/standalone/docs/tr/cli/remove-policies.mdx +45 -0
  352. package/.next/standalone/docs/tr/cli/version.mdx +12 -0
  353. package/.next/standalone/docs/tr/configuration.mdx +223 -0
  354. package/.next/standalone/docs/tr/custom-policies.mdx +357 -0
  355. package/.next/standalone/docs/tr/dashboard.mdx +142 -0
  356. package/.next/standalone/docs/tr/examples.mdx +253 -0
  357. package/.next/standalone/docs/tr/for-agents.mdx +38 -0
  358. package/.next/standalone/docs/tr/getting-started.mdx +134 -0
  359. package/.next/standalone/docs/tr/introduction.mdx +57 -0
  360. package/.next/standalone/docs/tr/package-aliases.mdx +82 -0
  361. package/.next/standalone/docs/tr/testing.mdx +260 -0
  362. package/.next/standalone/docs/vi/architecture.mdx +333 -0
  363. package/.next/standalone/docs/vi/built-in-policies.mdx +564 -0
  364. package/.next/standalone/docs/vi/cli/dashboard.mdx +28 -0
  365. package/.next/standalone/docs/vi/cli/environment-variables.mdx +34 -0
  366. package/.next/standalone/docs/vi/cli/hook.mdx +30 -0
  367. package/.next/standalone/docs/vi/cli/install-policies.mdx +48 -0
  368. package/.next/standalone/docs/vi/cli/list-policies.mdx +31 -0
  369. package/.next/standalone/docs/vi/cli/remove-policies.mdx +44 -0
  370. package/.next/standalone/docs/vi/cli/version.mdx +13 -0
  371. package/.next/standalone/docs/vi/configuration.mdx +222 -0
  372. package/.next/standalone/docs/vi/custom-policies.mdx +357 -0
  373. package/.next/standalone/docs/vi/dashboard.mdx +142 -0
  374. package/.next/standalone/docs/vi/examples.mdx +253 -0
  375. package/.next/standalone/docs/vi/for-agents.mdx +38 -0
  376. package/.next/standalone/docs/vi/getting-started.mdx +134 -0
  377. package/.next/standalone/docs/vi/introduction.mdx +57 -0
  378. package/.next/standalone/docs/vi/package-aliases.mdx +82 -0
  379. package/.next/standalone/docs/vi/testing.mdx +260 -0
  380. package/.next/standalone/docs/zh/architecture.mdx +332 -0
  381. package/.next/standalone/docs/zh/built-in-policies.mdx +562 -0
  382. package/.next/standalone/docs/zh/cli/dashboard.mdx +28 -0
  383. package/.next/standalone/docs/zh/cli/environment-variables.mdx +34 -0
  384. package/.next/standalone/docs/zh/cli/hook.mdx +30 -0
  385. package/.next/standalone/docs/zh/cli/install-policies.mdx +48 -0
  386. package/.next/standalone/docs/zh/cli/list-policies.mdx +31 -0
  387. package/.next/standalone/docs/zh/cli/remove-policies.mdx +44 -0
  388. package/.next/standalone/docs/zh/cli/version.mdx +12 -0
  389. package/.next/standalone/docs/zh/configuration.mdx +222 -0
  390. package/.next/standalone/docs/zh/custom-policies.mdx +357 -0
  391. package/.next/standalone/docs/zh/dashboard.mdx +142 -0
  392. package/.next/standalone/docs/zh/examples.mdx +253 -0
  393. package/.next/standalone/docs/zh/for-agents.mdx +38 -0
  394. package/.next/standalone/docs/zh/getting-started.mdx +134 -0
  395. package/.next/standalone/docs/zh/introduction.mdx +57 -0
  396. package/.next/standalone/docs/zh/package-aliases.mdx +82 -0
  397. package/.next/standalone/docs/zh/testing.mdx +260 -0
  398. package/.next/standalone/examples/convention-policies/security-policies.mjs +40 -0
  399. package/.next/standalone/examples/convention-policies/workflow-policies.mjs +41 -0
  400. package/.next/standalone/next.config.ts +5 -3
  401. package/.next/standalone/node_modules/@next/env/package.json +1 -1
  402. package/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
  403. package/.next/standalone/node_modules/next/dist/compiled/jsonwebtoken/index.js +2 -2
  404. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +1 -1
  405. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +1 -1
  406. package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +1 -1
  407. package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  408. package/.next/standalone/node_modules/next/dist/server/config.js +1 -1
  409. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +7 -2
  410. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  411. package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  412. package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
  413. package/.next/standalone/node_modules/next/dist/server/render.js +20 -19
  414. package/.next/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
  415. package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  416. package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  417. package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  418. package/.next/standalone/node_modules/next/package.json +15 -15
  419. package/.next/standalone/node_modules/react/cjs/react.development.js +1 -1
  420. package/.next/standalone/node_modules/react/cjs/react.production.js +1 -1
  421. package/.next/standalone/node_modules/react/package.json +1 -1
  422. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +1 -1
  423. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +1 -1
  424. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.browser.production.js +3 -3
  425. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.edge.production.js +3 -3
  426. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.node.production.js +3 -3
  427. package/.next/standalone/node_modules/react-dom/cjs/react-dom.production.js +1 -1
  428. package/.next/standalone/node_modules/react-dom/package.json +2 -2
  429. package/.next/standalone/package.json +13 -10
  430. package/.next/standalone/scripts/translate-docs/cache.ts +62 -0
  431. package/.next/standalone/scripts/translate-docs/cli.ts +357 -0
  432. package/.next/standalone/scripts/translate-docs/config.ts +248 -0
  433. package/.next/standalone/scripts/translate-docs/mdx-translator.ts +153 -0
  434. package/.next/standalone/scripts/translate-docs/mintlify-nav.ts +107 -0
  435. package/.next/standalone/scripts/translate-docs/readme-translator.ts +154 -0
  436. package/.next/standalone/scripts/translate-docs/translator.ts +68 -0
  437. package/.next/standalone/scripts/translate-docs/types.ts +43 -0
  438. package/.next/standalone/server.js +1 -1
  439. package/.next/standalone/skills-lock.json +10 -0
  440. package/.next/standalone/src/hooks/builtin-policies.ts +405 -25
  441. package/.next/standalone/src/hooks/custom-hooks-loader.ts +165 -21
  442. package/.next/standalone/src/hooks/handler.ts +33 -6
  443. package/.next/standalone/src/hooks/hook-activity-store.ts +6 -1
  444. package/.next/standalone/src/hooks/hooks-config.ts +47 -2
  445. package/.next/standalone/src/hooks/llm-client.ts +2 -2
  446. package/.next/standalone/src/hooks/loader-utils.ts +4 -4
  447. package/.next/standalone/src/hooks/manager.ts +67 -16
  448. package/.next/standalone/src/hooks/policy-evaluator.ts +58 -19
  449. package/.next/standalone/src/hooks/policy-helpers.ts +2 -2
  450. package/.next/standalone/vitest.config.e2e.mts +3 -0
  451. package/.next/standalone/vitest.config.mts +3 -0
  452. package/README.md +95 -49
  453. package/bin/failproofai.mjs +5 -0
  454. package/dist/cli.mjs +539 -90
  455. package/dist/index.js +2 -2
  456. package/package.json +13 -10
  457. package/scripts/translate-docs/cache.ts +62 -0
  458. package/scripts/translate-docs/cli.ts +357 -0
  459. package/scripts/translate-docs/config.ts +248 -0
  460. package/scripts/translate-docs/mdx-translator.ts +153 -0
  461. package/scripts/translate-docs/mintlify-nav.ts +107 -0
  462. package/scripts/translate-docs/readme-translator.ts +154 -0
  463. package/scripts/translate-docs/translator.ts +68 -0
  464. package/scripts/translate-docs/types.ts +43 -0
  465. package/src/hooks/builtin-policies.ts +405 -25
  466. package/src/hooks/custom-hooks-loader.ts +165 -21
  467. package/src/hooks/handler.ts +33 -6
  468. package/src/hooks/hook-activity-store.ts +6 -1
  469. package/src/hooks/hooks-config.ts +47 -2
  470. package/src/hooks/llm-client.ts +2 -2
  471. package/src/hooks/loader-utils.ts +4 -4
  472. package/src/hooks/manager.ts +67 -16
  473. package/src/hooks/policy-evaluator.ts +58 -19
  474. package/src/hooks/policy-helpers.ts +2 -2
  475. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02nt~6d._.js +0 -3
  476. package/.next/standalone/.next/static/chunks/15jpradyu_531.css +0 -1
  477. package/.next/standalone/docs/cli-reference.md +0 -175
  478. package/.next/standalone/docs/custom-hooks.md +0 -261
  479. package/.next/standalone/docs/getting-started.md +0 -128
  480. package/.next/standalone/docs/introduction.md +0 -47
  481. /package/.next/standalone/.next/static/{WS-OQSqL1Lp1w_obXfjvl → En9eEShUkUjgeYbY9v6Gy}/_buildManifest.js +0 -0
  482. /package/.next/standalone/.next/static/{WS-OQSqL1Lp1w_obXfjvl → En9eEShUkUjgeYbY9v6Gy}/_clientMiddlewareManifest.js +0 -0
  483. /package/.next/standalone/.next/static/{WS-OQSqL1Lp1w_obXfjvl → En9eEShUkUjgeYbY9v6Gy}/_ssgManifest.js +0 -0
@@ -0,0 +1,307 @@
1
+ > **⚠️** This is an auto-generated translation. For the latest version, see the [English README](../../README.md). Community corrections welcome!
2
+
3
+ [🇺🇸 English](../../README.md) | [🇨🇳 简体中文](README.zh.md) | [🇯🇵 日本語](README.ja.md) | [🇰🇷 한국어](README.ko.md) | [🇪🇸 Español](README.es.md) | **🇧🇷 Português** | [🇩🇪 Deutsch](README.de.md) | [🇫🇷 Français](README.fr.md) | [🇷🇺 Русский](README.ru.md) | [🇮🇳 हिन्दी](README.hi.md) | [🇹🇷 Türkçe](README.tr.md) | [🇻🇳 Tiếng Việt](README.vi.md) | [🇮🇹 Italiano](README.it.md) | [🇸🇦 العربية](README.ar.md) | [🇮🇱 עברית](README.he.md)
4
+
5
+ ---
6
+
7
+ ```
8
+ ______ _ __ ____ ___ ____
9
+ / ____/___ _(_) /___ _________ ____ / __/ / | / _/
10
+ / /_ / __ `/ / / __ \/ ___/ __ \/ __ \/ /_ / /| | / /
11
+ / __/ / /_/ / / / /_/ / / / /_/ / /_/ / __/ / ___ |_/ /
12
+ /_/ \__,_/_/_/ .___/_/ \____/\____/_/ /_/ |_/___/
13
+ /_/
14
+ ```
15
+
16
+ # Failproof AI
17
+
18
+ [![Docs](https://img.shields.io/badge/docs-befailproof.ai-002CA7?style=flat-square)](https://befailproof.ai)
19
+ [![npm](https://img.shields.io/npm/v/failproofai?style=flat-square&color=CB3837)](https://www.npmjs.com/package/failproofai)
20
+ [![License](https://img.shields.io/badge/license-MIT%20%2B%20Commons%20Clause-blue?style=flat-square)](LICENSE)
21
+ [![CI](https://img.shields.io/github/actions/workflow/status/exospherehost/failproofai/ci.yml?branch=main&style=flat-square&label=CI)](https://github.com/exospherehost/failproofai/actions)
22
+ [![Slack](https://img.shields.io/badge/Slack-join%20us-4A154B?style=flat-square&logo=slack)](https://join.slack.com/t/failproofai/shared_invite/zt-3v63b7k5e-O3NBHmj8X6n9gZSGDx6ggQ)
23
+
24
+ **Traduções**: [简体中文](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)
25
+
26
+ A maneira mais simples de gerenciar políticas que mantêm seus agentes de IA confiáveis, focados na tarefa e rodando de forma autônoma — para o **Claude Code** e o **Agents SDK**.
27
+
28
+ - **30 Políticas Integradas** - Detecte os modos de falha mais comuns dos agentes logo de cara. Bloqueie comandos destrutivos, evite vazamento de segredos, mantenha os agentes dentro dos limites do projeto, detecte loops e muito mais.
29
+ - **Políticas Personalizadas** - Escreva suas próprias regras de confiabilidade em JavaScript. Use a API `allow`/`deny`/`instruct` para impor convenções, evitar desvios, controlar operações ou integrar com sistemas externos.
30
+ - **Configuração Simples** - Ajuste qualquer política sem escrever código. Defina listas de permissão, branches protegidas e limites por projeto ou globalmente. Três escopos de configuração são mesclados automaticamente.
31
+ - **Monitor de Agentes** - Veja o que seus agentes fizeram enquanto você estava ausente. Navegue pelas sessões, inspecione cada chamada de ferramenta e revise exatamente onde as políticas foram acionadas.
32
+
33
+ Tudo roda localmente — nenhum dado sai da sua máquina.
34
+
35
+ ---
36
+
37
+ ## Requisitos
38
+
39
+ - Node.js >= 20.9.0
40
+ - Bun >= 1.3.0 (opcional — necessário apenas para desenvolvimento / compilação a partir do código-fonte)
41
+
42
+ ---
43
+
44
+ ## Instalação
45
+
46
+ ```bash
47
+ npm install -g failproofai
48
+ # ou
49
+ bun add -g failproofai
50
+ ```
51
+
52
+ ---
53
+
54
+ ## Início rápido
55
+
56
+ ### 1. Ative as políticas globalmente
57
+
58
+ ```bash
59
+ failproofai policies --install
60
+ ```
61
+
62
+ Grava entradas de hook em `~/.claude/settings.json`. O Claude Code passará a invocar o failproofai antes e depois de cada chamada de ferramenta.
63
+
64
+ ### 2. Abra o painel
65
+
66
+ ```bash
67
+ failproofai
68
+ ```
69
+
70
+ Abre `http://localhost:8020` — navegue pelas sessões, inspecione logs e gerencie políticas.
71
+
72
+ ### 3. Verifique o que está ativo
73
+
74
+ ```bash
75
+ failproofai policies
76
+ ```
77
+
78
+ ---
79
+
80
+ ## Instalação de políticas
81
+
82
+ ### Escopos
83
+
84
+ | Escopo | Comando | Onde grava |
85
+ |--------|---------|------------|
86
+ | Global (padrão) | `failproofai policies --install` | `~/.claude/settings.json` |
87
+ | Projeto | `failproofai policies --install --scope project` | `.claude/settings.json` |
88
+ | Local | `failproofai policies --install --scope local` | `.claude/settings.local.json` |
89
+
90
+ ### Instalar políticas específicas
91
+
92
+ ```bash
93
+ failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
94
+ ```
95
+
96
+ ### Remover políticas
97
+
98
+ ```bash
99
+ failproofai policies --uninstall
100
+ # ou para um escopo específico:
101
+ failproofai policies --uninstall --scope project
102
+ ```
103
+
104
+ ---
105
+
106
+ ## Configuração
107
+
108
+ A configuração das políticas fica em `~/.failproofai/policies-config.json` (global) ou `.failproofai/policies-config.json` no seu projeto (por projeto).
109
+
110
+ ```json
111
+ {
112
+ "enabledPolicies": [
113
+ "block-sudo",
114
+ "block-rm-rf",
115
+ "sanitize-api-keys",
116
+ "block-push-master",
117
+ "block-env-files",
118
+ "block-read-outside-cwd"
119
+ ],
120
+ "policyParams": {
121
+ "block-sudo": {
122
+ "allowPatterns": ["sudo systemctl status", "sudo journalctl"],
123
+ "hint": "Use apt-get directly without sudo."
124
+ },
125
+ "block-push-master": {
126
+ "protectedBranches": ["main", "release", "prod"],
127
+ "hint": "Try creating a fresh branch instead."
128
+ },
129
+ "sanitize-api-keys": {
130
+ "additionalPatterns": [
131
+ { "regex": "myco_[A-Za-z0-9]{32}", "label": "MyCo API key" }
132
+ ]
133
+ },
134
+ "warn-large-file-write": {
135
+ "thresholdKb": 512
136
+ }
137
+ }
138
+ }
139
+ ```
140
+
141
+ **Três escopos de configuração** são mesclados automaticamente (projeto → local → global). Consulte [docs/configuration.mdx](docs/configuration.mdx) para as regras completas de mesclagem.
142
+
143
+ ---
144
+
145
+ ## Políticas integradas
146
+
147
+ | Política | Descrição | Configurável |
148
+ |----------|-----------|:---:|
149
+ | `block-sudo` | Impede que agentes executem comandos privilegiados do sistema | `allowPatterns` |
150
+ | `block-rm-rf` | Previne exclusão recursiva acidental de arquivos | `allowPaths` |
151
+ | `block-curl-pipe-sh` | Impede que agentes direcionem scripts não confiáveis para o shell | |
152
+ | `block-failproofai-commands` | Previne a desinstalação do próprio failproofai | |
153
+ | `sanitize-jwt` | Impede que tokens JWT vazem para o contexto do agente | |
154
+ | `sanitize-api-keys` | Impede que chaves de API vazem para o contexto do agente | `additionalPatterns` |
155
+ | `sanitize-connection-strings` | Impede que credenciais de banco de dados vazem para o contexto do agente | |
156
+ | `sanitize-private-key-content` | Remove blocos de chave privada PEM da saída | |
157
+ | `sanitize-bearer-tokens` | Remove tokens Bearer de Authorization da saída | |
158
+ | `block-env-files` | Impede que agentes leiam arquivos .env | |
159
+ | `protect-env-vars` | Impede que agentes imprimam variáveis de ambiente | |
160
+ | `block-read-outside-cwd` | Mantém os agentes dentro dos limites do projeto | `allowPaths` |
161
+ | `block-secrets-write` | Impede gravações em arquivos de chave privada e certificados | `additionalPatterns` |
162
+ | `block-push-master` | Previne pushes acidentais para main/master | `protectedBranches` |
163
+ | `block-work-on-main` | Mantém agentes fora de branches protegidas | `protectedBranches` |
164
+ | `block-force-push` | Previne `git push --force` | |
165
+ | `warn-git-amend` | Lembra os agentes antes de fazer amend em commits | |
166
+ | `warn-git-stash-drop` | Lembra os agentes antes de descartar stashes | |
167
+ | `warn-all-files-staged` | Detecta `git add -A` acidental | |
168
+ | `warn-destructive-sql` | Detecta DROP/DELETE SQL antes da execução | |
169
+ | `warn-schema-alteration` | Detecta ALTER TABLE antes da execução | |
170
+ | `warn-large-file-write` | Detecta gravações de arquivos inesperadamente grandes | `thresholdKb` |
171
+ | `warn-package-publish` | Detecta `npm publish` acidental | |
172
+ | `warn-background-process` | Detecta inicializações não intencionais de processos em background | |
173
+ | `warn-global-package-install` | Detecta instalações não intencionais de pacotes globais | |
174
+ | …e mais | | |
175
+
176
+ Detalhes completos das políticas e referência de parâmetros: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
177
+
178
+ ---
179
+
180
+ ## Políticas personalizadas
181
+
182
+ Escreva suas próprias políticas para manter os agentes confiáveis e focados na tarefa:
183
+
184
+ ```js
185
+ import { customPolicies, allow, deny, instruct } from "failproofai";
186
+
187
+ customPolicies.add({
188
+ name: "no-production-writes",
189
+ description: "Block writes to paths containing 'production'",
190
+ match: { events: ["PreToolUse"] },
191
+ fn: async (ctx) => {
192
+ if (!["Write", "Edit"].includes(ctx.toolName ?? "")) return allow();
193
+ const path = ctx.toolInput?.file_path ?? "";
194
+ if (path.includes("production")) return deny("Writes to production paths are blocked");
195
+ return allow();
196
+ },
197
+ });
198
+ ```
199
+
200
+ Instale com:
201
+
202
+ ```bash
203
+ failproofai policies --install --custom ./my-policies.js
204
+ ```
205
+
206
+ ### Funções de decisão
207
+
208
+ | Função | Efeito |
209
+ |--------|--------|
210
+ | `allow()` | Permite a operação |
211
+ | `allow(message)` | Permite e envia contexto informativo para o Claude *(beta)* |
212
+ | `deny(message)` | Bloqueia a operação; a mensagem é exibida para o Claude |
213
+ | `instruct(message)` | Adiciona contexto ao prompt do Claude; não bloqueia |
214
+
215
+ ### Objeto de contexto (`ctx`)
216
+
217
+ | Campo | Tipo | Descrição |
218
+ |-------|------|-----------|
219
+ | `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
220
+ | `toolName` | `string` | Ferramenta sendo chamada (`"Bash"`, `"Write"`, `"Read"`, …) |
221
+ | `toolInput` | `object` | Parâmetros de entrada da ferramenta |
222
+ | `payload` | `object` | Payload completo do evento bruto |
223
+ | `session.cwd` | `string` | Diretório de trabalho da sessão do Claude Code |
224
+ | `session.sessionId` | `string` | Identificador da sessão |
225
+ | `session.transcriptPath` | `string` | Caminho para o arquivo de transcrição da sessão |
226
+
227
+ Hooks personalizados suportam importações locais transitivas, async/await e acesso a `process.env`. Erros são fail-open (registrados em `~/.failproofai/hook.log`, as políticas integradas continuam funcionando). Consulte [docs/custom-hooks.mdx](docs/custom-hooks.mdx) para o guia completo.
228
+
229
+ ### Políticas baseadas em convenção (v0.0.2-beta.7+)
230
+
231
+ Coloque arquivos `*policies.{js,mjs,ts}` na pasta `.failproofai/policies/` e eles serão carregados automaticamente — sem necessidade de flag `--custom` ou alterações de configuração. Funciona como git hooks: basta adicionar o arquivo e pronto.
232
+
233
+ ```text
234
+ # Nível de projeto — commitado no git, compartilhado com o time
235
+ .failproofai/policies/security-policies.mjs
236
+ .failproofai/policies/workflow-policies.mjs
237
+
238
+ # Nível de usuário — pessoal, aplicado a todos os projetos
239
+ ~/.failproofai/policies/my-policies.mjs
240
+ ```
241
+
242
+ Ambos os níveis são carregados (união). Os arquivos são carregados em ordem alfabética dentro de cada diretório. Use prefixos `01-`, `02-`, etc. para controlar a ordem. Veja [examples/convention-policies/](examples/convention-policies/) para exemplos prontos para uso.
243
+
244
+ ---
245
+
246
+ ## Telemetria
247
+
248
+ O Failproof AI coleta telemetria de uso anônima via PostHog para entender o uso das funcionalidades. Nenhum conteúdo de sessão, nome de arquivo, entrada de ferramenta ou informação pessoal é enviado.
249
+
250
+ Para desativar:
251
+
252
+ ```bash
253
+ FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
254
+ ```
255
+
256
+ ---
257
+
258
+ ## Documentação
259
+
260
+ | Guia | Descrição |
261
+ |------|-----------|
262
+ | [Primeiros Passos](docs/getting-started.mdx) | Instalação e primeiros passos |
263
+ | [Políticas Integradas](docs/built-in-policies.mdx) | Todas as 30 políticas integradas com parâmetros |
264
+ | [Políticas Personalizadas](docs/custom-policies.mdx) | Escreva suas próprias políticas |
265
+ | [Configuração](docs/configuration.mdx) | Formato do arquivo de configuração e mesclagem de escopos |
266
+ | [Painel](docs/dashboard.mdx) | Monitore sessões e revise a atividade das políticas |
267
+ | [Arquitetura](docs/architecture.mdx) | Como o sistema de hooks funciona |
268
+ | [Testes](docs/testing.mdx) | Executando testes e escrevendo novos |
269
+
270
+ ### Execute a documentação localmente
271
+
272
+ ```bash
273
+ docker build -f Dockerfile.docs -t failproofai-docs .
274
+ docker run --rm -p 3000:3000 failproofai-docs
275
+ ```
276
+
277
+ Abre o site de documentação Mintlify em `http://localhost:3000`. O container detecta alterações se você montar o diretório de docs:
278
+
279
+ ```bash
280
+ docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
281
+ ```
282
+
283
+ ---
284
+
285
+ ## Nota para contribuidores do failproofai
286
+
287
+ O `.claude/settings.json` deste repositório usa `bun ./bin/failproofai.mjs --hook <EventType>` em vez do comando padrão `npx -y failproofai`. Isso ocorre porque executar `npx -y failproofai` dentro do próprio projeto failproofai gera um conflito de auto-referência.
288
+
289
+ Para todos os outros repositórios, a abordagem recomendada é `npx -y failproofai`, instalado via:
290
+
291
+ ```bash
292
+ failproofai policies --install --scope project
293
+ ```
294
+
295
+ ## Contribuindo
296
+
297
+ Consulte [CONTRIBUTING.md](CONTRIBUTING.md).
298
+
299
+ ---
300
+
301
+ ## Licença
302
+
303
+ Consulte [LICENSE](LICENSE).
304
+
305
+ ---
306
+
307
+ Criado e mantido pela **ExosphereHost: Reliability Research Lab for Your Agents**. Ajudamos empresas e startups a melhorar a confiabilidade de seus agentes de IA por meio de nossos próprios agentes, software e expertise. Saiba mais em [exosphere.host](https://exosphere.host).
@@ -0,0 +1,308 @@
1
+ > **⚠️** This is an auto-generated translation. For the latest version, see the [English README](../../README.md). Community corrections welcome!
2
+
3
+ [🇺🇸 English](../../README.md) | [🇨🇳 简体中文](README.zh.md) | [🇯🇵 日本語](README.ja.md) | [🇰🇷 한국어](README.ko.md) | [🇪🇸 Español](README.es.md) | [🇧🇷 Português](README.pt-br.md) | [🇩🇪 Deutsch](README.de.md) | [🇫🇷 Français](README.fr.md) | **🇷🇺 Русский** | [🇮🇳 हिन्दी](README.hi.md) | [🇹🇷 Türkçe](README.tr.md) | [🇻🇳 Tiếng Việt](README.vi.md) | [🇮🇹 Italiano](README.it.md) | [🇸🇦 العربية](README.ar.md) | [🇮🇱 עברית](README.he.md)
4
+
5
+ ---
6
+
7
+ ```
8
+ ______ _ __ ____ ___ ____
9
+ / ____/___ _(_) /___ _________ ____ / __/ / | / _/
10
+ / /_ / __ `/ / / __ \/ ___/ __ \/ __ \/ /_ / /| | / /
11
+ / __/ / /_/ / / / /_/ / / / /_/ / /_/ / __/ / ___ |_/ /
12
+ /_/ \__,_/_/_/ .___/_/ \____/\____/_/ /_/ |_/___/
13
+ /_/
14
+ ```
15
+
16
+ # Failproof AI
17
+
18
+ [![Docs](https://img.shields.io/badge/docs-befailproof.ai-002CA7?style=flat-square)](https://befailproof.ai)
19
+ [![npm](https://img.shields.io/npm/v/failproofai?style=flat-square&color=CB3837)](https://www.npmjs.com/package/failproofai)
20
+ [![License](https://img.shields.io/badge/license-MIT%20%2B%20Commons%20Clause-blue?style=flat-square)](LICENSE)
21
+ [![CI](https://img.shields.io/github/actions/workflow/status/exospherehost/failproofai/ci.yml?branch=main&style=flat-square&label=CI)](https://github.com/exospherehost/failproofai/actions)
22
+ [![Slack](https://img.shields.io/badge/Slack-join%20us-4A154B?style=flat-square&logo=slack)](https://join.slack.com/t/failproofai/shared_invite/zt-3v63b7k5e-O3NBHmj8X6n9gZSGDx6ggQ)
23
+
24
+ **Переводы**: [简体中文](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)
25
+
26
+ Самый простой способ управлять политиками, которые делают ваших AI-агентов надежными, сосредоточенными и способными работать автономно — для **Claude Code** и **Agents SDK**.
27
+
28
+ - **30 встроенных политик** - Предотвращайте типичные сбои агентов уже из коробки. Блокируйте деструктивные команды, предотвращайте утечку секретов, держите агентов в границах проекта, обнаруживайте циклы и многое другое.
29
+ - **Пользовательские политики** - Напишите собственные правила надежности на JavaScript. Используйте API `allow`/`deny`/`instruct` для обеспечения соглашений, предотвращения отклонений, управления операциями или интеграции с внешними системами.
30
+ - **Простая конфигурация** - Настраивайте любую политику без написания кода. Устанавливайте списки разрешений, защищенные ветви, пороги для каждого проекта или глобально. Конфигурация трех уровней автоматически объединяется.
31
+ - **Монитор агентов** - Узнайте, что делали ваши агенты, пока вас не было. Просматривайте сеансы, проверяйте каждый вызов инструмента и смотрите, где именно сработали политики.
32
+
33
+ Всё работает локально — никакие данные не покидают вашу машину.
34
+
35
+ ---
36
+
37
+ ## Требования
38
+
39
+ - Node.js >= 20.9.0
40
+ - Bun >= 1.3.0 (необязательно — требуется только для разработки / сборки из исходного кода)
41
+
42
+ ---
43
+
44
+ ## Установка
45
+
46
+ ```bash
47
+ npm install -g failproofai
48
+ # или
49
+ bun add -g failproofai
50
+ ```
51
+
52
+ ---
53
+
54
+ ## Быстрый старт
55
+
56
+ ### 1. Включите политики глобально
57
+
58
+ ```bash
59
+ failproofai policies --install
60
+ ```
61
+
62
+ Добавляет записи перехватчиков в `~/.claude/settings.json`. Теперь Claude Code будет вызывать failproofai до и после каждого вызова инструмента.
63
+
64
+ ### 2. Запустите панель управления
65
+
66
+ ```bash
67
+ failproofai
68
+ ```
69
+
70
+ Открывает `http://localhost:8020` — просматривайте сеансы, проверяйте логи, управляйте политиками.
71
+
72
+ ### 3. Проверьте, что активно
73
+
74
+ ```bash
75
+ failproofai policies
76
+ ```
77
+
78
+ ---
79
+
80
+ ## Установка политик
81
+
82
+ ### Уровни
83
+
84
+ | Уровень | Команда | Где записывает |
85
+ |---------|---------|----------------|
86
+ | Глобальный (по умолчанию) | `failproofai policies --install` | `~/.claude/settings.json` |
87
+ | Проект | `failproofai policies --install --scope project` | `.claude/settings.json` |
88
+ | Локальный | `failproofai policies --install --scope local` | `.claude/settings.local.json` |
89
+
90
+ ### Установите конкретные политики
91
+
92
+ ```bash
93
+ failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
94
+ ```
95
+
96
+ ### Удаление политик
97
+
98
+ ```bash
99
+ failproofai policies --uninstall
100
+ # или для конкретного уровня:
101
+ failproofai policies --uninstall --scope project
102
+ ```
103
+
104
+ ---
105
+
106
+ ## Конфигурация
107
+
108
+ Конфигурация политик находится в `~/.failproofai/policies-config.json` (глобально) или `.failproofai/policies-config.json` в вашем проекте (для каждого проекта).
109
+
110
+ ```json
111
+ {
112
+ "enabledPolicies": [
113
+ "block-sudo",
114
+ "block-rm-rf",
115
+ "sanitize-api-keys",
116
+ "block-push-master",
117
+ "block-env-files",
118
+ "block-read-outside-cwd"
119
+ ],
120
+ "policyParams": {
121
+ "block-sudo": {
122
+ "allowPatterns": ["sudo systemctl status", "sudo journalctl"],
123
+ "hint": "Use apt-get directly without sudo."
124
+ },
125
+ "block-push-master": {
126
+ "protectedBranches": ["main", "release", "prod"],
127
+ "hint": "Try creating a fresh branch instead."
128
+ },
129
+ "sanitize-api-keys": {
130
+ "additionalPatterns": [
131
+ { "regex": "myco_[A-Za-z0-9]{32}", "label": "MyCo API key" }
132
+ ]
133
+ },
134
+ "warn-large-file-write": {
135
+ "thresholdKb": 512
136
+ }
137
+ }
138
+ }
139
+ ```
140
+
141
+ **Три уровня конфигурации** автоматически объединяются (проект → локальный → глобальный). Полные правила объединения см. в [docs/configuration.mdx](docs/configuration.mdx).
142
+
143
+ ---
144
+
145
+ ## Встроенные политики
146
+
147
+ | Политика | Описание | Настраиваемо |
148
+ |----------|---------|:---:|
149
+ | `block-sudo` | Предотвратите запуск привилегированных системных команд агентами | `allowPatterns` |
150
+ | `block-rm-rf` | Предотвратите случайное рекурсивное удаление файлов | `allowPaths` |
151
+ | `block-curl-pipe-sh` | Предотвратите передачу ненадежных скриптов агентами в оболочку | |
152
+ | `block-failproofai-commands` | Предотвратите самоудаление | |
153
+ | `sanitize-jwt` | Остановите утечку JWT-токенов в контекст агента | |
154
+ | `sanitize-api-keys` | Остановите утечку API-ключей в контекст агента | `additionalPatterns` |
155
+ | `sanitize-connection-strings` | Остановите утечку учетных данных базы данных в контекст агента | |
156
+ | `sanitize-private-key-content` | Скройте блоки PEM-ключей из выходных данных | |
157
+ | `sanitize-bearer-tokens` | Скройте токены Authorization Bearer из выходных данных | |
158
+ | `block-env-files` | Не позволяйте агентам читать файлы .env | |
159
+ | `protect-env-vars` | Предотвратите вывод переменных окружения агентами | |
160
+ | `block-read-outside-cwd` | Держите агентов внутри границ проекта | `allowPaths` |
161
+ | `block-secrets-write` | Предотвратите запись в файлы приватных ключей и сертификатов | `additionalPatterns` |
162
+ | `block-push-master` | Предотвратите случайные отправки на main/master | `protectedBranches` |
163
+ | `block-work-on-main` | Держите агентов от защищенных ветвей | `protectedBranches` |
164
+ | `block-force-push` | Предотвратите `git push --force` | |
165
+ | `warn-git-amend` | Напомните агентам перед изменением коммитов | |
166
+ | `warn-git-stash-drop` | Напомните агентам перед удалением сохранений | |
167
+ | `warn-all-files-staged` | Поймайте случайный `git add -A` | |
168
+ | `warn-destructive-sql` | Поймайте DROP/DELETE SQL перед выполнением | |
169
+ | `warn-schema-alteration` | Поймайте ALTER TABLE перед выполнением | |
170
+ | `warn-large-file-write` | Поймайте неожиданно большие записи файлов | `thresholdKb` |
171
+ | `warn-package-publish` | Поймайте случайный `npm publish` | |
172
+ | `warn-background-process` | Поймайте непреднамеренные фоновые процессы | |
173
+ | `warn-global-package-install` | Поймайте непреднамеренные глобальные установки пакетов | |
174
+ | …и еще | | |
175
+
176
+ Полная информация о политиках и справочник параметров: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
177
+
178
+ ---
179
+
180
+ ## Пользовательские политики
181
+
182
+ Напишите собственные политики, чтобы ваши агенты были надежными и сосредоточенными:
183
+
184
+ ```js
185
+ import { customPolicies, allow, deny, instruct } from "failproofai";
186
+
187
+ customPolicies.add({
188
+ name: "no-production-writes",
189
+ description: "Block writes to paths containing 'production'",
190
+ match: { events: ["PreToolUse"] },
191
+ fn: async (ctx) => {
192
+ if (!["Write", "Edit"].includes(ctx.toolName ?? "")) return allow();
193
+ const path = ctx.toolInput?.file_path ?? "";
194
+ if (path.includes("production")) return deny("Writes to production paths are blocked");
195
+ return allow();
196
+ },
197
+ });
198
+ ```
199
+
200
+ Установите с помощью:
201
+
202
+ ```bash
203
+ failproofai policies --install --custom ./my-policies.js
204
+ ```
205
+
206
+ ### Вспомогательные функции для решений
207
+
208
+ | Функция | Эффект |
209
+ |---------|--------|
210
+ | `allow()` | Разрешить операцию |
211
+ | `allow(message)` | Разрешить и отправить информационный контекст Claude *(бета)* |
212
+ | `deny(message)` | Заблокировать операцию; сообщение показано Claude |
213
+ | `instruct(message)` | Добавить контекст в подсказку Claude; не блокирует |
214
+
215
+ ### Объект контекста (`ctx`)
216
+
217
+ | Поле | Тип | Описание |
218
+ |------|-----|---------|
219
+ | `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
220
+ | `toolName` | `string` | Вызываемый инструмент (`"Bash"`, `"Write"`, `"Read"`, …) |
221
+ | `toolInput` | `object` | Входные параметры инструмента |
222
+ | `payload` | `object` | Полный необработанный payload события |
223
+ | `session.cwd` | `string` | Рабочая директория сеанса Claude Code |
224
+ | `session.sessionId` | `string` | Идентификатор сеанса |
225
+ | `session.transcriptPath` | `string` | Путь к файлу стенограммы сеанса |
226
+
227
+ Пользовательские перехватчики поддерживают переходные локальные импорты, async/await и доступ к `process.env`. Ошибки безопасны (логируются в `~/.failproofai/hook.log`, встроенные политики продолжают работу). Полное руководство см. в [docs/custom-hooks.mdx](docs/custom-hooks.mdx).
228
+
229
+ ### Политики на основе соглашений (v0.0.2-beta.7+)
230
+
231
+ Поместите файлы `*policies.{js,mjs,ts}` в `.failproofai/policies/` — они будут автоматически загружены без флага `--custom` или изменения конфигурации. Работает как git-хуки: поместите файл, и всё работает.
232
+
233
+ ```text
234
+ # Уровень проекта — коммитится в git, общее с командой
235
+ .failproofai/policies/security-policies.mjs
236
+ .failproofai/policies/workflow-policies.mjs
237
+
238
+ # Уровень пользователя — личное, применяется ко всем проектам
239
+ ~/.failproofai/policies/my-policies.mjs
240
+ ```
241
+
242
+ Загружаются оба уровня (объединение). Файлы загружаются в алфавитном порядке внутри каждой директории. Используйте префиксы `01-`, `02-`, и т.д., чтобы контролировать порядок. Готовые примеры см. в [examples/convention-policies/](examples/convention-policies/).
243
+
244
+ ---
245
+
246
+ ## Телеметрия
247
+
248
+ Failproof AI собирает анонимную телеметрию использования через PostHog для понимания использования функций. Содержимое сеанса, имена файлов, входные данные инструментов или личная информация никогда не отправляются.
249
+
250
+ Отключите это:
251
+
252
+ ```bash
253
+ FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
254
+ ```
255
+
256
+ ---
257
+
258
+ ## Документация
259
+
260
+ | Руководство | Описание |
261
+ |-----------|---------|
262
+ | [Начало работы](docs/getting-started.mdx) | Установка и первые шаги |
263
+ | [Встроенные политики](docs/built-in-policies.mdx) | Все 30 встроенных политик с параметрами |
264
+ | [Пользовательские политики](docs/custom-policies.mdx) | Напишите собственные политики |
265
+ | [Конфигурация](docs/configuration.mdx) | Формат файла конфигурации и объединение уровней |
266
+ | [Панель управления](docs/dashboard.mdx) | Мониторинг сеансов и проверка активности политик |
267
+ | [Архитектура](docs/architecture.mdx) | Как работает система перехватчиков |
268
+ | [Тестирование](docs/testing.mdx) | Запуск тестов и написание новых |
269
+
270
+ ### Запустите документацию локально
271
+
272
+ ```bash
273
+ docker build -f Dockerfile.docs -t failproofai-docs .
274
+ docker run --rm -p 3000:3000 failproofai-docs
275
+ ```
276
+
277
+ Откроет сайт документации Mintlify на `http://localhost:3000`. Контейнер отслеживает изменения, если вы монтируете директорию документов:
278
+
279
+ ```bash
280
+ docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
281
+ ```
282
+
283
+ ---
284
+
285
+ ## Примечание для участников failproofai
286
+
287
+ `.claude/settings.json` этого репозитория использует `bun ./bin/failproofai.mjs --hook <EventType>` вместо стандартной команды `npx -y failproofai`. Это потому, что запуск `npx -y failproofai` внутри самого проекта failproofai создает конфликт самоссылающихся ссылок.
288
+
289
+ Для всех остальных репозиториев рекомендуемый подход — `npx -y failproofai`, установленный с помощью:
290
+
291
+ ```bash
292
+ failproofai policies --install --scope project
293
+ ```
294
+
295
+ ## Участие в разработке
296
+
297
+ См. [CONTRIBUTING.md](CONTRIBUTING.md).
298
+
299
+ ---
300
+
301
+ ## Лицензия
302
+
303
+ См. [LICENSE](LICENSE).
304
+
305
+ ---
306
+
307
+ Создано и поддерживается компанией **ExosphereHost: Reliability Research Lab for Your Agents**. Мы помогаем предприятиям и стартапам повысить надежность своих AI-агентов через собственные агенты, программное обеспечение и экспертизу. Узнайте больше на [exosphere.host](https://exosphere.host).
308
+ ```