failproofai 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (483) hide show
  1. package/.next/standalone/.claude/settings.json +316 -0
  2. package/.next/standalone/.failproofai/policies/workflow-policies.mjs +62 -0
  3. package/.next/standalone/.failproofai/policies-config.json +39 -0
  4. package/.next/standalone/.next/BUILD_ID +1 -1
  5. package/.next/standalone/.next/build-manifest.json +5 -5
  6. package/.next/standalone/.next/prerender-manifest.json +3 -3
  7. package/.next/standalone/.next/required-server-files.json +3 -1
  8. package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
  9. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  10. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  11. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  14. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  15. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  16. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  17. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  18. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
  20. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  21. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  24. package/.next/standalone/.next/server/app/_not-found.rsc +17 -17
  25. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +17 -17
  26. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  27. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
  28. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  29. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  30. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  31. package/.next/standalone/.next/server/app/index.html +1 -1
  32. package/.next/standalone/.next/server/app/index.rsc +16 -16
  33. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  34. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +16 -16
  35. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  36. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +11 -11
  37. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  38. package/.next/standalone/.next/server/app/page/build-manifest.json +2 -2
  39. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  40. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/policies/page/build-manifest.json +2 -2
  43. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  44. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/project/[name]/page/build-manifest.json +2 -2
  47. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  48. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/build-manifest.json +2 -2
  51. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  52. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  53. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/projects/page/build-manifest.json +2 -2
  56. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  57. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  58. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +3 -0
  60. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kjo7d_._.js +1 -1
  61. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_05pz9._._.js +1 -1
  62. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
  63. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__12kr5~_._.js → [root-of-the-server]__03kiqd5._.js} +2 -2
  64. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
  65. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
  66. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0qo8503._.js → [root-of-the-server]__0bo8s~-._.js} +2 -2
  67. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
  68. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
  69. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
  70. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +9 -9
  71. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
  72. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
  73. package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
  74. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
  75. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
  76. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0a_7sdg.js +2 -2
  77. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ef3uwk.js +2 -2
  78. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0j79~gv.js +2 -2
  79. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pbja1x.js +2 -2
  80. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0r6o0i2.js +2 -2
  81. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_11y81~_.js +2 -2
  82. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_12or2kf.js +2 -2
  83. package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.js +1 -1
  84. package/.next/standalone/.next/server/middleware-build-manifest.js +5 -5
  85. package/.next/standalone/.next/server/pages/404.html +2 -2
  86. package/.next/standalone/.next/server/pages/500.html +1 -1
  87. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
  89. package/.next/standalone/.next/static/chunks/{0x-625~1vx1lu.js → 02t9.s735hqyq.js} +1 -1
  90. package/.next/standalone/.next/static/chunks/{0ov60i6md~37t.js → 03oepxbqx6o8~.js} +2 -2
  91. package/.next/standalone/.next/static/chunks/{031pa5~qfzt~_.js → 09e7drilkf1sn.js} +1 -1
  92. package/.next/standalone/.next/static/chunks/{0y~0creqvl5wx.js → 0cwft44dh9bww.js} +1 -1
  93. package/.next/standalone/.next/static/chunks/{06og.7e9nkpjh.js → 0e2uz2g026ckb.js} +1 -1
  94. package/.next/standalone/.next/static/chunks/0gu_a.a80ritd.css +1 -0
  95. package/.next/standalone/.next/static/chunks/{15wf7x-e.8ia3.js → 0h5kbvg~.xf.v.js} +1 -1
  96. package/.next/standalone/.next/static/chunks/{0_4y_t03jn2nq.js → 0od..umlku4bb.js} +1 -1
  97. package/.next/standalone/.next/static/chunks/{0cvffh-pbsv5u.js → 0xbwzy4dl87-0.js} +1 -1
  98. package/.next/standalone/.next/static/chunks/{0c_ljlxa._4lc.js → 18cl6wups7ouq.js} +2 -2
  99. package/.next/standalone/.next/static/chunks/{turbopack-0uc5y~g6h.n7-.js → turbopack-0r26pc8h0y_-e.js} +1 -1
  100. package/.next/standalone/CHANGELOG.md +103 -0
  101. package/.next/standalone/CLAUDE.md +28 -0
  102. package/.next/standalone/Dockerfile.docs +12 -0
  103. package/.next/standalone/README.md +95 -49
  104. package/.next/standalone/app/components/session-hooks-panel.tsx +14 -1
  105. package/.next/standalone/app/policies/hooks-client.tsx +14 -1
  106. package/.next/standalone/bin/failproofai.mjs +5 -0
  107. package/.next/standalone/bun.lock +76 -63
  108. package/.next/standalone/components/navbar.tsx +5 -0
  109. package/.next/standalone/dist/cli.mjs +539 -90
  110. package/.next/standalone/dist/index.js +2 -2
  111. package/.next/standalone/docs/ar/architecture.mdx +333 -0
  112. package/.next/standalone/docs/ar/built-in-policies.mdx +566 -0
  113. package/.next/standalone/docs/ar/cli/dashboard.mdx +28 -0
  114. package/.next/standalone/docs/ar/cli/environment-variables.mdx +34 -0
  115. package/.next/standalone/docs/ar/cli/hook.mdx +31 -0
  116. package/.next/standalone/docs/ar/cli/install-policies.mdx +49 -0
  117. package/.next/standalone/docs/ar/cli/list-policies.mdx +31 -0
  118. package/.next/standalone/docs/ar/cli/remove-policies.mdx +45 -0
  119. package/.next/standalone/docs/ar/cli/version.mdx +13 -0
  120. package/.next/standalone/docs/ar/configuration.mdx +223 -0
  121. package/.next/standalone/docs/ar/custom-policies.mdx +359 -0
  122. package/.next/standalone/docs/ar/dashboard.mdx +142 -0
  123. package/.next/standalone/docs/ar/examples.mdx +254 -0
  124. package/.next/standalone/docs/ar/for-agents.mdx +39 -0
  125. package/.next/standalone/docs/ar/getting-started.mdx +134 -0
  126. package/.next/standalone/docs/ar/introduction.mdx +58 -0
  127. package/.next/standalone/docs/ar/package-aliases.mdx +82 -0
  128. package/.next/standalone/docs/ar/testing.mdx +261 -0
  129. package/.next/standalone/docs/{architecture.md → architecture.mdx} +40 -23
  130. package/.next/standalone/docs/{built-in-policies.md → built-in-policies.mdx} +151 -13
  131. package/.next/standalone/docs/cli/dashboard.mdx +28 -0
  132. package/.next/standalone/docs/cli/environment-variables.mdx +34 -0
  133. package/.next/standalone/docs/cli/hook.mdx +30 -0
  134. package/.next/standalone/docs/cli/install-policies.mdx +48 -0
  135. package/.next/standalone/docs/cli/list-policies.mdx +31 -0
  136. package/.next/standalone/docs/cli/remove-policies.mdx +44 -0
  137. package/.next/standalone/docs/cli/version.mdx +12 -0
  138. package/.next/standalone/docs/{configuration.md → configuration.mdx} +62 -16
  139. package/.next/standalone/docs/custom-policies.mdx +357 -0
  140. package/.next/standalone/docs/{dashboard.md → dashboard.mdx} +26 -29
  141. package/.next/standalone/docs/de/architecture.mdx +332 -0
  142. package/.next/standalone/docs/de/built-in-policies.mdx +564 -0
  143. package/.next/standalone/docs/de/cli/dashboard.mdx +28 -0
  144. package/.next/standalone/docs/de/cli/environment-variables.mdx +34 -0
  145. package/.next/standalone/docs/de/cli/hook.mdx +30 -0
  146. package/.next/standalone/docs/de/cli/install-policies.mdx +48 -0
  147. package/.next/standalone/docs/de/cli/list-policies.mdx +31 -0
  148. package/.next/standalone/docs/de/cli/remove-policies.mdx +44 -0
  149. package/.next/standalone/docs/de/cli/version.mdx +12 -0
  150. package/.next/standalone/docs/de/configuration.mdx +222 -0
  151. package/.next/standalone/docs/de/custom-policies.mdx +357 -0
  152. package/.next/standalone/docs/de/dashboard.mdx +142 -0
  153. package/.next/standalone/docs/de/examples.mdx +253 -0
  154. package/.next/standalone/docs/de/for-agents.mdx +38 -0
  155. package/.next/standalone/docs/de/getting-started.mdx +134 -0
  156. package/.next/standalone/docs/de/introduction.mdx +57 -0
  157. package/.next/standalone/docs/de/package-aliases.mdx +82 -0
  158. package/.next/standalone/docs/de/testing.mdx +260 -0
  159. package/.next/standalone/docs/docs.json +938 -24
  160. package/.next/standalone/docs/es/architecture.mdx +332 -0
  161. package/.next/standalone/docs/es/built-in-policies.mdx +564 -0
  162. package/.next/standalone/docs/es/cli/dashboard.mdx +28 -0
  163. package/.next/standalone/docs/es/cli/environment-variables.mdx +34 -0
  164. package/.next/standalone/docs/es/cli/hook.mdx +30 -0
  165. package/.next/standalone/docs/es/cli/install-policies.mdx +48 -0
  166. package/.next/standalone/docs/es/cli/list-policies.mdx +31 -0
  167. package/.next/standalone/docs/es/cli/remove-policies.mdx +44 -0
  168. package/.next/standalone/docs/es/cli/version.mdx +12 -0
  169. package/.next/standalone/docs/es/configuration.mdx +222 -0
  170. package/.next/standalone/docs/es/custom-policies.mdx +357 -0
  171. package/.next/standalone/docs/es/dashboard.mdx +142 -0
  172. package/.next/standalone/docs/es/examples.mdx +253 -0
  173. package/.next/standalone/docs/es/for-agents.mdx +38 -0
  174. package/.next/standalone/docs/es/getting-started.mdx +134 -0
  175. package/.next/standalone/docs/es/introduction.mdx +57 -0
  176. package/.next/standalone/docs/es/package-aliases.mdx +82 -0
  177. package/.next/standalone/docs/es/testing.mdx +260 -0
  178. package/.next/standalone/docs/examples.mdx +253 -0
  179. package/.next/standalone/docs/for-agents.mdx +38 -0
  180. package/.next/standalone/docs/fr/architecture.mdx +332 -0
  181. package/.next/standalone/docs/fr/built-in-policies.mdx +564 -0
  182. package/.next/standalone/docs/fr/cli/dashboard.mdx +28 -0
  183. package/.next/standalone/docs/fr/cli/environment-variables.mdx +34 -0
  184. package/.next/standalone/docs/fr/cli/hook.mdx +30 -0
  185. package/.next/standalone/docs/fr/cli/install-policies.mdx +48 -0
  186. package/.next/standalone/docs/fr/cli/list-policies.mdx +31 -0
  187. package/.next/standalone/docs/fr/cli/remove-policies.mdx +44 -0
  188. package/.next/standalone/docs/fr/cli/version.mdx +12 -0
  189. package/.next/standalone/docs/fr/configuration.mdx +222 -0
  190. package/.next/standalone/docs/fr/custom-policies.mdx +357 -0
  191. package/.next/standalone/docs/fr/dashboard.mdx +142 -0
  192. package/.next/standalone/docs/fr/examples.mdx +253 -0
  193. package/.next/standalone/docs/fr/for-agents.mdx +38 -0
  194. package/.next/standalone/docs/fr/getting-started.mdx +134 -0
  195. package/.next/standalone/docs/fr/introduction.mdx +57 -0
  196. package/.next/standalone/docs/fr/package-aliases.mdx +82 -0
  197. package/.next/standalone/docs/fr/testing.mdx +260 -0
  198. package/.next/standalone/docs/getting-started.mdx +134 -0
  199. package/.next/standalone/docs/he/architecture.mdx +333 -0
  200. package/.next/standalone/docs/he/built-in-policies.mdx +564 -0
  201. package/.next/standalone/docs/he/cli/dashboard.mdx +28 -0
  202. package/.next/standalone/docs/he/cli/environment-variables.mdx +34 -0
  203. package/.next/standalone/docs/he/cli/hook.mdx +30 -0
  204. package/.next/standalone/docs/he/cli/install-policies.mdx +48 -0
  205. package/.next/standalone/docs/he/cli/list-policies.mdx +32 -0
  206. package/.next/standalone/docs/he/cli/remove-policies.mdx +44 -0
  207. package/.next/standalone/docs/he/cli/version.mdx +12 -0
  208. package/.next/standalone/docs/he/configuration.mdx +222 -0
  209. package/.next/standalone/docs/he/custom-policies.mdx +357 -0
  210. package/.next/standalone/docs/he/dashboard.mdx +142 -0
  211. package/.next/standalone/docs/he/examples.mdx +253 -0
  212. package/.next/standalone/docs/he/for-agents.mdx +38 -0
  213. package/.next/standalone/docs/he/getting-started.mdx +135 -0
  214. package/.next/standalone/docs/he/introduction.mdx +57 -0
  215. package/.next/standalone/docs/he/package-aliases.mdx +82 -0
  216. package/.next/standalone/docs/he/testing.mdx +260 -0
  217. package/.next/standalone/docs/hi/architecture.mdx +334 -0
  218. package/.next/standalone/docs/hi/built-in-policies.mdx +564 -0
  219. package/.next/standalone/docs/hi/cli/dashboard.mdx +28 -0
  220. package/.next/standalone/docs/hi/cli/environment-variables.mdx +34 -0
  221. package/.next/standalone/docs/hi/cli/hook.mdx +30 -0
  222. package/.next/standalone/docs/hi/cli/install-policies.mdx +48 -0
  223. package/.next/standalone/docs/hi/cli/list-policies.mdx +31 -0
  224. package/.next/standalone/docs/hi/cli/remove-policies.mdx +44 -0
  225. package/.next/standalone/docs/hi/cli/version.mdx +12 -0
  226. package/.next/standalone/docs/hi/configuration.mdx +222 -0
  227. package/.next/standalone/docs/hi/custom-policies.mdx +357 -0
  228. package/.next/standalone/docs/hi/dashboard.mdx +142 -0
  229. package/.next/standalone/docs/hi/examples.mdx +255 -0
  230. package/.next/standalone/docs/hi/for-agents.mdx +38 -0
  231. package/.next/standalone/docs/hi/getting-started.mdx +134 -0
  232. package/.next/standalone/docs/hi/introduction.mdx +57 -0
  233. package/.next/standalone/docs/hi/package-aliases.mdx +82 -0
  234. package/.next/standalone/docs/hi/testing.mdx +260 -0
  235. package/.next/standalone/docs/i18n/README.ar.md +312 -0
  236. package/.next/standalone/docs/i18n/README.de.md +307 -0
  237. package/.next/standalone/docs/i18n/README.es.md +307 -0
  238. package/.next/standalone/docs/i18n/README.fr.md +307 -0
  239. package/.next/standalone/docs/i18n/README.he.md +312 -0
  240. package/.next/standalone/docs/i18n/README.hi.md +307 -0
  241. package/.next/standalone/docs/i18n/README.it.md +307 -0
  242. package/.next/standalone/docs/i18n/README.ja.md +307 -0
  243. package/.next/standalone/docs/i18n/README.ko.md +307 -0
  244. package/.next/standalone/docs/i18n/README.pt-br.md +307 -0
  245. package/.next/standalone/docs/i18n/README.ru.md +308 -0
  246. package/.next/standalone/docs/i18n/README.tr.md +308 -0
  247. package/.next/standalone/docs/i18n/README.vi.md +308 -0
  248. package/.next/standalone/docs/i18n/README.zh.md +307 -0
  249. package/.next/standalone/docs/introduction.mdx +57 -0
  250. package/.next/standalone/docs/it/architecture.mdx +333 -0
  251. package/.next/standalone/docs/it/built-in-policies.mdx +564 -0
  252. package/.next/standalone/docs/it/cli/dashboard.mdx +28 -0
  253. package/.next/standalone/docs/it/cli/environment-variables.mdx +34 -0
  254. package/.next/standalone/docs/it/cli/hook.mdx +30 -0
  255. package/.next/standalone/docs/it/cli/install-policies.mdx +48 -0
  256. package/.next/standalone/docs/it/cli/list-policies.mdx +31 -0
  257. package/.next/standalone/docs/it/cli/remove-policies.mdx +44 -0
  258. package/.next/standalone/docs/it/cli/version.mdx +12 -0
  259. package/.next/standalone/docs/it/configuration.mdx +223 -0
  260. package/.next/standalone/docs/it/custom-policies.mdx +358 -0
  261. package/.next/standalone/docs/it/dashboard.mdx +142 -0
  262. package/.next/standalone/docs/it/examples.mdx +253 -0
  263. package/.next/standalone/docs/it/for-agents.mdx +38 -0
  264. package/.next/standalone/docs/it/getting-started.mdx +134 -0
  265. package/.next/standalone/docs/it/introduction.mdx +57 -0
  266. package/.next/standalone/docs/it/package-aliases.mdx +82 -0
  267. package/.next/standalone/docs/it/testing.mdx +260 -0
  268. package/.next/standalone/docs/ja/architecture.mdx +332 -0
  269. package/.next/standalone/docs/ja/built-in-policies.mdx +562 -0
  270. package/.next/standalone/docs/ja/cli/dashboard.mdx +28 -0
  271. package/.next/standalone/docs/ja/cli/environment-variables.mdx +34 -0
  272. package/.next/standalone/docs/ja/cli/hook.mdx +30 -0
  273. package/.next/standalone/docs/ja/cli/install-policies.mdx +48 -0
  274. package/.next/standalone/docs/ja/cli/list-policies.mdx +31 -0
  275. package/.next/standalone/docs/ja/cli/remove-policies.mdx +44 -0
  276. package/.next/standalone/docs/ja/cli/version.mdx +12 -0
  277. package/.next/standalone/docs/ja/configuration.mdx +222 -0
  278. package/.next/standalone/docs/ja/custom-policies.mdx +357 -0
  279. package/.next/standalone/docs/ja/dashboard.mdx +142 -0
  280. package/.next/standalone/docs/ja/examples.mdx +253 -0
  281. package/.next/standalone/docs/ja/for-agents.mdx +38 -0
  282. package/.next/standalone/docs/ja/getting-started.mdx +134 -0
  283. package/.next/standalone/docs/ja/introduction.mdx +57 -0
  284. package/.next/standalone/docs/ja/package-aliases.mdx +82 -0
  285. package/.next/standalone/docs/ja/testing.mdx +260 -0
  286. package/.next/standalone/docs/ko/architecture.mdx +332 -0
  287. package/.next/standalone/docs/ko/built-in-policies.mdx +562 -0
  288. package/.next/standalone/docs/ko/cli/dashboard.mdx +28 -0
  289. package/.next/standalone/docs/ko/cli/environment-variables.mdx +34 -0
  290. package/.next/standalone/docs/ko/cli/hook.mdx +30 -0
  291. package/.next/standalone/docs/ko/cli/install-policies.mdx +48 -0
  292. package/.next/standalone/docs/ko/cli/list-policies.mdx +31 -0
  293. package/.next/standalone/docs/ko/cli/remove-policies.mdx +44 -0
  294. package/.next/standalone/docs/ko/cli/version.mdx +12 -0
  295. package/.next/standalone/docs/ko/configuration.mdx +222 -0
  296. package/.next/standalone/docs/ko/custom-policies.mdx +357 -0
  297. package/.next/standalone/docs/ko/dashboard.mdx +142 -0
  298. package/.next/standalone/docs/ko/examples.mdx +253 -0
  299. package/.next/standalone/docs/ko/for-agents.mdx +38 -0
  300. package/.next/standalone/docs/ko/getting-started.mdx +134 -0
  301. package/.next/standalone/docs/ko/introduction.mdx +57 -0
  302. package/.next/standalone/docs/ko/package-aliases.mdx +82 -0
  303. package/.next/standalone/docs/ko/testing.mdx +260 -0
  304. package/.next/standalone/docs/logo/dark.svg +21 -0
  305. package/.next/standalone/docs/logo/light.svg +21 -0
  306. package/.next/standalone/docs/{package-aliases.md → package-aliases.mdx} +5 -5
  307. package/.next/standalone/docs/pt-br/architecture.mdx +332 -0
  308. package/.next/standalone/docs/pt-br/built-in-policies.mdx +564 -0
  309. package/.next/standalone/docs/pt-br/cli/dashboard.mdx +28 -0
  310. package/.next/standalone/docs/pt-br/cli/environment-variables.mdx +34 -0
  311. package/.next/standalone/docs/pt-br/cli/hook.mdx +30 -0
  312. package/.next/standalone/docs/pt-br/cli/install-policies.mdx +48 -0
  313. package/.next/standalone/docs/pt-br/cli/list-policies.mdx +31 -0
  314. package/.next/standalone/docs/pt-br/cli/remove-policies.mdx +44 -0
  315. package/.next/standalone/docs/pt-br/cli/version.mdx +12 -0
  316. package/.next/standalone/docs/pt-br/configuration.mdx +222 -0
  317. package/.next/standalone/docs/pt-br/custom-policies.mdx +357 -0
  318. package/.next/standalone/docs/pt-br/dashboard.mdx +142 -0
  319. package/.next/standalone/docs/pt-br/examples.mdx +253 -0
  320. package/.next/standalone/docs/pt-br/for-agents.mdx +38 -0
  321. package/.next/standalone/docs/pt-br/getting-started.mdx +134 -0
  322. package/.next/standalone/docs/pt-br/introduction.mdx +57 -0
  323. package/.next/standalone/docs/pt-br/package-aliases.mdx +82 -0
  324. package/.next/standalone/docs/pt-br/testing.mdx +260 -0
  325. package/.next/standalone/docs/ru/architecture.mdx +334 -0
  326. package/.next/standalone/docs/ru/built-in-policies.mdx +562 -0
  327. package/.next/standalone/docs/ru/cli/dashboard.mdx +28 -0
  328. package/.next/standalone/docs/ru/cli/environment-variables.mdx +34 -0
  329. package/.next/standalone/docs/ru/cli/hook.mdx +30 -0
  330. package/.next/standalone/docs/ru/cli/install-policies.mdx +48 -0
  331. package/.next/standalone/docs/ru/cli/list-policies.mdx +32 -0
  332. package/.next/standalone/docs/ru/cli/remove-policies.mdx +44 -0
  333. package/.next/standalone/docs/ru/cli/version.mdx +12 -0
  334. package/.next/standalone/docs/ru/configuration.mdx +223 -0
  335. package/.next/standalone/docs/ru/custom-policies.mdx +357 -0
  336. package/.next/standalone/docs/ru/dashboard.mdx +142 -0
  337. package/.next/standalone/docs/ru/examples.mdx +254 -0
  338. package/.next/standalone/docs/ru/for-agents.mdx +38 -0
  339. package/.next/standalone/docs/ru/getting-started.mdx +134 -0
  340. package/.next/standalone/docs/ru/introduction.mdx +57 -0
  341. package/.next/standalone/docs/ru/package-aliases.mdx +82 -0
  342. package/.next/standalone/docs/ru/testing.mdx +260 -0
  343. package/.next/standalone/docs/{testing.md → testing.mdx} +11 -11
  344. package/.next/standalone/docs/tr/architecture.mdx +333 -0
  345. package/.next/standalone/docs/tr/built-in-policies.mdx +562 -0
  346. package/.next/standalone/docs/tr/cli/dashboard.mdx +28 -0
  347. package/.next/standalone/docs/tr/cli/environment-variables.mdx +34 -0
  348. package/.next/standalone/docs/tr/cli/hook.mdx +30 -0
  349. package/.next/standalone/docs/tr/cli/install-policies.mdx +48 -0
  350. package/.next/standalone/docs/tr/cli/list-policies.mdx +31 -0
  351. package/.next/standalone/docs/tr/cli/remove-policies.mdx +45 -0
  352. package/.next/standalone/docs/tr/cli/version.mdx +12 -0
  353. package/.next/standalone/docs/tr/configuration.mdx +223 -0
  354. package/.next/standalone/docs/tr/custom-policies.mdx +357 -0
  355. package/.next/standalone/docs/tr/dashboard.mdx +142 -0
  356. package/.next/standalone/docs/tr/examples.mdx +253 -0
  357. package/.next/standalone/docs/tr/for-agents.mdx +38 -0
  358. package/.next/standalone/docs/tr/getting-started.mdx +134 -0
  359. package/.next/standalone/docs/tr/introduction.mdx +57 -0
  360. package/.next/standalone/docs/tr/package-aliases.mdx +82 -0
  361. package/.next/standalone/docs/tr/testing.mdx +260 -0
  362. package/.next/standalone/docs/vi/architecture.mdx +333 -0
  363. package/.next/standalone/docs/vi/built-in-policies.mdx +564 -0
  364. package/.next/standalone/docs/vi/cli/dashboard.mdx +28 -0
  365. package/.next/standalone/docs/vi/cli/environment-variables.mdx +34 -0
  366. package/.next/standalone/docs/vi/cli/hook.mdx +30 -0
  367. package/.next/standalone/docs/vi/cli/install-policies.mdx +48 -0
  368. package/.next/standalone/docs/vi/cli/list-policies.mdx +31 -0
  369. package/.next/standalone/docs/vi/cli/remove-policies.mdx +44 -0
  370. package/.next/standalone/docs/vi/cli/version.mdx +13 -0
  371. package/.next/standalone/docs/vi/configuration.mdx +222 -0
  372. package/.next/standalone/docs/vi/custom-policies.mdx +357 -0
  373. package/.next/standalone/docs/vi/dashboard.mdx +142 -0
  374. package/.next/standalone/docs/vi/examples.mdx +253 -0
  375. package/.next/standalone/docs/vi/for-agents.mdx +38 -0
  376. package/.next/standalone/docs/vi/getting-started.mdx +134 -0
  377. package/.next/standalone/docs/vi/introduction.mdx +57 -0
  378. package/.next/standalone/docs/vi/package-aliases.mdx +82 -0
  379. package/.next/standalone/docs/vi/testing.mdx +260 -0
  380. package/.next/standalone/docs/zh/architecture.mdx +332 -0
  381. package/.next/standalone/docs/zh/built-in-policies.mdx +562 -0
  382. package/.next/standalone/docs/zh/cli/dashboard.mdx +28 -0
  383. package/.next/standalone/docs/zh/cli/environment-variables.mdx +34 -0
  384. package/.next/standalone/docs/zh/cli/hook.mdx +30 -0
  385. package/.next/standalone/docs/zh/cli/install-policies.mdx +48 -0
  386. package/.next/standalone/docs/zh/cli/list-policies.mdx +31 -0
  387. package/.next/standalone/docs/zh/cli/remove-policies.mdx +44 -0
  388. package/.next/standalone/docs/zh/cli/version.mdx +12 -0
  389. package/.next/standalone/docs/zh/configuration.mdx +222 -0
  390. package/.next/standalone/docs/zh/custom-policies.mdx +357 -0
  391. package/.next/standalone/docs/zh/dashboard.mdx +142 -0
  392. package/.next/standalone/docs/zh/examples.mdx +253 -0
  393. package/.next/standalone/docs/zh/for-agents.mdx +38 -0
  394. package/.next/standalone/docs/zh/getting-started.mdx +134 -0
  395. package/.next/standalone/docs/zh/introduction.mdx +57 -0
  396. package/.next/standalone/docs/zh/package-aliases.mdx +82 -0
  397. package/.next/standalone/docs/zh/testing.mdx +260 -0
  398. package/.next/standalone/examples/convention-policies/security-policies.mjs +40 -0
  399. package/.next/standalone/examples/convention-policies/workflow-policies.mjs +41 -0
  400. package/.next/standalone/next.config.ts +5 -3
  401. package/.next/standalone/node_modules/@next/env/package.json +1 -1
  402. package/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
  403. package/.next/standalone/node_modules/next/dist/compiled/jsonwebtoken/index.js +2 -2
  404. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +1 -1
  405. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +1 -1
  406. package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +1 -1
  407. package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  408. package/.next/standalone/node_modules/next/dist/server/config.js +1 -1
  409. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +7 -2
  410. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  411. package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  412. package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
  413. package/.next/standalone/node_modules/next/dist/server/render.js +20 -19
  414. package/.next/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
  415. package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  416. package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  417. package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  418. package/.next/standalone/node_modules/next/package.json +15 -15
  419. package/.next/standalone/node_modules/react/cjs/react.development.js +1 -1
  420. package/.next/standalone/node_modules/react/cjs/react.production.js +1 -1
  421. package/.next/standalone/node_modules/react/package.json +1 -1
  422. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +1 -1
  423. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +1 -1
  424. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.browser.production.js +3 -3
  425. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.edge.production.js +3 -3
  426. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.node.production.js +3 -3
  427. package/.next/standalone/node_modules/react-dom/cjs/react-dom.production.js +1 -1
  428. package/.next/standalone/node_modules/react-dom/package.json +2 -2
  429. package/.next/standalone/package.json +13 -10
  430. package/.next/standalone/scripts/translate-docs/cache.ts +62 -0
  431. package/.next/standalone/scripts/translate-docs/cli.ts +357 -0
  432. package/.next/standalone/scripts/translate-docs/config.ts +248 -0
  433. package/.next/standalone/scripts/translate-docs/mdx-translator.ts +153 -0
  434. package/.next/standalone/scripts/translate-docs/mintlify-nav.ts +107 -0
  435. package/.next/standalone/scripts/translate-docs/readme-translator.ts +154 -0
  436. package/.next/standalone/scripts/translate-docs/translator.ts +68 -0
  437. package/.next/standalone/scripts/translate-docs/types.ts +43 -0
  438. package/.next/standalone/server.js +1 -1
  439. package/.next/standalone/skills-lock.json +10 -0
  440. package/.next/standalone/src/hooks/builtin-policies.ts +405 -25
  441. package/.next/standalone/src/hooks/custom-hooks-loader.ts +165 -21
  442. package/.next/standalone/src/hooks/handler.ts +33 -6
  443. package/.next/standalone/src/hooks/hook-activity-store.ts +6 -1
  444. package/.next/standalone/src/hooks/hooks-config.ts +47 -2
  445. package/.next/standalone/src/hooks/llm-client.ts +2 -2
  446. package/.next/standalone/src/hooks/loader-utils.ts +4 -4
  447. package/.next/standalone/src/hooks/manager.ts +67 -16
  448. package/.next/standalone/src/hooks/policy-evaluator.ts +58 -19
  449. package/.next/standalone/src/hooks/policy-helpers.ts +2 -2
  450. package/.next/standalone/vitest.config.e2e.mts +3 -0
  451. package/.next/standalone/vitest.config.mts +3 -0
  452. package/README.md +95 -49
  453. package/bin/failproofai.mjs +5 -0
  454. package/dist/cli.mjs +539 -90
  455. package/dist/index.js +2 -2
  456. package/package.json +13 -10
  457. package/scripts/translate-docs/cache.ts +62 -0
  458. package/scripts/translate-docs/cli.ts +357 -0
  459. package/scripts/translate-docs/config.ts +248 -0
  460. package/scripts/translate-docs/mdx-translator.ts +153 -0
  461. package/scripts/translate-docs/mintlify-nav.ts +107 -0
  462. package/scripts/translate-docs/readme-translator.ts +154 -0
  463. package/scripts/translate-docs/translator.ts +68 -0
  464. package/scripts/translate-docs/types.ts +43 -0
  465. package/src/hooks/builtin-policies.ts +405 -25
  466. package/src/hooks/custom-hooks-loader.ts +165 -21
  467. package/src/hooks/handler.ts +33 -6
  468. package/src/hooks/hook-activity-store.ts +6 -1
  469. package/src/hooks/hooks-config.ts +47 -2
  470. package/src/hooks/llm-client.ts +2 -2
  471. package/src/hooks/loader-utils.ts +4 -4
  472. package/src/hooks/manager.ts +67 -16
  473. package/src/hooks/policy-evaluator.ts +58 -19
  474. package/src/hooks/policy-helpers.ts +2 -2
  475. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02nt~6d._.js +0 -3
  476. package/.next/standalone/.next/static/chunks/15jpradyu_531.css +0 -1
  477. package/.next/standalone/docs/cli-reference.md +0 -175
  478. package/.next/standalone/docs/custom-hooks.md +0 -261
  479. package/.next/standalone/docs/getting-started.md +0 -128
  480. package/.next/standalone/docs/introduction.md +0 -47
  481. /package/.next/standalone/.next/static/{WS-OQSqL1Lp1w_obXfjvl → En9eEShUkUjgeYbY9v6Gy}/_buildManifest.js +0 -0
  482. /package/.next/standalone/.next/static/{WS-OQSqL1Lp1w_obXfjvl → En9eEShUkUjgeYbY9v6Gy}/_clientMiddlewareManifest.js +0 -0
  483. /package/.next/standalone/.next/static/{WS-OQSqL1Lp1w_obXfjvl → En9eEShUkUjgeYbY9v6Gy}/_ssgManifest.js +0 -0
@@ -0,0 +1,142 @@
1
+ ---
2
+ title: 대시보드
3
+ description: "에이전트 세션 모니터링, 툴 호출 검토, 정책 관리"
4
+ icon: chart-line
5
+ ---
6
+
7
+ failproofai 대시보드는 AI 에이전트 세션을 모니터링하고 정책을 관리하기 위한 로컬 웹 애플리케이션입니다. 자리를 비운 사이 에이전트가 무엇을 했는지 확인하세요.
8
+
9
+ ---
10
+
11
+ ## 대시보드 시작하기
12
+
13
+ ```bash
14
+ failproofai
15
+ ```
16
+
17
+ `http://localhost:8020`에서 열립니다.
18
+
19
+ 대시보드는 파일시스템에서 직접 데이터를 읽습니다 — Claude Code 프로젝트 폴더와 failproofai 설정 파일을 참조하며, 외부 서비스에는 아무것도 전송되지 않습니다.
20
+
21
+ ---
22
+
23
+ ## 페이지
24
+
25
+ ### 프로젝트
26
+
27
+ 사용자 머신에서 발견된 모든 Claude Code 프로젝트를 나열합니다. 프로젝트는 `~/.claude/projects/` 경로(또는 `CLAUDE_PROJECTS_PATH`로 설정된 경로)에서 검색됩니다.
28
+
29
+ 각 프로젝트에 표시되는 정보:
30
+ - 프로젝트 이름 (폴더 경로에서 파생)
31
+ - 세션 수
32
+ - 가장 최근 세션 활동 날짜
33
+
34
+ 프로젝트를 클릭하면 해당 세션 목록을 볼 수 있습니다.
35
+
36
+ ### 세션
37
+
38
+ 프로젝트 내 모든 세션을 나열합니다. 각 세션에 표시되는 정보:
39
+ - 세션 ID
40
+ - 시작 및 종료 타임스탬프
41
+ - 툴 호출 수
42
+ - 훅 활동 횟수 (실행된 정책 수)
43
+
44
+ 날짜 범위 필터와 세션 ID 검색을 사용해 목록을 좁힐 수 있습니다. 세션은 페이지네이션으로 표시됩니다.
45
+
46
+ 세션을 클릭하면 세션 뷰어가 열립니다.
47
+
48
+ ### 세션 뷰어
49
+
50
+ 세션 뷰어는 자율 에이전트에 대한 핵심 질문에 답합니다: 에이전트가 무엇을 했으며, 올바른 방향으로 동작했는가? 세션에서 발생한 모든 일의 타임라인을 보여줍니다:
51
+
52
+ - **메시지** - Claude의 텍스트 응답과 사용자 프롬프트
53
+ - **툴 호출** - Claude가 실행한 모든 툴과 입력 및 출력 내용
54
+ - **정책 활동** - 각 툴 호출에 대해 어떤 정책이 실행되었고 어떤 결정을 내렸는지
55
+
56
+ 상단의 통계 바에는 세션 지속 시간, 총 툴 호출 수, 훅 결정 요약(allow / deny / instruct 횟수)이 표시됩니다.
57
+
58
+ 다운로드 버튼을 사용해 세션을 ZIP 또는 JSONL 파일로 내보낼 수 있습니다.
59
+
60
+ ### 정책
61
+
62
+ 정책 관리와 활동 검토를 위한 두 탭 페이지입니다.
63
+
64
+ <Tabs>
65
+ <Tab title="정책 탭">
66
+ - 클릭 한 번으로 개별 정책을 켜거나 끄기 (`~/.failproofai/policies-config.json`에 저장됨)
67
+ - 정책을 펼쳐 파라미터 설정 (`policyParams`를 지원하는 정책의 경우)
68
+ - 지정된 스코프에 훅 설치 또는 제거
69
+ - 커스텀 정책 파일 경로 설정
70
+ </Tab>
71
+ <Tab title="활동 탭">
72
+ - 모든 세션에 걸쳐 실행된 모든 훅 이벤트의 전체 페이지네이션 히스토리
73
+ - 정책 이름, 세션 ID, 툴 이름, 결정으로 검색
74
+ - 각 행에 표시되는 정보: 타임스탬프, 정책 이름, 결정, 툴 이름, 세션 ID, deny/instruct 결정의 이유
75
+ </Tab>
76
+ </Tabs>
77
+
78
+ ---
79
+
80
+ ## 자동 새로고침
81
+
82
+ 대시보드 상단 네비게이션에 자동 새로고침 토글이 있습니다. 활성화하면 현재 페이지가 주기적으로 새로고침되어 새로운 세션과 정책 활동이 나타나는 즉시 확인할 수 있습니다. 장시간 실행되는 자율 에이전트 세션을 모니터링할 때 필수적인 기능입니다.
83
+
84
+ ---
85
+
86
+ ## 페이지 비활성화
87
+
88
+ 대시보드의 일부 기능만 필요한 경우, `FAILPROOFAI_DISABLE_PAGES`에 비활성화할 페이지 이름을 쉼표로 구분하여 설정하세요:
89
+
90
+ ```bash
91
+ FAILPROOFAI_DISABLE_PAGES=policies failproofai
92
+ ```
93
+
94
+ 유효한 값: `policies`, `projects`.
95
+
96
+ ---
97
+
98
+ ## 테마
99
+
100
+ 대시보드는 라이트 모드와 다크 모드를 지원합니다. 네비게이션 바의 버튼으로 전환할 수 있습니다. 설정은 브라우저의 로컬 스토리지에 저장됩니다.
101
+
102
+ ---
103
+
104
+ ## 프로젝트 경로 설정
105
+
106
+ 기본적으로 대시보드는 표준 Claude Code 프로젝트 디렉토리에서 읽습니다. 커스텀 설정이 필요한 경우 경로를 재정의하세요:
107
+
108
+ ```bash
109
+ CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai
110
+ ```
111
+
112
+ ---
113
+
114
+ ## localhost가 아닌 호스트에서 접근하기
115
+
116
+ **개발 모드**(`npm run dev`)로 대시보드를 실행하면서 `localhost`가 아닌 호스트 — 예를 들어 커스텀 도메인, 원격 IP, 또는 터널링된 URL — 에서 접근하면 다음과 같은 경고가 표시될 수 있습니다:
117
+
118
+ ```text
119
+ ⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
120
+ ```
121
+
122
+ 이는 Next.js가 HMR(핫 모듈 리로드) 웹소켓에 대한 교차 출처 접근을 차단한 것으로, 개발 모드에서만 사용되는 기능입니다. 특정 호스트를 허용하려면 `--allowed-origins` 플래그를 사용하세요:
123
+
124
+ ```bash
125
+ npm run dev -- --allowed-origins dashboard.example.com
126
+ ```
127
+
128
+ 여러 호스트 또는 IP를 허용하려면 쉼표로 구분된 목록을 전달하세요:
129
+
130
+ ```bash
131
+ npm run dev -- --allowed-origins dashboard.example.com,192.168.1.5
132
+ ```
133
+
134
+ 또는 `FAILPROOFAI_ALLOWED_DEV_ORIGINS` 환경 변수를 설정할 수도 있습니다:
135
+
136
+ ```bash
137
+ FAILPROOFAI_ALLOWED_DEV_ORIGINS=dashboard.example.com npm run dev
138
+ ```
139
+
140
+ <Note>
141
+ 이 설정은 개발 모드에서만 적용됩니다. `failproofai`(프로덕션 모드)로 실행할 때는 HMR 웹소켓이 없으므로 교차 출처 개발 리소스 문제가 발생하지 않습니다.
142
+ </Note>
@@ -0,0 +1,253 @@
1
+ ---
2
+ title: 예시
3
+ description: "Claude Code 및 Agents SDK를 위한 훅 설정 방법"
4
+ icon: book-open
5
+ ---
6
+
7
+ 일반적인 시나리오에 바로 사용할 수 있는 예시 모음입니다. 각 예시에는 설치 방법과 예상 동작이 포함되어 있습니다.
8
+
9
+ ---
10
+
11
+ ## Claude Code용 훅 설정
12
+
13
+ Failproof AI는 Claude Code의 [훅 시스템](https://docs.anthropic.com/en/docs/claude-code/hooks)을 통해 통합됩니다. `failproofai policies --install`을 실행하면 모든 도구 호출 시 실행되는 훅 명령이 Claude Code의 `settings.json`에 등록됩니다.
14
+
15
+ <Steps>
16
+ <Step title="failproofai 설치">
17
+ ```bash
18
+ npm install -g failproofai
19
+ ```
20
+ </Step>
21
+ <Step title="모든 내장 정책 활성화">
22
+ ```bash
23
+ failproofai policies --install
24
+ ```
25
+ </Step>
26
+ <Step title="훅 등록 확인">
27
+ ```bash
28
+ cat ~/.claude/settings.json | grep failproofai
29
+ ```
30
+
31
+ `PreToolUse`, `PostToolUse`, `Notification`, `Stop` 이벤트에 대한 훅 항목이 표시되어야 합니다.
32
+ </Step>
33
+ <Step title="Claude Code 실행">
34
+ ```bash
35
+ claude
36
+ ```
37
+
38
+ 이제 모든 도구 호출 시 정책이 자동으로 실행됩니다. Claude에게 `sudo rm -rf /`를 실행하도록 요청해 보세요 — 차단됩니다.
39
+ </Step>
40
+ </Steps>
41
+
42
+ ---
43
+
44
+ ## Agents SDK용 훅 설정
45
+
46
+ [Agents SDK](https://docs.anthropic.com/en/docs/agents-sdk)로 개발하는 경우, 동일한 훅 시스템을 프로그래밍 방식으로 사용할 수 있습니다.
47
+
48
+ <Steps>
49
+ <Step title="프로젝트에 failproofai 설치">
50
+ ```bash
51
+ npm install failproofai
52
+ ```
53
+ </Step>
54
+ <Step title="에이전트에 훅 설정">
55
+ 에이전트 프로세스를 생성할 때 훅 명령을 전달합니다. 훅은 Claude Code와 동일한 방식으로 — stdin/stdout JSON을 통해 — 실행됩니다:
56
+
57
+ ```bash
58
+ failproofai --hook PreToolUse # 각 도구 실행 전 호출
59
+ failproofai --hook PostToolUse # 각 도구 실행 후 호출
60
+ ```
61
+ </Step>
62
+ <Step title="에이전트용 커스텀 정책 작성">
63
+ ```javascript
64
+ import { customPolicies, allow, deny } from "failproofai";
65
+
66
+ customPolicies.add({
67
+ name: "limit-to-project-dir",
68
+ description: "Keep the agent inside the project directory",
69
+ match: { events: ["PreToolUse"] },
70
+ fn: async (ctx) => {
71
+ const path = String(ctx.toolInput?.file_path ?? "");
72
+ if (path.startsWith("/") && !path.startsWith(ctx.session?.cwd ?? "")) {
73
+ return deny("Agent is restricted to the project directory");
74
+ }
75
+ return allow();
76
+ },
77
+ });
78
+ ```
79
+ </Step>
80
+ <Step title="커스텀 정책 설치">
81
+ ```bash
82
+ failproofai policies --install --custom ./my-agent-policies.js
83
+ ```
84
+ </Step>
85
+ </Steps>
86
+
87
+ ---
88
+
89
+ ## 파괴적 명령 차단
90
+
91
+ 가장 일반적인 설정으로, 에이전트가 되돌릴 수 없는 피해를 입히는 것을 방지합니다.
92
+
93
+ ```bash
94
+ failproofai policies --install block-sudo block-rm-rf block-force-push block-curl-pipe-sh
95
+ ```
96
+
97
+ 각 정책의 역할:
98
+ - `block-sudo` — 모든 `sudo` 명령 차단
99
+ - `block-rm-rf` — 재귀적 파일 삭제 차단
100
+ - `block-force-push` — `git push --force` 차단
101
+ - `block-curl-pipe-sh` — 원격 스크립트를 셸로 파이핑하는 것 차단
102
+
103
+ ---
104
+
105
+ ## 시크릿 유출 방지
106
+
107
+ 에이전트가 도구 출력에서 자격 증명을 보거나 유출하지 못하도록 차단합니다.
108
+
109
+ ```bash
110
+ failproofai policies --install sanitize-api-keys sanitize-jwt sanitize-connection-strings sanitize-bearer-tokens
111
+ ```
112
+
113
+ 이 정책들은 `PostToolUse`에서 실행됩니다 — 도구 실행 후, 에이전트가 출력을 확인하기 전에 민감한 정보를 제거합니다.
114
+
115
+ ---
116
+
117
+ ## 에이전트 대기 시 Slack 알림 받기
118
+
119
+ 알림 훅을 사용하여 유휴 알림을 Slack으로 전달합니다.
120
+
121
+ ```javascript
122
+ import { customPolicies, allow, instruct } from "failproofai";
123
+
124
+ customPolicies.add({
125
+ name: "slack-on-idle",
126
+ description: "Alert Slack when the agent is waiting for input",
127
+ match: { events: ["Notification"] },
128
+ fn: async (ctx) => {
129
+ const webhookUrl = process.env.SLACK_WEBHOOK_URL;
130
+ if (!webhookUrl) return allow();
131
+
132
+ const message = String(ctx.payload?.message ?? "Agent is waiting");
133
+ const project = ctx.session?.cwd ?? "unknown";
134
+
135
+ try {
136
+ await fetch(webhookUrl, {
137
+ method: "POST",
138
+ headers: { "Content-Type": "application/json" },
139
+ body: JSON.stringify({
140
+ text: `*${message}*\nProject: \`${project}\``,
141
+ }),
142
+ signal: AbortSignal.timeout(5000),
143
+ });
144
+ } catch {
145
+ // Slack에 연결할 수 없어도 에이전트를 절대 차단하지 않음
146
+ }
147
+
148
+ return allow();
149
+ },
150
+ });
151
+ ```
152
+
153
+ 설치:
154
+
155
+ ```bash
156
+ SLACK_WEBHOOK_URL=https://hooks.slack.com/... failproofai policies --install --custom ./slack-alerts.js
157
+ ```
158
+
159
+ ---
160
+
161
+ ## 에이전트를 특정 브랜치에 고정
162
+
163
+ 에이전트가 브랜치를 전환하거나 보호된 브랜치에 푸시하는 것을 방지합니다.
164
+
165
+ ```javascript
166
+ import { customPolicies, allow, deny } from "failproofai";
167
+
168
+ customPolicies.add({
169
+ name: "stay-on-branch",
170
+ description: "Prevent the agent from checking out other branches",
171
+ match: { events: ["PreToolUse"] },
172
+ fn: async (ctx) => {
173
+ if (ctx.toolName !== "Bash") return allow();
174
+ const cmd = String(ctx.toolInput?.command ?? "");
175
+ if (/git\s+checkout\s+(?!-b)/.test(cmd)) {
176
+ return deny("Stay on the current branch. Create a new branch with -b if needed.");
177
+ }
178
+ return allow();
179
+ },
180
+ });
181
+ ```
182
+
183
+ ---
184
+
185
+ ## 커밋 전 테스트 실행 요구
186
+
187
+ 에이전트가 커밋하기 전에 테스트를 실행하도록 상기시킵니다.
188
+
189
+ ```javascript
190
+ import { customPolicies, allow, instruct } from "failproofai";
191
+
192
+ customPolicies.add({
193
+ name: "test-before-commit",
194
+ description: "Remind the agent to run tests before committing",
195
+ match: { events: ["PreToolUse"] },
196
+ fn: async (ctx) => {
197
+ if (ctx.toolName !== "Bash") return allow();
198
+ const cmd = String(ctx.toolInput?.command ?? "");
199
+ if (/git\s+commit/.test(cmd)) {
200
+ return instruct("Run tests before committing. Use `npm test` or `bun test` first.");
201
+ }
202
+ return allow();
203
+ },
204
+ });
205
+ ```
206
+
207
+ ---
208
+
209
+ ## 프로덕션 저장소 잠금
210
+
211
+ 팀의 모든 개발자가 동일한 정책을 적용받도록 프로젝트 수준의 설정을 저장소에 커밋합니다.
212
+
213
+ 저장소에 `.failproofai/policies-config.json`을 생성합니다:
214
+
215
+ ```json
216
+ {
217
+ "enabledPolicies": [
218
+ "block-sudo",
219
+ "block-rm-rf",
220
+ "block-force-push",
221
+ "block-push-master",
222
+ "block-env-files",
223
+ "sanitize-api-keys",
224
+ "sanitize-jwt"
225
+ ],
226
+ "policyParams": {
227
+ "block-push-master": {
228
+ "protectedBranches": ["main", "release", "production"]
229
+ }
230
+ }
231
+ }
232
+ ```
233
+
234
+ 커밋합니다:
235
+
236
+ ```bash
237
+ git add .failproofai/policies-config.json
238
+ git commit -m "Add failproofai team policies"
239
+ ```
240
+
241
+ failproofai가 설치된 모든 팀원은 이 규칙을 자동으로 적용받습니다.
242
+
243
+ ---
244
+
245
+ ## 더 많은 예시
246
+
247
+ 저장소의 [`examples/`](https://github.com/exospherehost/failproofai/tree/main/examples) 디렉토리에는 다음 파일들이 포함되어 있습니다:
248
+
249
+ | 파일 | 내용 |
250
+ |------|------|
251
+ | `policies-basic.js` | 기본 정책 — 프로덕션 쓰기 차단, force-push 차단, 파이프된 스크립트 차단 |
252
+ | `policies-notification.js` | 유휴 알림 및 세션 종료 시 Slack 알림 |
253
+ | `policies-advanced/index.js` | 전이적 임포트, 비동기 훅, PostToolUse 출력 스크러빙, Stop 이벤트 처리 |
@@ -0,0 +1,38 @@
1
+ ---
2
+ title: "에이전트용"
3
+ description: "한 번의 명령으로 코딩 에이전트에 Failproof AI 지식을 추가하세요. Claude Code, Cursor, Windsurf 등과 호환됩니다."
4
+ ---
5
+
6
+ 한 번의 명령으로 Failproof AI 전체 레퍼런스를 코딩 에이전트에 추가하세요. Claude Code, Cursor, Windsurf, 그리고 스킬을 지원하는 모든 에이전트와 호환됩니다.
7
+
8
+ ```bash
9
+ npx skills add https://docs.befailproof.ai
10
+ ```
11
+
12
+ `npx skills`는 설치된 에이전트를 자동으로 감지하고, 각 에이전트에 맞는 형식으로 스킬을 추가합니다.
13
+
14
+ ## 스킬이 다루는 내용
15
+
16
+ | 영역 | 포함 내용 |
17
+ |------|----------------|
18
+ | Policies | 기본 제공 정책 이름, 이벤트 타입, 파라미터, 활성화/비활성화 |
19
+ | Custom policies | `customPolicies.add()`, 매치 필터, `allow`/`deny`/`instruct` API |
20
+ | Context object | `ctx.eventType`, `ctx.toolName`, `ctx.toolInput`, `ctx.session` |
21
+ | Configuration | `policies-config.json` 구조, 스코프 병합, `policyParams` |
22
+ | CLI | `failproofai policies --install`, `--uninstall`, `--custom`, 스코프 |
23
+ | Dashboard | 세션 뷰어, 정책 활동, 환경 변수 |
24
+ | Architecture | 훅 핸들러 플로우, 종료 코드, stdin/stdout 계약 |
25
+
26
+ ## 스킬이 완전한가요?
27
+
28
+ Mintlify는 내비게이션의 모든 페이지에서 `llms.txt`를 생성합니다. Failproof AI 문서는 전체 API를 다루고 있으며, 모든 정책, 옵션, 예제가 포함되어 있습니다. 누락된 내용이 발견되면 소스는 `https://docs.befailproof.ai/llms-full.txt`에서 확인할 수 있습니다.
29
+
30
+ 특정 맥락만 필요한 경우, 특정 페이지로 직접 링크할 수 있습니다:
31
+
32
+ ```bash
33
+ # 커스텀 정책 API만 추가
34
+ npx skills add https://docs.befailproof.ai/custom-policies
35
+
36
+ # 기본 제공 정책만 추가
37
+ npx skills add https://docs.befailproof.ai/built-in-policies
38
+ ```
@@ -0,0 +1,134 @@
1
+ ---
2
+ title: 시작하기
3
+ description: "failproofai를 설치하고, 정책을 활성화하여 에이전트를 안정적으로 실행하세요"
4
+ icon: rocket
5
+ ---
6
+
7
+ ## 요구 사항
8
+
9
+ - **Node.js** >= 20.9.0
10
+ - **Bun** >= 1.3.0 (선택 사항 - 소스에서 빌드할 때만 필요)
11
+
12
+ ---
13
+
14
+ ## 설치
15
+
16
+ <CodeGroup>
17
+
18
+ ```bash npm
19
+ npm install -g failproofai
20
+ ```
21
+
22
+ ```bash bun
23
+ bun add -g failproofai
24
+ ```
25
+
26
+ </CodeGroup>
27
+
28
+ ---
29
+
30
+ ## 빠른 시작
31
+
32
+ <Steps>
33
+ <Step title="정책 활성화">
34
+ 정책은 에이전트의 모든 도구 호출 전후에 실행되는 규칙입니다. 파괴적인 명령, 시크릿 유출, 그 밖의 장애 상황이 실제 피해를 일으키기 전에 미리 차단합니다.
35
+
36
+ ```bash
37
+ failproofai policies --install
38
+ ```
39
+
40
+ 이 명령은 Claude Code의 `settings.json`에 훅 항목을 작성합니다. 단일 프로젝트에만 설치하거나 특정 정책을 선택할 수도 있습니다:
41
+
42
+ ```bash
43
+ failproofai policies --install --scope project
44
+ failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
45
+ ```
46
+ </Step>
47
+ <Step title="확인">
48
+ ```bash
49
+ failproofai policies
50
+ ```
51
+
52
+ 모든 정책의 활성화 여부와 설정된 파라미터를 표시합니다.
53
+ </Step>
54
+ <Step title="대시보드 실행">
55
+ ```bash
56
+ failproofai
57
+ ```
58
+
59
+ `http://localhost:8020`에 로컬 대시보드를 열어 세션 조회, 도구 호출 검사, 정책 관리를 할 수 있습니다.
60
+ </Step>
61
+ <Step title="에이전트 실행">
62
+ 평소처럼 Claude Code를 시작하세요. 에이전트가 위험한 작업을 시도하면 failproofai가 자동으로 이를 차단합니다. 에이전트를 무인 상태로 실행하고, 대시보드에서 이후에 발생한 내용을 검토하세요.
63
+ </Step>
64
+ </Steps>
65
+
66
+ ---
67
+
68
+ ## 정책 동작 방식
69
+
70
+ 에이전트가 도구를 실행할 때마다 Claude Code는 failproofai를 서브프로세스로 호출합니다:
71
+
72
+ ```text
73
+ Claude Code → failproofai --hook PreToolUse → reads stdin JSON
74
+ evaluates policies
75
+ writes decision to stdout
76
+ ```
77
+
78
+ 각 정책은 다음 세 가지 결정 중 하나를 반환합니다:
79
+
80
+ - **allow** - 에이전트가 정상적으로 진행됩니다
81
+ - **deny** - 작업이 차단되고, 에이전트에게 차단 이유가 전달됩니다
82
+ - **instruct** - 에이전트의 프롬프트에 추가 컨텍스트가 삽입됩니다
83
+
84
+ <Note>
85
+ 정책은 로컬 프로세스에서 실행됩니다. 원격 서비스로 전송되는 데이터는 없습니다.
86
+ </Note>
87
+
88
+ ---
89
+
90
+ ## 데이터 저장
91
+
92
+ 모든 설정 및 로그는 로컬 머신에 저장됩니다:
93
+
94
+ | 경로 | 저장 내용 |
95
+ |------|----------------|
96
+ | `~/.failproofai/policies-config.json` | 전역 정책 설정 |
97
+ | `~/.failproofai/hook-activity.jsonl` | 훅 실행 기록 |
98
+ | `~/.failproofai/hook.log` | 커스텀 훅 오류 디버그 로그 |
99
+ | `.failproofai/policies-config.json` | 프로젝트별 설정 (커밋됨) |
100
+ | `.failproofai/policies-config.local.json` | 개인 재정의 설정 (gitignore 처리됨) |
101
+
102
+ ---
103
+
104
+ ## 제거
105
+
106
+ ```bash
107
+ failproofai policies --uninstall
108
+ ```
109
+
110
+ `~/.claude/settings.json`에서 훅 항목을 제거합니다. `~/.failproofai/`의 설정 파일은 유지됩니다.
111
+
112
+ ---
113
+
114
+ ## 다음 단계
115
+
116
+ <CardGroup cols={2}>
117
+
118
+ <Card title="설정" icon="gear" href="/ko/configuration">
119
+ 스코프 및 설정 파일 형식
120
+ </Card>
121
+
122
+ <Card title="기본 제공 정책" icon="shield" href="/ko/built-in-policies">
123
+ 파라미터를 포함한 26가지 정책 전체 목록
124
+ </Card>
125
+
126
+ <Card title="커스텀 정책" icon="code" href="/ko/custom-policies">
127
+ JavaScript로 나만의 정책 작성하기
128
+ </Card>
129
+
130
+ <Card title="에이전트 모니터" icon="chart-line" href="/ko/dashboard">
131
+ 세션 모니터링 및 정책 활동 검토
132
+ </Card>
133
+
134
+ </CardGroup>
@@ -0,0 +1,57 @@
1
+ ---
2
+ title: Failproof AI
3
+ description: "AI 에이전트를 안정적으로 자율 운영할 수 있도록 훅과 정책을 관리합니다"
4
+ ---
5
+
6
+ [![npm weekly downloads](https://img.shields.io/npm/dw/failproofai?style=flat-square&color=2ea44f)](https://www.npmjs.com/package/failproofai)
7
+
8
+ **Claude Code** 및 **Agents SDK**를 위한 훅과 정책으로 AI 에이전트를 안정적으로 자율 운영하세요.
9
+
10
+ AI 에이전트는 예측 가능한 방식으로 실패합니다. 파괴적인 명령을 실행하거나, 시크릿을 유출하거나, 작업 범위를 벗어나거나, 루프에 빠지거나, main 브랜치에 직접 푸시하기도 합니다. 방치하면 작은 실패가 연쇄적으로 커집니다.
11
+
12
+ Failproof AI는 **정책(policies)** 으로 이 문제를 해결합니다. 정책은 에이전트의 모든 도구 호출에 훅으로 연결되어 **장애를 감지**하고, **완화 조치**(차단, 지시, 정제)를 취하며, 주의가 필요한 상황이 발생하면 **알림을 보냅니다**. 로컬 대시보드에서 이후에 모든 내용을 검토할 수 있습니다.
13
+
14
+ 모든 처리는 로컬에서 이루어집니다. 데이터가 외부로 전송되지 않습니다.
15
+
16
+ ## 시작하기
17
+
18
+ <CardGroup cols={2}>
19
+
20
+ <Card title="26개의 내장 정책" icon="shield" href="/ko/built-in-policies">
21
+ 파괴적인 명령 차단, 시크릿 유출 방지, 에이전트를 프로젝트 범위 내로 제한하는 등 다양한 기능을 즉시 사용할 수 있습니다.
22
+ </Card>
23
+
24
+ <Card title="커스텀 정책" icon="code" href="/ko/custom-policies">
25
+ 간단한 allow / deny / instruct API를 사용해 JavaScript로 나만의 규칙을 작성하세요.
26
+ </Card>
27
+
28
+ <Card title="에이전트 모니터" icon="chart-line" href="/ko/dashboard">
29
+ 자리를 비운 사이 에이전트가 무엇을 했는지 확인하세요. 세션을 탐색하고, 도구 호출을 검사하며, 정책이 발동된 지점을 검토할 수 있습니다.
30
+ </Card>
31
+
32
+ <Card title="간편한 설정" icon="gear" href="/ko/configuration">
33
+ 코드 없이 모든 정책을 조정하세요. 프로젝트별 또는 전역으로 허용 목록, 보호 브랜치, 임계값을 설정할 수 있습니다.
34
+ </Card>
35
+
36
+ </CardGroup>
37
+
38
+ ## 빠른 시작
39
+
40
+ <CodeGroup>
41
+
42
+ ```bash npm
43
+ npm install -g failproofai
44
+ ```
45
+
46
+ ```bash bun
47
+ bun add -g failproofai
48
+ ```
49
+
50
+ </CodeGroup>
51
+
52
+ ```bash
53
+ failproofai policies --install # 정책 활성화
54
+ failproofai # 대시보드 실행
55
+ ```
56
+
57
+ 전체 안내는 [시작 가이드](/ko/getting-started)를 참고하세요.