failproofai 0.0.2 → 0.0.4-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (484) 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]__092s1ta._.js +2 -2
  64. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
  65. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
  66. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
  67. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0qo8503._.js → [root-of-the-server]__0jqus-j._.js} +2 -2
  68. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
  69. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +9 -9
  70. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
  71. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
  72. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__12kr5~_._.js → [root-of-the-server]__131id~1._.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/{0y~0creqvl5wx.js → 045lpk_isd5np.js} +1 -1
  90. package/.next/standalone/.next/static/chunks/{0cvffh-pbsv5u.js → 065qrrpfkts8s.js} +1 -1
  91. package/.next/standalone/.next/static/chunks/{031pa5~qfzt~_.js → 09e7drilkf1sn.js} +1 -1
  92. package/.next/standalone/.next/static/chunks/0gu_a.a80ritd.css +1 -0
  93. package/.next/standalone/.next/static/chunks/{15wf7x-e.8ia3.js → 0je_~y72wv~~2.js} +1 -1
  94. package/.next/standalone/.next/static/chunks/{0x-625~1vx1lu.js → 0rqcttnl9u32c.js} +1 -1
  95. package/.next/standalone/.next/static/chunks/{0ov60i6md~37t.js → 0v2-.v07.zb9u.js} +2 -2
  96. package/.next/standalone/.next/static/chunks/{06og.7e9nkpjh.js → 0yye9-w._6rz~.js} +1 -1
  97. package/.next/standalone/.next/static/chunks/{0_4y_t03jn2nq.js → 15proylk5ye2k.js} +1 -1
  98. package/.next/standalone/.next/static/chunks/174boqk9e~20i.js +6 -0
  99. package/.next/standalone/.next/static/chunks/{turbopack-0uc5y~g6h.n7-.js → turbopack-0r26pc8h0y_-e.js} +1 -1
  100. package/.next/standalone/CHANGELOG.md +108 -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 +535 -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 +537 -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 +48 -0
  117. package/.next/standalone/docs/ar/cli/list-policies.mdx +31 -0
  118. package/.next/standalone/docs/ar/cli/remove-policies.mdx +43 -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} +126 -15
  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 +47 -0
  135. package/.next/standalone/docs/cli/list-policies.mdx +31 -0
  136. package/.next/standalone/docs/cli/remove-policies.mdx +43 -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 +537 -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 +47 -0
  147. package/.next/standalone/docs/de/cli/list-policies.mdx +31 -0
  148. package/.next/standalone/docs/de/cli/remove-policies.mdx +43 -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 +943 -24
  160. package/.next/standalone/docs/es/architecture.mdx +332 -0
  161. package/.next/standalone/docs/es/built-in-policies.mdx +537 -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 +47 -0
  166. package/.next/standalone/docs/es/cli/list-policies.mdx +31 -0
  167. package/.next/standalone/docs/es/cli/remove-policies.mdx +43 -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 +537 -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 +47 -0
  186. package/.next/standalone/docs/fr/cli/list-policies.mdx +31 -0
  187. package/.next/standalone/docs/fr/cli/remove-policies.mdx +43 -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 +535 -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 +47 -0
  205. package/.next/standalone/docs/he/cli/list-policies.mdx +32 -0
  206. package/.next/standalone/docs/he/cli/remove-policies.mdx +43 -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 +535 -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 +47 -0
  223. package/.next/standalone/docs/hi/cli/list-policies.mdx +31 -0
  224. package/.next/standalone/docs/hi/cli/remove-policies.mdx +43 -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 +537 -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 +47 -0
  256. package/.next/standalone/docs/it/cli/list-policies.mdx +31 -0
  257. package/.next/standalone/docs/it/cli/remove-policies.mdx +43 -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 +535 -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 +47 -0
  274. package/.next/standalone/docs/ja/cli/list-policies.mdx +31 -0
  275. package/.next/standalone/docs/ja/cli/remove-policies.mdx +43 -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 +535 -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 +47 -0
  292. package/.next/standalone/docs/ko/cli/list-policies.mdx +31 -0
  293. package/.next/standalone/docs/ko/cli/remove-policies.mdx +43 -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 +537 -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 +47 -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 +43 -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 +537 -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 +43 -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 +537 -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 +47 -0
  350. package/.next/standalone/docs/tr/cli/list-policies.mdx +31 -0
  351. package/.next/standalone/docs/tr/cli/remove-policies.mdx +44 -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 +537 -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 +47 -0
  368. package/.next/standalone/docs/vi/cli/list-policies.mdx +31 -0
  369. package/.next/standalone/docs/vi/cli/remove-policies.mdx +43 -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 +535 -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 +47 -0
  386. package/.next/standalone/docs/zh/cli/list-policies.mdx +31 -0
  387. package/.next/standalone/docs/zh/cli/remove-policies.mdx +43 -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 +401 -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 +535 -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 +401 -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/0c_ljlxa._4lc.js +0 -6
  477. package/.next/standalone/.next/static/chunks/15jpradyu_531.css +0 -1
  478. package/.next/standalone/docs/cli-reference.md +0 -175
  479. package/.next/standalone/docs/custom-hooks.md +0 -261
  480. package/.next/standalone/docs/getting-started.md +0 -128
  481. package/.next/standalone/docs/introduction.md +0 -47
  482. /package/.next/standalone/.next/static/{WS-OQSqL1Lp1w_obXfjvl → WRbDp8A_ORPof197CezOZ}/_buildManifest.js +0 -0
  483. /package/.next/standalone/.next/static/{WS-OQSqL1Lp1w_obXfjvl → WRbDp8A_ORPof197CezOZ}/_clientMiddlewareManifest.js +0 -0
  484. /package/.next/standalone/.next/static/{WS-OQSqL1Lp1w_obXfjvl → WRbDp8A_ORPof197CezOZ}/_ssgManifest.js +0 -0
@@ -0,0 +1,537 @@
1
+ ---
2
+ title: Políticas Integradas
3
+ description: "Todas as 30 políticas integradas que detectam falhas comuns de agentes"
4
+ icon: shield
5
+ ---
6
+
7
+ failproofai vem com 30 políticas integradas que detectam falhas comuns de agentes. Cada política é acionada em um tipo específico de evento de hook e nome de ferramenta. Nove políticas aceitam parâmetros que permitem ajustar seu comportamento sem escrever código. Quatro políticas de fluxo de trabalho impõem um pipeline de commit → push → PR → CI antes que Claude pare.
8
+
9
+ ---
10
+
11
+ ## Visão geral
12
+
13
+ As políticas são agrupadas em categorias:
14
+
15
+ | Categoria | Políticas | Tipo de hook |
16
+ |-----------|-----------|--------------|
17
+ | [Comandos perigosos](#dangerous-commands) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
18
+ | [Segredos (sanitizadores)](#secrets-sanitizers) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
19
+ | [Ambiente](#environment) | block-env-files, protect-env-vars | PreToolUse |
20
+ | [Acesso a arquivos](#file-access) | block-read-outside-cwd, block-secrets-write | PreToolUse |
21
+ | [Git](#git) | block-push-master, block-work-on-main, block-force-push, warn-git-amend, warn-git-stash-drop, warn-all-files-staged | PreToolUse |
22
+ | [Banco de dados](#database) | warn-destructive-sql, warn-schema-alteration | PreToolUse |
23
+ | [Avisos](#warnings) | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
24
+ | [Fluxo de trabalho](#workflow) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
25
+
26
+ - **`block-`** — impede o agente de prosseguir.
27
+ - **`warn-`** — fornece contexto adicional ao agente para que ele possa se autocorrigir.
28
+ - **`sanitize-`** — remove dados sensíveis da saída da ferramenta antes que o agente os veja.
29
+ - **`require-`** — bloqueia o evento Stop até que as condições sejam atendidas.
30
+
31
+ ---
32
+
33
+ <Tip>
34
+ Toda política suporta um campo opcional `hint` em `policyParams`. O hint é anexado à mensagem de deny ou instruct que Claude vê, fornecendo orientações práticas sem modificar o código da política. Funciona com políticas integradas, personalizadas e de convenção. Consulte [Configuração → hint](/pt-br/configuration#hint-cross-cutting) para mais detalhes.
35
+ </Tip>
36
+
37
+ ---
38
+
39
+ ## Comandos perigosos
40
+
41
+ Impede que agentes executem operações difíceis de desfazer ou que possam danificar o sistema host.
42
+
43
+ ### `block-sudo`
44
+
45
+ **Evento:** PreToolUse (Bash)
46
+ **Padrão:** Nega qualquer comando `sudo`.
47
+
48
+ Bloqueia invocações que incluam a palavra-chave `sudo`. A correspondência de padrões é feita nos tokens de comando analisados, não na string bruta, para evitar bypass via injeção de operadores de shell.
49
+
50
+ **Parâmetros:**
51
+
52
+ | Parâmetro | Tipo | Padrão | Descrição |
53
+ |-----------|------|--------|-----------|
54
+ | `allowPatterns` | `string[]` | `[]` | Prefixos de comando exatos que são permitidos. Cada entrada é comparada com os tokens argv analisados. |
55
+
56
+ **Exemplo:**
57
+
58
+ ```json
59
+ {
60
+ "policyParams": {
61
+ "block-sudo": {
62
+ "allowPatterns": ["sudo systemctl status", "sudo journalctl"]
63
+ }
64
+ }
65
+ }
66
+ ```
67
+
68
+ Com essa configuração, `sudo systemctl status nginx` é permitido, mas `sudo rm /etc/hosts` é negado.
69
+
70
+ <Note>
71
+ Os padrões são comparados com os tokens analisados, não com a string de comando bruta. Isso evita bypass via operadores de shell anexados (por exemplo, `sudo systemctl status x; rm -rf /` não corresponde a `sudo systemctl status *`).
72
+ </Note>
73
+
74
+ ---
75
+
76
+ ### `block-rm-rf`
77
+
78
+ **Evento:** PreToolUse (Bash)
79
+ **Padrão:** Nega `rm -rf`, `rm -fr` e formas similares de exclusão recursiva.
80
+
81
+ **Parâmetros:**
82
+
83
+ | Parâmetro | Tipo | Padrão | Descrição |
84
+ |-----------|------|--------|-----------|
85
+ | `allowPaths` | `string[]` | `[]` | Caminhos que são seguros para excluir recursivamente (ex: `/tmp`). |
86
+
87
+ **Exemplo:**
88
+
89
+ ```json
90
+ {
91
+ "policyParams": {
92
+ "block-rm-rf": {
93
+ "allowPaths": ["/tmp", "/var/cache"]
94
+ }
95
+ }
96
+ }
97
+ ```
98
+
99
+ ---
100
+
101
+ ### `block-curl-pipe-sh`
102
+
103
+ **Evento:** PreToolUse (Bash)
104
+ **Padrão:** Nega `curl <url> | bash`, `curl <url> | sh`, `wget <url> | bash` e padrões similares.
105
+
106
+ Sem parâmetros.
107
+
108
+ ---
109
+
110
+ ### `block-failproofai-commands`
111
+
112
+ **Evento:** PreToolUse (Bash)
113
+ **Padrão:** Nega comandos que desinstalem ou desabilitem o próprio failproofai (ex: `npm uninstall failproofai`, `failproofai policies --uninstall`).
114
+
115
+ Sem parâmetros.
116
+
117
+ ---
118
+
119
+ ## Segredos (sanitizadores)
120
+
121
+ Impede que agentes vazem credenciais em seu contexto ou saída. As políticas de sanitização são acionadas em eventos **PostToolUse**. Quando Claude executa um comando Bash, lê um arquivo ou chama qualquer ferramenta, essas políticas inspecionam a saída antes que ela seja retornada ao Claude. Se um padrão de segredo for detectado, a política retorna uma decisão de deny que impede a saída de ser passada de volta.
122
+
123
+ ### `sanitize-jwt`
124
+
125
+ **Evento:** PostToolUse (todas as ferramentas)
126
+ **Padrão:** Redige tokens JWT (três segmentos base64url separados por `.`).
127
+
128
+ Sem parâmetros.
129
+
130
+ ---
131
+
132
+ ### `sanitize-api-keys`
133
+
134
+ **Evento:** PostToolUse (todas as ferramentas)
135
+ **Padrão:** Redige formatos comuns de chaves de API: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), chaves de acesso AWS (`AKIA`), chaves Stripe (`sk_live_`, `sk_test_`) e chaves Google API (`AIza`).
136
+
137
+ **Parâmetros:**
138
+
139
+ | Parâmetro | Tipo | Padrão | Descrição |
140
+ |-----------|------|--------|-----------|
141
+ | `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Padrões regex adicionais para tratar como segredos. |
142
+
143
+ **Exemplo:**
144
+
145
+ ```json
146
+ {
147
+ "policyParams": {
148
+ "sanitize-api-keys": {
149
+ "additionalPatterns": [
150
+ { "regex": "myco_[A-Za-z0-9]{32}", "label": "MyCo internal API key" },
151
+ { "regex": "pat_[0-9a-f]{40}", "label": "Internal PAT" }
152
+ ]
153
+ }
154
+ }
155
+ }
156
+ ```
157
+
158
+ ---
159
+
160
+ ### `sanitize-connection-strings`
161
+
162
+ **Evento:** PostToolUse (todas as ferramentas)
163
+ **Padrão:** Redige strings de conexão de banco de dados que contêm credenciais incorporadas (ex: `postgresql://user:password@host/db`).
164
+
165
+ Sem parâmetros.
166
+
167
+ ---
168
+
169
+ ### `sanitize-private-key-content`
170
+
171
+ **Evento:** PostToolUse (todas as ferramentas)
172
+ **Padrão:** Redige blocos PEM (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, etc.).
173
+
174
+ Sem parâmetros.
175
+
176
+ ---
177
+
178
+ ### `sanitize-bearer-tokens`
179
+
180
+ **Evento:** PostToolUse (todas as ferramentas)
181
+ **Padrão:** Redige cabeçalhos `Authorization: Bearer <token>` onde o token tem 20 ou mais caracteres.
182
+
183
+ Sem parâmetros.
184
+
185
+ ---
186
+
187
+ ## Ambiente
188
+
189
+ Protege a configuração de ambiente sensível de ser lida ou exposta por agentes.
190
+
191
+ ### `block-env-files`
192
+
193
+ **Evento:** PreToolUse (Bash, Read)
194
+ **Padrão:** Nega a leitura de arquivos `.env` via `cat .env`, chamadas da ferramenta `Read` com `.env` como caminho do arquivo, etc.
195
+
196
+ Não bloqueia `.envrc` ou outros arquivos relacionados ao ambiente — apenas arquivos nomeados exatamente `.env`.
197
+
198
+ Sem parâmetros.
199
+
200
+ ---
201
+
202
+ ### `protect-env-vars`
203
+
204
+ **Evento:** PreToolUse (Bash)
205
+ **Padrão:** Nega comandos que imprimam variáveis de ambiente: `printenv`, `env`, `echo $VAR`.
206
+
207
+ Sem parâmetros.
208
+
209
+ ---
210
+
211
+ ## Acesso a arquivos
212
+
213
+ Mantém agentes trabalhando dentro dos limites do projeto e longe de arquivos sensíveis.
214
+
215
+ ### `block-read-outside-cwd`
216
+
217
+ **Evento:** PreToolUse (Read, Bash)
218
+ **Padrão:** Nega a leitura de arquivos fora do diretório de trabalho atual (a raiz do projeto).
219
+
220
+ **Parâmetros:**
221
+
222
+ | Parâmetro | Tipo | Padrão | Descrição |
223
+ |-----------|------|--------|-----------|
224
+ | `allowPaths` | `string[]` | `[]` | Prefixos de caminho absoluto que são permitidos mesmo se estiverem fora do cwd. |
225
+
226
+ **Exemplo:**
227
+
228
+ ```json
229
+ {
230
+ "policyParams": {
231
+ "block-read-outside-cwd": {
232
+ "allowPaths": ["/shared/data", "/opt/company/config"]
233
+ }
234
+ }
235
+ }
236
+ ```
237
+
238
+ ---
239
+
240
+ ### `block-secrets-write`
241
+
242
+ **Evento:** PreToolUse (Write, Edit)
243
+ **Padrão:** Nega escritas em arquivos comumente usados para chaves privadas e certificados: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
244
+
245
+ **Parâmetros:**
246
+
247
+ | Parâmetro | Tipo | Padrão | Descrição |
248
+ |-----------|------|--------|-----------|
249
+ | `additionalPatterns` | `string[]` | `[]` | Padrões de nome de arquivo adicionais (estilo glob) para bloquear. |
250
+
251
+ **Exemplo:**
252
+
253
+ ```json
254
+ {
255
+ "policyParams": {
256
+ "block-secrets-write": {
257
+ "additionalPatterns": [".token", ".secret"]
258
+ }
259
+ }
260
+ }
261
+ ```
262
+
263
+ ---
264
+
265
+ ## Git
266
+
267
+ Previne pushes acidentais, force-pushes e erros de branch que são difíceis de desfazer.
268
+
269
+ ### `block-push-master`
270
+
271
+ **Evento:** PreToolUse (Bash)
272
+ **Padrão:** Nega `git push origin main` e `git push origin master`.
273
+
274
+ **Parâmetros:**
275
+
276
+ | Parâmetro | Tipo | Padrão | Descrição |
277
+ |-----------|------|--------|-----------|
278
+ | `protectedBranches` | `string[]` | `["main", "master"]` | Nomes de branches que não podem receber push diretamente. |
279
+
280
+ **Exemplo:**
281
+
282
+ ```json
283
+ {
284
+ "policyParams": {
285
+ "block-push-master": {
286
+ "protectedBranches": ["main", "master", "release", "prod"]
287
+ }
288
+ }
289
+ }
290
+ ```
291
+
292
+ <Tip>
293
+ Para permitir push para todos os branches (desabilitando efetivamente esta política sem removê-la de `enabledPolicies`), defina `protectedBranches: []`.
294
+ </Tip>
295
+
296
+ ---
297
+
298
+ ### `block-work-on-main`
299
+
300
+ **Evento:** PreToolUse (Bash)
301
+ **Padrão:** Nega o checkout direto dos branches `main` ou `master`.
302
+
303
+ **Parâmetros:**
304
+
305
+ | Parâmetro | Tipo | Padrão | Descrição |
306
+ |-----------|------|--------|-----------|
307
+ | `protectedBranches` | `string[]` | `["main", "master"]` | Nomes de branches que não podem ser obtidos diretamente via checkout. |
308
+
309
+ ---
310
+
311
+ ### `block-force-push`
312
+
313
+ **Evento:** PreToolUse (Bash)
314
+ **Padrão:** Nega `git push --force` e `git push -f`.
315
+
316
+ Sem parâmetros específicos da política. Use o [`hint`](/pt-br/configuration#hint-cross-cutting) transversal para sugerir alternativas:
317
+
318
+ ```json
319
+ {
320
+ "policyParams": {
321
+ "block-force-push": {
322
+ "hint": "Create a new branch from your current HEAD (e.g. `git checkout -b <new-branch>`) and push that instead."
323
+ }
324
+ }
325
+ }
326
+ ```
327
+
328
+ ---
329
+
330
+ ### `warn-git-amend`
331
+
332
+ **Evento:** PreToolUse (Bash)
333
+ **Padrão:** Instrui Claude a prosseguir com cuidado ao executar `git commit --amend`. Não bloqueia o comando.
334
+
335
+ Sem parâmetros.
336
+
337
+ ---
338
+
339
+ ### `warn-git-stash-drop`
340
+
341
+ **Evento:** PreToolUse (Bash)
342
+ **Padrão:** Instrui Claude a confirmar antes de executar `git stash drop`. Não bloqueia o comando.
343
+
344
+ Sem parâmetros.
345
+
346
+ ---
347
+
348
+ ### `warn-all-files-staged`
349
+
350
+ **Evento:** PreToolUse (Bash)
351
+ **Padrão:** Instrui Claude a revisar o que está sendo adicionado ao stage ao executar `git add -A` ou `git add .`. Não bloqueia o comando.
352
+
353
+ Sem parâmetros.
354
+
355
+ ---
356
+
357
+ ## Banco de dados
358
+
359
+ Detecta operações SQL destrutivas antes que sejam executadas no banco de dados.
360
+
361
+ ### `warn-destructive-sql`
362
+
363
+ **Evento:** PreToolUse (Bash)
364
+ **Padrão:** Instrui Claude a confirmar antes de executar SQL contendo `DROP TABLE`, `DROP DATABASE` ou `DELETE` sem uma cláusula `WHERE`.
365
+
366
+ Sem parâmetros.
367
+
368
+ ---
369
+
370
+ ### `warn-schema-alteration`
371
+
372
+ **Evento:** PreToolUse (Bash)
373
+ **Padrão:** Instrui Claude a confirmar antes de executar instruções `ALTER TABLE`.
374
+
375
+ Sem parâmetros.
376
+
377
+ ---
378
+
379
+ ## Avisos
380
+
381
+ Fornece contexto extra aos agentes antes de operações potencialmente arriscadas, mas não destrutivas.
382
+
383
+ ### `warn-large-file-write`
384
+
385
+ **Evento:** PreToolUse (Write)
386
+ **Padrão:** Instrui Claude a confirmar antes de escrever arquivos maiores que 1024 KB.
387
+
388
+ **Parâmetros:**
389
+
390
+ | Parâmetro | Tipo | Padrão | Descrição |
391
+ |-----------|------|--------|-----------|
392
+ | `thresholdKb` | `number` | `1024` | Limite de tamanho de arquivo em kilobytes acima do qual um aviso é emitido. |
393
+
394
+ **Exemplo:**
395
+
396
+ ```json
397
+ {
398
+ "policyParams": {
399
+ "warn-large-file-write": {
400
+ "thresholdKb": 256
401
+ }
402
+ }
403
+ }
404
+ ```
405
+
406
+ <Note>
407
+ O handler de hook impõe um limite de 1 MB de stdin nos payloads. Para testar esta política com conteúdo pequeno, defina `thresholdKb` para um valor bem abaixo de 1024.
408
+ </Note>
409
+
410
+ ---
411
+
412
+ ### `warn-package-publish`
413
+
414
+ **Evento:** PreToolUse (Bash)
415
+ **Padrão:** Instrui Claude a confirmar antes de executar `npm publish`.
416
+
417
+ Sem parâmetros.
418
+
419
+ ---
420
+
421
+ ### `warn-background-process`
422
+
423
+ **Evento:** PreToolUse (Bash)
424
+ **Padrão:** Instrui Claude a ter cuidado ao iniciar processos em segundo plano via `nohup`, `&`, `disown` ou `screen`.
425
+
426
+ Sem parâmetros.
427
+
428
+ ---
429
+
430
+ ### `warn-global-package-install`
431
+
432
+ **Evento:** PreToolUse (Bash)
433
+ **Padrão:** Instrui Claude a confirmar antes de executar `npm install -g`, `yarn global add` ou `pip install` sem um ambiente virtual.
434
+
435
+ Sem parâmetros.
436
+
437
+ ---
438
+
439
+ ## Comportamento de IA
440
+
441
+ Detecta quando agentes ficam travados ou se comportam de forma inesperada.
442
+
443
+ ### `warn-repeated-tool-calls`
444
+
445
+ **Evento:** PreToolUse (todas as ferramentas)
446
+ **Padrão:** Instrui Claude a reconsiderar quando a mesma ferramenta é chamada 3 ou mais vezes com parâmetros idênticos — um sinal comum de que o agente está preso em um loop.
447
+
448
+ Sem parâmetros.
449
+
450
+ ---
451
+
452
+ ## Fluxo de trabalho
453
+
454
+ Impõe um fluxo de trabalho disciplinado ao final da sessão. Essas políticas são acionadas no evento **Stop** e impedem Claude de parar até que cada condição seja atendida. Elas seguem uma cadeia de dependência natural: commit → push → PR → CI. Se uma política nega, as políticas seguintes na cadeia são ignoradas (deny interrompe o fluxo).
455
+
456
+ Todas as políticas de fluxo de trabalho são **fail-open**: se a ferramenta necessária não estiver disponível (ex: `gh` não instalado, sem remote git), a política permite com uma mensagem informativa explicando por que a verificação foi ignorada.
457
+
458
+ ### `require-commit-before-stop`
459
+
460
+ **Evento:** Stop
461
+ **Padrão:** Nega a parada quando há alterações não commitadas (arquivos modificados, em stage ou não rastreados). Retorna uma mensagem informativa quando o diretório de trabalho está limpo.
462
+
463
+ Sem parâmetros.
464
+
465
+ ---
466
+
467
+ ### `require-push-before-stop`
468
+
469
+ **Evento:** Stop
470
+ **Padrão:** Nega a parada quando há commits não enviados por push ou quando o branch atual não tem um branch de rastreamento remoto. Sugere `git push -u` para criar um branch de rastreamento se necessário. Falha de forma aberta se nenhum remote estiver configurado.
471
+
472
+ **Parâmetros:**
473
+
474
+ | Parâmetro | Tipo | Padrão | Descrição |
475
+ |-----------|------|--------|-----------|
476
+ | `remote` | `string` | `"origin"` | Nome do remote para o qual fazer push. |
477
+
478
+ **Exemplo:**
479
+
480
+ ```json
481
+ {
482
+ "policyParams": {
483
+ "require-push-before-stop": {
484
+ "remote": "upstream"
485
+ }
486
+ }
487
+ }
488
+ ```
489
+
490
+ ---
491
+
492
+ ### `require-pr-before-stop`
493
+
494
+ **Evento:** Stop
495
+ **Padrão:** Nega a parada quando não existe pull request para o branch atual, ou quando o PR existente está fechado/mesclado. Instrui Claude a criar um PR com `gh pr create`.
496
+
497
+ Sem parâmetros.
498
+
499
+ <Note>
500
+ Esta política requer que o [GitHub CLI](https://cli.github.com/) (`gh`) esteja instalado e autenticado.
501
+ Execute `gh auth login` com um token de acesso pessoal que tenha escopo `repo` para acesso de leitura a
502
+ pull requests. Se `gh` não estiver instalado ou autenticado, a política falha de forma aberta e reporta o motivo ao Claude.
503
+ </Note>
504
+
505
+ ---
506
+
507
+ ### `require-ci-green-before-stop`
508
+
509
+ **Evento:** Stop
510
+ **Padrão:** Nega a parada quando as verificações de CI estão falhando ou ainda em execução no branch atual. Verifica tanto as execuções de workflow do GitHub Actions quanto as verificações de bots de terceiros (ex: CodeRabbit, SonarCloud, Codecov). Trata conclusões `skipped` como sucesso. Retorna uma mensagem informativa quando todas as verificações passam.
511
+
512
+ Sem parâmetros.
513
+
514
+ <Note>
515
+ Esta política requer que o [GitHub CLI](https://cli.github.com/) (`gh`) esteja instalado e autenticado.
516
+ Execute `gh auth login` com um token de acesso pessoal que tenha escopo `repo` para acesso de leitura às
517
+ execuções de workflow do Actions e à API de Verificações. Se `gh` não estiver instalado ou autenticado, a política falha de forma aberta e reporta o motivo ao Claude.
518
+ </Note>
519
+
520
+ ---
521
+
522
+ ---
523
+
524
+ ## Desabilitando políticas individuais
525
+
526
+ Remova uma política específica de `enabledPolicies` na sua configuração, ou desative-a na aba Políticas do dashboard.
527
+
528
+ ```json
529
+ {
530
+ "enabledPolicies": [
531
+ "block-rm-rf",
532
+ "sanitize-api-keys"
533
+ ]
534
+ }
535
+ ```
536
+
537
+ Políticas não listadas em `enabledPolicies` não são executadas, mesmo que existam entradas de `policyParams` para elas.
@@ -0,0 +1,28 @@
1
+ ---
2
+ title: Ver sessões
3
+ description: "Inicie o dashboard para visualizar sessões de agentes e gerenciar políticas"
4
+ ---
5
+
6
+ ```bash
7
+ failproofai
8
+ ```
9
+
10
+ Inicia o dashboard web em `http://localhost:8020`.
11
+
12
+ ## Opções
13
+
14
+ | Flag | Descrição |
15
+ |------|-----------|
16
+ | `--port <number>` | Porta para escutar (padrão: `8020`) |
17
+ | `--projects-path <path>` | Substitui o local onde as pastas de projetos do Claude Code são encontradas |
18
+ | `--allowed-origins <origins>` | Hosts/IPs separados por vírgula com permissão de acesso aos recursos de desenvolvimento |
19
+
20
+ ## Exemplos
21
+
22
+ ```bash
23
+ # Iniciar em uma porta diferente
24
+ failproofai --port 9000
25
+
26
+ # Usar um caminho de projetos personalizado
27
+ failproofai --projects-path ~/my-claude-projects
28
+ ```
@@ -0,0 +1,34 @@
1
+ ---
2
+ title: Variáveis de ambiente
3
+ description: "Configure o comportamento do failproofai com variáveis de ambiente"
4
+ ---
5
+
6
+ ## Dashboard
7
+
8
+ | Variável | Descrição |
9
+ |----------|-----------|
10
+ | `PORT` | Porta do dashboard (padrão: `8020`) |
11
+ | `CLAUDE_PROJECTS_PATH` | Substitui o local onde as pastas de projetos do Claude Code são encontradas |
12
+ | `FAILPROOFAI_DISABLE_PAGES=policies,projects` | Páginas do dashboard a ocultar, separadas por vírgula |
13
+ | `FAILPROOFAI_ALLOWED_DEV_ORIGINS` | Hosts/IPs com permissão para acessar recursos de desenvolvimento. Equivalente a `--allowed-origins`. |
14
+
15
+ ## Logging
16
+
17
+ | Variável | Descrição |
18
+ |----------|-----------|
19
+ | `FAILPROOFAI_LOG_LEVEL=info\|warn\|error` | Nível de log do servidor (padrão: `warn`) |
20
+ | `FAILPROOFAI_HOOK_LOG_FILE` | Caminho personalizado para o arquivo de log de hooks, ou `true` para o padrão (`~/.failproofai/logs/hooks.log`) |
21
+
22
+ ## Telemetria
23
+
24
+ | Variável | Descrição |
25
+ |----------|-----------|
26
+ | `FAILPROOFAI_TELEMETRY_DISABLED=1` | Desativa a telemetria anônima de uso |
27
+
28
+ ## LLM (para avaliação de políticas)
29
+
30
+ | Variável | Descrição |
31
+ |----------|-----------|
32
+ | `FAILPROOFAI_LLM_BASE_URL` | Endpoint da API do LLM (padrão: `https://api.openai.com/v1`) |
33
+ | `FAILPROOFAI_LLM_API_KEY` | Chave de API para políticas baseadas em LLM |
34
+ | `FAILPROOFAI_LLM_MODEL` | Nome do modelo (padrão: `gpt-4o-mini`) |
@@ -0,0 +1,30 @@
1
+ ---
2
+ title: Hook handler (interno)
3
+ description: "O subprocesso que o Claude Code chama em cada evento de ferramenta"
4
+ ---
5
+
6
+ ```bash
7
+ failproofai --hook <EventType>
8
+ ```
9
+
10
+ Este é o comando registrado no `settings.json` do Claude Code pelo `failproofai policies --install`. Normalmente você não o chama diretamente.
11
+
12
+ Lê um payload JSON do stdin, avalia todas as políticas habilitadas e encerra com um código indicando a decisão:
13
+
14
+ | Código de saída | Decisão | Efeito |
15
+ |-----------------|---------|--------|
16
+ | `0` | `allow` | Permite a ação |
17
+ | `1` | `deny` | Bloqueia a ação - Claude recebe o motivo da negação |
18
+ | `2` | `instruct` | Injeta orientações no contexto do Claude |
19
+
20
+ ### Tipos de eventos suportados
21
+
22
+ | Categoria | Eventos |
23
+ |-----------|---------|
24
+ | **Execução de ferramentas** | `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` |
25
+ | **Ciclo de vida da sessão** | `SessionStart`, `SessionEnd`, `Stop`, `StopFailure` |
26
+ | **Interação com o usuário** | `UserPromptSubmit`, `Notification`, `Elicitation`, `ElicitationResult` |
27
+ | **Subagentes e tarefas** | `SubagentStart`, `SubagentStop`, `TaskCreated`, `TaskCompleted`, `TeammateIdle` |
28
+ | **Configuração** | `InstructionsLoaded`, `ConfigChange`, `CwdChanged` |
29
+ | **Sistema de arquivos** | `FileChanged`, `WorktreeCreate`, `WorktreeRemove` |
30
+ | **Contexto** | `PreCompact`, `PostCompact` |
@@ -0,0 +1,47 @@
1
+ ---
2
+ title: Instalar políticas
3
+ description: "Ative políticas para que sejam executadas em cada chamada de ferramenta do agente"
4
+ ---
5
+
6
+ ```bash
7
+ failproofai policies --install [policy-names...] [options]
8
+ ```
9
+
10
+ Escreve entradas de hook no `settings.json` do Claude Code para que o failproofai intercepte chamadas de ferramentas.
11
+
12
+ Aliases: `failproofai p -i`
13
+
14
+ ## Opções
15
+
16
+ | Flag | Descrição |
17
+ |------|-----------|
18
+ | `--scope user` | Instala em `~/.claude/settings.json` (padrão - todas as sessões) |
19
+ | `--scope project` | Instala em `.claude/settings.json` no diretório atual |
20
+ | `--scope local` | Instala em `.claude/settings.local.json` no diretório atual |
21
+ | `--custom <path>` / `-c` | Caminho para um arquivo JS contendo políticas de hook personalizadas |
22
+
23
+ ## Comportamento
24
+
25
+ - **Sem nomes de política** - abre um prompt interativo para selecionar políticas
26
+ - **Nomes específicos** - ativa essas políticas (adicionadas às que já estão ativas)
27
+ - **`all`** - ativa todas as políticas disponíveis
28
+
29
+ A instalação é aditiva: executar `--install` novamente adiciona novas políticas sem remover as existentes.
30
+
31
+ ## Exemplos
32
+
33
+ ```bash
34
+ # Instalar todas as políticas padrão globalmente (interativo)
35
+ failproofai policies --install
36
+
37
+ # Instalar políticas específicas para o projeto atual
38
+ failproofai policies --install block-sudo sanitize-api-keys --scope project
39
+
40
+ # Ativar todas as políticas de uma vez
41
+ failproofai policies --install all
42
+
43
+ # Instalar com um arquivo de políticas personalizado
44
+ failproofai policies --install --custom ./my-policies.js
45
+ ```
46
+
47
+ Quando `--custom <path>` é fornecido, o arquivo é validado imediatamente — ele deve chamar `customPolicies.add()` pelo menos uma vez. O caminho resolvido é salvo em `policies-config.json` como `customPoliciesPath`.