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: Politiche integrate
3
+ description: "Tutte le 30 politiche integrate che rilevano le modalità di errore comuni degli agenti"
4
+ icon: shield
5
+ ---
6
+
7
+ failproofai è dotato di 30 politiche integrate che rilevano le modalità di errore comuni degli agenti. Ogni politica si attiva su un tipo di evento hook e un nome di strumento specifici. Nove politiche accettano parametri che ti consentono di regolarne il comportamento senza scrivere codice. Quattro politiche di workflow applicano una pipeline commit → push → PR → CI prima che Claude si fermi.
8
+
9
+ ---
10
+
11
+ ## Panoramica
12
+
13
+ Le politiche sono raggruppate in categorie:
14
+
15
+ | Categoria | Politiche | Tipo di hook |
16
+ |----------|----------|-----------|
17
+ | [Comandi pericolosi](#comandi-pericolosi) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
18
+ | [Segreti (sanitizer)](#segreti-sanitizer) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
19
+ | [Ambiente](#ambiente) | block-env-files, protect-env-vars | PreToolUse |
20
+ | [Accesso ai file](#accesso-ai-file) | 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
+ | [Database](#database) | warn-destructive-sql, warn-schema-alteration | PreToolUse |
23
+ | [Avvisi](#avvisi) | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
24
+ | [Workflow](#workflow) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
25
+
26
+ - **`block-`** — ferma l'agente dal procedere.
27
+ - **`warn-`** — fornisce all'agente contesto aggiuntivo per autocorreggersi.
28
+ - **`sanitize-`** — rimuove i dati sensibili dall'output dello strumento prima che l'agente li veda.
29
+ - **`require-`** — blocca l'evento Stop fino a quando le condizioni non sono soddisfatte.
30
+
31
+ ---
32
+
33
+ <Tip>
34
+ Ogni politica supporta un campo `hint` opzionale in `policyParams`. L'hint viene aggiunto al messaggio di negazione o istruzione che Claude vede, fornendo indicazioni attuabili senza modificare il codice della politica. Funziona con le politiche integrate, personalizzate e di convenzione. Vedi [Configurazione → hint](/it/configuration#hint-cross-cutting) per i dettagli.
35
+ </Tip>
36
+
37
+ ---
38
+
39
+ ## Comandi pericolosi
40
+
41
+ Impedisci agli agenti di eseguire operazioni difficili da annullare o che potrebbero danneggiare il sistema host.
42
+
43
+ ### `block-sudo`
44
+
45
+ **Evento:** PreToolUse (Bash)
46
+ **Default:** Nega qualsiasi comando `sudo`.
47
+
48
+ Blocca le invocazioni che includono la parola chiave `sudo`. L'abbinamento del pattern viene eseguito su token di comando analizzati, non sulla stringa grezza, per prevenire il bypass tramite iniezione di operatori shell.
49
+
50
+ **Parametri:**
51
+
52
+ | Param | Tipo | Default | Descrizione |
53
+ |-------|------|---------|-------------|
54
+ | `allowPatterns` | `string[]` | `[]` | Prefissi di comando esatti che sono consentiti. Ogni voce viene confrontata con i token argv analizzati. |
55
+
56
+ **Esempio:**
57
+
58
+ ```json
59
+ {
60
+ "policyParams": {
61
+ "block-sudo": {
62
+ "allowPatterns": ["sudo systemctl status", "sudo journalctl"]
63
+ }
64
+ }
65
+ }
66
+ ```
67
+
68
+ Con questa configurazione, `sudo systemctl status nginx` è consentito, ma `sudo rm /etc/hosts` è negato.
69
+
70
+ <Note>
71
+ I pattern vengono abbinati ai token analizzati, non alla stringa di comando grezza. Questo previene il bypass tramite operatori shell aggiunti (ad es. `sudo systemctl status x; rm -rf /` non corrisponde a `sudo systemctl status *`).
72
+ </Note>
73
+
74
+ ---
75
+
76
+ ### `block-rm-rf`
77
+
78
+ **Evento:** PreToolUse (Bash)
79
+ **Default:** Nega `rm -rf`, `rm -fr` e forme simili di eliminazione ricorsiva.
80
+
81
+ **Parametri:**
82
+
83
+ | Param | Tipo | Default | Descrizione |
84
+ |-------|------|---------|-------------|
85
+ | `allowPaths` | `string[]` | `[]` | Percorsi che sono sicuri da eliminare ricorsivamente (ad es. `/tmp`). |
86
+
87
+ **Esempio:**
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
+ **Default:** Nega `curl <url> | bash`, `curl <url> | sh`, `wget <url> | bash` e pattern simili.
105
+
106
+ Nessun parametro.
107
+
108
+ ---
109
+
110
+ ### `block-failproofai-commands`
111
+
112
+ **Evento:** PreToolUse (Bash)
113
+ **Default:** Nega comandi che disinstallerebbero o disabiliterebbero failproofai stesso (ad es. `npm uninstall failproofai`, `failproofai policies --uninstall`).
114
+
115
+ Nessun parametro.
116
+
117
+ ---
118
+
119
+ ## Segreti (sanitizer)
120
+
121
+ Impedisci agli agenti di divulgare credenziali nel loro contesto o output. Le politiche sanitizer si attivano su eventi **PostToolUse**. Quando Claude esegue un comando Bash, legge un file o chiama qualsiasi strumento, queste politiche ispezionano l'output prima che venga restituito a Claude. Se viene rilevato un pattern di segreto, la politica restituisce una decisione di negazione che impedisce all'output di essere ripassato.
122
+
123
+ ### `sanitize-jwt`
124
+
125
+ **Evento:** PostToolUse (tutti gli strumenti)
126
+ **Default:** Redige i token JWT (tre segmenti base64url separati da `.`).
127
+
128
+ Nessun parametro.
129
+
130
+ ---
131
+
132
+ ### `sanitize-api-keys`
133
+
134
+ **Evento:** PostToolUse (tutti gli strumenti)
135
+ **Default:** Redige i formati comuni di chiavi API: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PAT (`ghp_`), chiavi di accesso AWS (`AKIA`), chiavi Stripe (`sk_live_`, `sk_test_`), e chiavi API Google (`AIza`).
136
+
137
+ **Parametri:**
138
+
139
+ | Param | Tipo | Default | Descrizione |
140
+ |-------|------|---------|-------------|
141
+ | `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Pattern regex aggiuntivi da trattare come segreti. |
142
+
143
+ **Esempio:**
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 (tutti gli strumenti)
163
+ **Default:** Redige le stringhe di connessione al database che contengono credenziali incorporate (ad es. `postgresql://user:password@host/db`).
164
+
165
+ Nessun parametro.
166
+
167
+ ---
168
+
169
+ ### `sanitize-private-key-content`
170
+
171
+ **Evento:** PostToolUse (tutti gli strumenti)
172
+ **Default:** Redige i blocchi PEM (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, ecc.).
173
+
174
+ Nessun parametro.
175
+
176
+ ---
177
+
178
+ ### `sanitize-bearer-tokens`
179
+
180
+ **Evento:** PostToolUse (tutti gli strumenti)
181
+ **Default:** Redige le intestazioni `Authorization: Bearer <token>` dove il token ha 20 o più caratteri.
182
+
183
+ Nessun parametro.
184
+
185
+ ---
186
+
187
+ ## Ambiente
188
+
189
+ Proteggi la configurazione sensibile dell'ambiente dalla lettura o dall'esposizione da parte degli agenti.
190
+
191
+ ### `block-env-files`
192
+
193
+ **Evento:** PreToolUse (Bash, Read)
194
+ **Default:** Nega la lettura di file `.env` tramite `cat .env`, chiamate dello strumento `Read` con `.env` come percorso del file, ecc.
195
+
196
+ Non blocca `.envrc` o altri file correlati all'ambiente - solo file denominati esattamente `.env`.
197
+
198
+ Nessun parametro.
199
+
200
+ ---
201
+
202
+ ### `protect-env-vars`
203
+
204
+ **Evento:** PreToolUse (Bash)
205
+ **Default:** Nega comandi che stampano variabili di ambiente: `printenv`, `env`, `echo $VAR`.
206
+
207
+ Nessun parametro.
208
+
209
+ ---
210
+
211
+ ## Accesso ai file
212
+
213
+ Mantieni gli agenti al lavoro entro i confini del progetto e lontani dai file sensibili.
214
+
215
+ ### `block-read-outside-cwd`
216
+
217
+ **Evento:** PreToolUse (Read, Bash)
218
+ **Default:** Nega la lettura di file al di fuori della directory di lavoro corrente (root del progetto).
219
+
220
+ **Parametri:**
221
+
222
+ | Param | Tipo | Default | Descrizione |
223
+ |-------|------|---------|-------------|
224
+ | `allowPaths` | `string[]` | `[]` | Prefissi di percorso assoluto consentiti anche se esterni a cwd. |
225
+
226
+ **Esempio:**
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
+ **Default:** Nega le scritture su file comunemente utilizzati per chiavi private e certificati: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
244
+
245
+ **Parametri:**
246
+
247
+ | Param | Tipo | Default | Descrizione |
248
+ |-------|------|---------|-------------|
249
+ | `additionalPatterns` | `string[]` | `[]` | Pattern di nome file aggiuntivi (stile glob) da bloccare. |
250
+
251
+ **Esempio:**
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
+ Previeni push accidentali, force-push e errori di branch difficili da annullare.
268
+
269
+ ### `block-push-master`
270
+
271
+ **Evento:** PreToolUse (Bash)
272
+ **Default:** Nega `git push origin main` e `git push origin master`.
273
+
274
+ **Parametri:**
275
+
276
+ | Param | Tipo | Default | Descrizione |
277
+ |-------|------|---------|-------------|
278
+ | `protectedBranches` | `string[]` | `["main", "master"]` | Nomi dei branch che non possono essere pushati direttamente. |
279
+
280
+ **Esempio:**
281
+
282
+ ```json
283
+ {
284
+ "policyParams": {
285
+ "block-push-master": {
286
+ "protectedBranches": ["main", "master", "release", "prod"]
287
+ }
288
+ }
289
+ }
290
+ ```
291
+
292
+ <Tip>
293
+ Per consentire il push su tutti i branch (disabilitando effettivamente questa politica senza rimuoverla da `enabledPolicies`), imposta `protectedBranches: []`.
294
+ </Tip>
295
+
296
+ ---
297
+
298
+ ### `block-work-on-main`
299
+
300
+ **Evento:** PreToolUse (Bash)
301
+ **Default:** Nega il checkout diretto dei branch `main` o `master`.
302
+
303
+ **Parametri:**
304
+
305
+ | Param | Tipo | Default | Descrizione |
306
+ |-------|------|---------|-------------|
307
+ | `protectedBranches` | `string[]` | `["main", "master"]` | Nomi dei branch che non possono essere sottoposti a checkout direttamente. |
308
+
309
+ ---
310
+
311
+ ### `block-force-push`
312
+
313
+ **Evento:** PreToolUse (Bash)
314
+ **Default:** Nega `git push --force` e `git push -f`.
315
+
316
+ Nessun parametro specifico della politica. Usa l'hint cross-cutting [`hint`](/it/configuration#hint-cross-cutting) per suggerire alternative:
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
+ **Default:** Istruisce Claude a procedere con cautela quando esegue `git commit --amend`. Non blocca il comando.
334
+
335
+ Nessun parametro.
336
+
337
+ ---
338
+
339
+ ### `warn-git-stash-drop`
340
+
341
+ **Evento:** PreToolUse (Bash)
342
+ **Default:** Istruisce Claude a confermare prima di eseguire `git stash drop`. Non blocca il comando.
343
+
344
+ Nessun parametro.
345
+
346
+ ---
347
+
348
+ ### `warn-all-files-staged`
349
+
350
+ **Evento:** PreToolUse (Bash)
351
+ **Default:** Istruisce Claude a esaminare ciò che sta preparando quando esegue `git add -A` o `git add .`. Non blocca il comando.
352
+
353
+ Nessun parametro.
354
+
355
+ ---
356
+
357
+ ## Database
358
+
359
+ Rileva le operazioni SQL distruttive prima che vengono eseguite nel tuo database.
360
+
361
+ ### `warn-destructive-sql`
362
+
363
+ **Evento:** PreToolUse (Bash)
364
+ **Default:** Istruisce Claude a confermare prima di eseguire SQL contenente `DROP TABLE`, `DROP DATABASE` o `DELETE` senza una clausola `WHERE`.
365
+
366
+ Nessun parametro.
367
+
368
+ ---
369
+
370
+ ### `warn-schema-alteration`
371
+
372
+ **Evento:** PreToolUse (Bash)
373
+ **Default:** Istruisce Claude a confermare prima di eseguire istruzioni `ALTER TABLE`.
374
+
375
+ Nessun parametro.
376
+
377
+ ---
378
+
379
+ ## Avvisi
380
+
381
+ Fornisci agli agenti contesto extra prima di operazioni potenzialmente rischiose ma non distruttive.
382
+
383
+ ### `warn-large-file-write`
384
+
385
+ **Evento:** PreToolUse (Write)
386
+ **Default:** Istruisce Claude a confermare prima di scrivere file più grandi di 1024 KB.
387
+
388
+ **Parametri:**
389
+
390
+ | Param | Tipo | Default | Descrizione |
391
+ |-------|------|---------|-------------|
392
+ | `thresholdKb` | `number` | `1024` | Soglia di dimensione del file in kilobyte al di sopra della quale viene emesso un avviso. |
393
+
394
+ **Esempio:**
395
+
396
+ ```json
397
+ {
398
+ "policyParams": {
399
+ "warn-large-file-write": {
400
+ "thresholdKb": 256
401
+ }
402
+ }
403
+ }
404
+ ```
405
+
406
+ <Note>
407
+ Il gestore dell'hook applica un limite stdin di 1 MB sui payload. Per testare questa politica con contenuto piccolo, imposta `thresholdKb` su un valore ben inferiore a 1024.
408
+ </Note>
409
+
410
+ ---
411
+
412
+ ### `warn-package-publish`
413
+
414
+ **Evento:** PreToolUse (Bash)
415
+ **Default:** Istruisce Claude a confermare prima di eseguire `npm publish`.
416
+
417
+ Nessun parametro.
418
+
419
+ ---
420
+
421
+ ### `warn-background-process`
422
+
423
+ **Evento:** PreToolUse (Bash)
424
+ **Default:** Istruisce Claude a prestare attenzione quando avvia processi in background tramite `nohup`, `&`, `disown` o `screen`.
425
+
426
+ Nessun parametro.
427
+
428
+ ---
429
+
430
+ ### `warn-global-package-install`
431
+
432
+ **Evento:** PreToolUse (Bash)
433
+ **Default:** Istruisce Claude a confermare prima di eseguire `npm install -g`, `yarn global add` o `pip install` senza un ambiente virtuale.
434
+
435
+ Nessun parametro.
436
+
437
+ ---
438
+
439
+ ## Comportamento AI
440
+
441
+ Rileva quando gli agenti si bloccano o si comportano in modo inaspettato.
442
+
443
+ ### `warn-repeated-tool-calls`
444
+
445
+ **Evento:** PreToolUse (tutti gli strumenti)
446
+ **Default:** Istruisce Claude a riconsiderare quando lo stesso strumento viene chiamato 3+ volte con parametri identici - un segno comune che l'agente è bloccato in un loop.
447
+
448
+ Nessun parametro.
449
+
450
+ ---
451
+
452
+ ## Workflow
453
+
454
+ Applica un disciplinato workflow di fine sessione. Queste politiche si attivano sull'evento **Stop** e negano a Claude di fermarsi fino a quando ogni condizione non è soddisfatta. Seguono una naturale catena di dipendenza: commit → push → PR → CI. Se una politica nega, le politiche successive nella catena vengono saltate (la negazione cortocircuita).
455
+
456
+ Tutte le politiche di workflow sono **fail-open**: se lo strumento richiesto non è disponibile (ad es. `gh` non installato, nessun git remote), la politica consente con un messaggio informativo che spiega perché il controllo è stato saltato.
457
+
458
+ ### `require-commit-before-stop`
459
+
460
+ **Evento:** Stop
461
+ **Default:** Nega l'arresto quando ci sono modifiche non salvate (file modificati, preparati o non tracciati). Restituisce un messaggio informativo quando la directory di lavoro è pulita.
462
+
463
+ Nessun parametro.
464
+
465
+ ---
466
+
467
+ ### `require-push-before-stop`
468
+
469
+ **Evento:** Stop
470
+ **Default:** Nega l'arresto quando ci sono commit non pushati o quando il branch corrente non ha alcun branch di tracciamento remoto. Suggerisce `git push -u` per creare un branch di tracciamento se necessario. Fallisce aperto se nessun remote è configurato.
471
+
472
+ **Parametri:**
473
+
474
+ | Param | Tipo | Default | Descrizione |
475
+ |-------|------|---------|-------------|
476
+ | `remote` | `string` | `"origin"` | Nome del remote su cui eseguire il push. |
477
+
478
+ **Esempio:**
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
+ **Default:** Nega l'arresto quando non esiste alcuna pull request per il branch corrente, o quando la PR esistente è chiusa/merged. Istruisce Claude a creare una PR con `gh pr create`.
496
+
497
+ Nessun parametro.
498
+
499
+ <Note>
500
+ Questa politica richiede l'installazione di [GitHub CLI](https://cli.github.com/) (`gh`) e l'autenticazione.
501
+ Esegui `gh auth login` con un personal access token che ha ambito `repo` per l'accesso in lettura alle
502
+ pull request. Se `gh` non è installato o non è autenticato, la politica fallisce aperta e comunica il motivo a Claude.
503
+ </Note>
504
+
505
+ ---
506
+
507
+ ### `require-ci-green-before-stop`
508
+
509
+ **Evento:** Stop
510
+ **Default:** Nega l'arresto quando i controlli CI stanno fallendo o sono ancora in esecuzione sul branch corrente. Controlla sia i workflow run GitHub Actions che i controlli bot di terze parti (ad es. CodeRabbit, SonarCloud, Codecov). Tratta le conclusioni `skipped` come successo. Restituisce un messaggio informativo quando tutti i controlli passano.
511
+
512
+ Nessun parametro.
513
+
514
+ <Note>
515
+ Questa politica richiede l'installazione di [GitHub CLI](https://cli.github.com/) (`gh`) e l'autenticazione.
516
+ Esegui `gh auth login` con un personal access token che ha ambito `repo` per l'accesso in lettura ai
517
+ workflow run di Actions e all'API Checks. Se `gh` non è installato o non è autenticato, la politica fallisce aperta e comunica il motivo a Claude.
518
+ </Note>
519
+
520
+ ---
521
+
522
+ ---
523
+
524
+ ## Disabilitazione di politiche individuali
525
+
526
+ Rimuovi una politica specifica da `enabledPolicies` nella tua configurazione, o disattivala nella scheda Politiche del dashboard.
527
+
528
+ ```json
529
+ {
530
+ "enabledPolicies": [
531
+ "block-rm-rf",
532
+ "sanitize-api-keys"
533
+ ]
534
+ }
535
+ ```
536
+
537
+ Le politiche non elencate in `enabledPolicies` non vengono eseguite, anche se esistono voci `policyParams` per esse.
@@ -0,0 +1,28 @@
1
+ ---
2
+ title: Visualizza sessioni
3
+ description: "Avvia il dashboard per sfogliare le sessioni dell'agente e gestire le policy"
4
+ ---
5
+
6
+ ```bash
7
+ failproofai
8
+ ```
9
+
10
+ Avvia il dashboard web su `http://localhost:8020`.
11
+
12
+ ## Opzioni
13
+
14
+ | Flag | Descrizione |
15
+ |------|-------------|
16
+ | `--port <number>` | Porta su cui ascoltare (predefinita: `8020`) |
17
+ | `--projects-path <path>` | Sovrascrive il percorso dove si trovano le cartelle dei progetti Claude Code |
18
+ | `--allowed-origins <origins>` | Host/IP separati da virgola autorizzati ad accedere alle risorse di sviluppo |
19
+
20
+ ## Esempi
21
+
22
+ ```bash
23
+ # Avvia su una porta diversa
24
+ failproofai --port 9000
25
+
26
+ # Usa un percorso di progetti personalizzato
27
+ failproofai --projects-path ~/my-claude-projects
28
+ ```
@@ -0,0 +1,34 @@
1
+ ---
2
+ title: Variabili d'ambiente
3
+ description: "Configura il comportamento di failproofai con variabili d'ambiente"
4
+ ---
5
+
6
+ ## Dashboard
7
+
8
+ | Variabile | Descrizione |
9
+ |----------|-------------|
10
+ | `PORT` | Porta del dashboard (predefinito: `8020`) |
11
+ | `CLAUDE_PROJECTS_PATH` | Sovrascrivere la posizione dove si trovano le cartelle dei progetti di Claude Code |
12
+ | `FAILPROOFAI_DISABLE_PAGES=policies,projects` | Pagine del dashboard separate da virgole da nascondere |
13
+ | `FAILPROOFAI_ALLOWED_DEV_ORIGINS` | Host/IP autorizzati ad accedere alle risorse di sviluppo. Stesso di `--allowed-origins`. |
14
+
15
+ ## Logging
16
+
17
+ | Variabile | Descrizione |
18
+ |----------|-------------|
19
+ | `FAILPROOFAI_LOG_LEVEL=info\|warn\|error` | Livello di log del server (predefinito: `warn`) |
20
+ | `FAILPROOFAI_HOOK_LOG_FILE` | Percorso file di log personalizzato, o `true` per il predefinito (`~/.failproofai/logs/hooks.log`) |
21
+
22
+ ## Telemetria
23
+
24
+ | Variabile | Descrizione |
25
+ |----------|-------------|
26
+ | `FAILPROOFAI_TELEMETRY_DISABLED=1` | Disabilita la telemetria anonima di utilizzo |
27
+
28
+ ## LLM (per la valutazione delle policy)
29
+
30
+ | Variabile | Descrizione |
31
+ |----------|-------------|
32
+ | `FAILPROOFAI_LLM_BASE_URL` | Endpoint API LLM (predefinito: `https://api.openai.com/v1`) |
33
+ | `FAILPROOFAI_LLM_API_KEY` | Chiave API per le policy basate su LLM |
34
+ | `FAILPROOFAI_LLM_MODEL` | Nome del modello (predefinito: `gpt-4o-mini`) |
@@ -0,0 +1,30 @@
1
+ ---
2
+ title: Hook handler (interno)
3
+ description: "Il subprocess che Claude Code chiama a ogni evento di tool"
4
+ ---
5
+
6
+ ```bash
7
+ failproofai --hook <EventType>
8
+ ```
9
+
10
+ Questo è il comando registrato nel `settings.json` di Claude Code da `failproofai policies --install`. Normalmente non lo chiami direttamente.
11
+
12
+ Legge un payload JSON da stdin, valuta tutte le policy abilitate e esce con un codice che indica la decisione:
13
+
14
+ | Codice di uscita | Decisione | Effetto |
15
+ |-----------|----------|--------|
16
+ | `0` | `allow` | Consenti l'azione |
17
+ | `1` | `deny` | Blocca l'azione - Claude vede il motivo del rifiuto |
18
+ | `2` | `instruct` | Inserisci istruzioni nel contesto di Claude |
19
+
20
+ ### Tipi di evento supportati
21
+
22
+ | Categoria | Eventi |
23
+ |----------|--------|
24
+ | **Esecuzione tool** | `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` |
25
+ | **Ciclo di vita della sessione** | `SessionStart`, `SessionEnd`, `Stop`, `StopFailure` |
26
+ | **Interazione utente** | `UserPromptSubmit`, `Notification`, `Elicitation`, `ElicitationResult` |
27
+ | **Subagent e task** | `SubagentStart`, `SubagentStop`, `TaskCreated`, `TaskCompleted`, `TeammateIdle` |
28
+ | **Configurazione** | `InstructionsLoaded`, `ConfigChange`, `CwdChanged` |
29
+ | **File system** | `FileChanged`, `WorktreeCreate`, `WorktreeRemove` |
30
+ | **Contesto** | `PreCompact`, `PostCompact` |
@@ -0,0 +1,47 @@
1
+ ---
2
+ title: Installa policies
3
+ description: "Abilita le policies in modo che vengano eseguite ad ogni chiamata di tool dell'agent"
4
+ ---
5
+
6
+ ```bash
7
+ failproofai policies --install [policy-names...] [options]
8
+ ```
9
+
10
+ Scrive voci di hook nel file `settings.json` di Claude Code in modo che failproofai intercetti le chiamate ai tool.
11
+
12
+ Alias: `failproofai p -i`
13
+
14
+ ## Opzioni
15
+
16
+ | Flag | Descrizione |
17
+ |------|-------------|
18
+ | `--scope user` | Installa in `~/.claude/settings.json` (predefinito - tutte le sessioni) |
19
+ | `--scope project` | Installa in `.claude/settings.json` nella directory corrente |
20
+ | `--scope local` | Installa in `.claude/settings.local.json` nella directory corrente |
21
+ | `--custom <path>` / `-c` | Percorso di un file JS contenente custom hook policies |
22
+
23
+ ## Comportamento
24
+
25
+ - **Nessun nome di policy** - apre un prompt interattivo per selezionare le policies
26
+ - **Nomi specifici** - abilita quelle policies (aggiunte a quelle già abilitate)
27
+ - **`all`** - abilita tutte le policies disponibili
28
+
29
+ L'installazione è additiva: eseguire `--install` di nuovo aggiunge nuove policies senza rimuovere quelle esistenti.
30
+
31
+ ## Esempi
32
+
33
+ ```bash
34
+ # Installa tutte le policies predefinite globalmente (interattivo)
35
+ failproofai policies --install
36
+
37
+ # Installa policies specifiche per il progetto corrente
38
+ failproofai policies --install block-sudo sanitize-api-keys --scope project
39
+
40
+ # Abilita tutte le policies contemporaneamente
41
+ failproofai policies --install all
42
+
43
+ # Installa con un file di custom policies
44
+ failproofai policies --install --custom ./my-policies.js
45
+ ```
46
+
47
+ Quando `--custom <path>` viene fornito, il file viene convalidato immediatamente - deve chiamare `customPolicies.add()` almeno una volta. Il percorso risolto viene salvato in `policies-config.json` come `customPoliciesPath`.