failproofai 0.0.5 → 0.0.6-beta.1

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 (179) hide show
  1. package/.next/standalone/.failproofai/policies/review-policies.mjs +112 -0
  2. package/.next/standalone/.failproofai/policies/workflow-policies.mjs +2 -1
  3. package/.next/standalone/.next/BUILD_ID +1 -1
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +3 -3
  6. package/.next/standalone/.next/required-server-files.json +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
  8. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  9. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  10. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  13. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  14. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  15. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  16. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  17. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  18. package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
  19. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  20. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  23. package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
  24. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
  25. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  26. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  27. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  28. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  29. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  30. package/.next/standalone/.next/server/app/index.html +1 -1
  31. package/.next/standalone/.next/server/app/index.rsc +15 -15
  32. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  33. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
  34. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  35. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
  36. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  37. package/.next/standalone/.next/server/app/page/build-manifest.json +2 -2
  38. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  39. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/policies/page/build-manifest.json +2 -2
  42. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  43. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/project/[name]/page/build-manifest.json +2 -2
  46. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  47. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/build-manifest.json +2 -2
  50. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  51. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  52. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/projects/page/build-manifest.json +2 -2
  55. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  56. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
  59. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
  60. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
  61. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
  62. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
  63. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
  64. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
  65. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0a~g15g._.js → [root-of-the-server]__0rh.18_._.js} +2 -2
  66. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +6 -6
  67. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0qn95h3._.js → [root-of-the-server]__0~kmh8w._.js} +2 -2
  68. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
  69. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
  70. package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
  71. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
  72. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
  73. package/.next/standalone/.next/server/middleware-build-manifest.js +5 -5
  74. package/.next/standalone/.next/server/pages/404.html +2 -2
  75. package/.next/standalone/.next/server/pages/500.html +1 -1
  76. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
  78. package/.next/standalone/.next/static/chunks/{0sme4lkv.tgn-.js → 01b~z8f1ws0rk.js} +1 -1
  79. package/.next/standalone/.next/static/chunks/{0lgbwkfqmnsmc.js → 03rz6ykw-a2xi.js} +1 -1
  80. package/.next/standalone/.next/static/chunks/{17manv47o-~wp.js → 08t08igdql9yt.js} +1 -1
  81. package/.next/standalone/.next/static/chunks/09_k80d~cq2wg.js +4 -0
  82. package/.next/standalone/.next/static/chunks/{0ksdlt_1hucdm.js → 0bvhsa6zva2o..js} +1 -1
  83. package/.next/standalone/.next/static/chunks/{09ikntpt2-o9b.js → 0gbf4cphy8ksq.js} +1 -1
  84. package/.next/standalone/.next/static/chunks/{0yumumfzx_f27.js → 0v.yd0kg_ld3r.js} +1 -1
  85. package/.next/standalone/.next/static/chunks/{13juklu.vksks.js → 0wlyoif4_kj_t.js} +1 -1
  86. package/.next/standalone/.next/static/chunks/{09e7drilkf1sn.js → 12simlrcfk3g2.js} +1 -1
  87. package/.next/standalone/.next/static/chunks/{0em7tspi4kylh.js → 12~yi9oj8av8p.js} +2 -2
  88. package/.next/standalone/.next/static/chunks/{turbopack-0r26pc8h0y_-e.js → turbopack-0o7k.hakttp4k.js} +1 -1
  89. package/.next/standalone/CHANGELOG.md +13 -0
  90. package/.next/standalone/README.md +2 -2
  91. package/.next/standalone/bun.lock +43 -85
  92. package/.next/standalone/dist/cli.mjs +107 -3
  93. package/.next/standalone/docs/ar/architecture.mdx +65 -64
  94. package/.next/standalone/docs/ar/configuration.mdx +42 -42
  95. package/.next/standalone/docs/ar/custom-policies.mdx +62 -64
  96. package/.next/standalone/docs/built-in-policies.mdx +37 -0
  97. package/.next/standalone/docs/custom-policies.mdx +1 -1
  98. package/.next/standalone/docs/de/architecture.mdx +92 -92
  99. package/.next/standalone/docs/de/configuration.mdx +34 -34
  100. package/.next/standalone/docs/de/custom-policies.mdx +49 -50
  101. package/.next/standalone/docs/es/architecture.mdx +72 -72
  102. package/.next/standalone/docs/es/configuration.mdx +25 -25
  103. package/.next/standalone/docs/es/custom-policies.mdx +48 -49
  104. package/.next/standalone/docs/examples.mdx +54 -0
  105. package/.next/standalone/docs/fr/architecture.mdx +53 -53
  106. package/.next/standalone/docs/fr/configuration.mdx +25 -25
  107. package/.next/standalone/docs/fr/custom-policies.mdx +42 -43
  108. package/.next/standalone/docs/getting-started.mdx +52 -0
  109. package/.next/standalone/docs/he/architecture.mdx +66 -66
  110. package/.next/standalone/docs/he/configuration.mdx +53 -52
  111. package/.next/standalone/docs/he/custom-policies.mdx +72 -73
  112. package/.next/standalone/docs/hi/architecture.mdx +106 -106
  113. package/.next/standalone/docs/hi/configuration.mdx +39 -39
  114. package/.next/standalone/docs/hi/custom-policies.mdx +75 -76
  115. package/.next/standalone/docs/i18n/README.ar.md +66 -66
  116. package/.next/standalone/docs/i18n/README.de.md +38 -38
  117. package/.next/standalone/docs/i18n/README.es.md +38 -38
  118. package/.next/standalone/docs/i18n/README.fr.md +42 -42
  119. package/.next/standalone/docs/i18n/README.he.md +67 -67
  120. package/.next/standalone/docs/i18n/README.hi.md +70 -70
  121. package/.next/standalone/docs/i18n/README.it.md +62 -62
  122. package/.next/standalone/docs/i18n/README.ja.md +54 -54
  123. package/.next/standalone/docs/i18n/README.ko.md +58 -58
  124. package/.next/standalone/docs/i18n/README.pt-br.md +43 -43
  125. package/.next/standalone/docs/i18n/README.ru.md +69 -69
  126. package/.next/standalone/docs/i18n/README.tr.md +76 -76
  127. package/.next/standalone/docs/i18n/README.vi.md +70 -70
  128. package/.next/standalone/docs/i18n/README.zh.md +52 -52
  129. package/.next/standalone/docs/it/architecture.mdx +54 -53
  130. package/.next/standalone/docs/it/configuration.mdx +44 -45
  131. package/.next/standalone/docs/it/custom-policies.mdx +76 -78
  132. package/.next/standalone/docs/ja/architecture.mdx +93 -93
  133. package/.next/standalone/docs/ja/configuration.mdx +47 -47
  134. package/.next/standalone/docs/ja/custom-policies.mdx +62 -63
  135. package/.next/standalone/docs/ko/architecture.mdx +66 -66
  136. package/.next/standalone/docs/ko/configuration.mdx +35 -35
  137. package/.next/standalone/docs/ko/custom-policies.mdx +71 -72
  138. package/.next/standalone/docs/pt-br/architecture.mdx +55 -55
  139. package/.next/standalone/docs/pt-br/configuration.mdx +35 -35
  140. package/.next/standalone/docs/pt-br/custom-policies.mdx +60 -61
  141. package/.next/standalone/docs/ru/architecture.mdx +59 -60
  142. package/.next/standalone/docs/ru/configuration.mdx +52 -53
  143. package/.next/standalone/docs/ru/custom-policies.mdx +68 -69
  144. package/.next/standalone/docs/tr/architecture.mdx +124 -124
  145. package/.next/standalone/docs/tr/configuration.mdx +45 -46
  146. package/.next/standalone/docs/tr/custom-policies.mdx +75 -75
  147. package/.next/standalone/docs/vi/architecture.mdx +65 -64
  148. package/.next/standalone/docs/vi/configuration.mdx +41 -41
  149. package/.next/standalone/docs/vi/custom-policies.mdx +68 -69
  150. package/.next/standalone/docs/zh/architecture.mdx +67 -67
  151. package/.next/standalone/docs/zh/configuration.mdx +34 -34
  152. package/.next/standalone/docs/zh/custom-policies.mdx +53 -54
  153. package/.next/standalone/node_modules/@next/env/package.json +1 -1
  154. package/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
  155. package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +7 -7
  156. package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  157. package/.next/standalone/node_modules/next/dist/server/config-schema.js +10 -2
  158. package/.next/standalone/node_modules/next/dist/server/config.js +1 -1
  159. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
  160. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  161. package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  162. package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
  163. package/.next/standalone/node_modules/next/dist/server/render.js +27 -20
  164. package/.next/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
  165. package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  166. package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  167. package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  168. package/.next/standalone/node_modules/next/package.json +15 -15
  169. package/.next/standalone/package.json +2 -2
  170. package/.next/standalone/server.js +1 -1
  171. package/.next/standalone/src/hooks/builtin-policies.ts +131 -0
  172. package/README.md +2 -2
  173. package/dist/cli.mjs +107 -3
  174. package/package.json +2 -2
  175. package/src/hooks/builtin-policies.ts +131 -0
  176. package/.next/standalone/.next/static/chunks/0_yayar~bpphd.js +0 -4
  177. /package/.next/standalone/.next/static/{hYQM6iCWnF1W5XDpsIRhV → CkmOT-ZvDN-sVULinGVKT}/_buildManifest.js +0 -0
  178. /package/.next/standalone/.next/static/{hYQM6iCWnF1W5XDpsIRhV → CkmOT-ZvDN-sVULinGVKT}/_clientMiddlewareManifest.js +0 -0
  179. /package/.next/standalone/.next/static/{hYQM6iCWnF1W5XDpsIRhV → CkmOT-ZvDN-sVULinGVKT}/_ssgManifest.js +0 -0
@@ -23,21 +23,21 @@
23
23
 
24
24
  **번역**: [简体中文](docs/i18n/README.zh.md) | [日本語](docs/i18n/README.ja.md) | [한국어](docs/i18n/README.ko.md) | [Español](docs/i18n/README.es.md) | [Português](docs/i18n/README.pt-br.md) | [Deutsch](docs/i18n/README.de.md) | [Français](docs/i18n/README.fr.md) | [Русский](docs/i18n/README.ru.md) | [हिन्दी](docs/i18n/README.hi.md) | [Türkçe](docs/i18n/README.tr.md) | [Tiếng Việt](docs/i18n/README.vi.md) | [Italiano](docs/i18n/README.it.md) | [العربية](docs/i18n/README.ar.md) | [עברית](docs/i18n/README.he.md)
25
25
 
26
- AI 에이전트를 안정적으로 유지하고, 목표에 집중하며, 자율적으로 실행되도록 정책을 관리하는 가장 쉬운 방법 — **Claude Code** 및 **Agents SDK** 용.
26
+ AI 에이전트를 안정적으로 유지하고, 주어진 작업에 집중하며, 자율적으로 실행될 수 있도록 정책을 관리하는 가장 쉬운 방법 — **Claude Code** 및 **Agents SDK** 지원.
27
27
 
28
- - **30가지 기본 제공 정책** - 흔히 발생하는 에이전트 장애 패턴을 즉시 감지합니다. 위험한 명령 차단, 시크릿 유출 방지, 에이전트를 프로젝트 경계 내로 제한, 루프 감지 등을 제공합니다.
29
- - **커스텀 정책** - JavaScript로 나만의 신뢰성 규칙을 작성하세요. `allow`/`deny`/`instruct` API를 활용해 컨벤션을 강제하거나, 드리프트를 방지하거나, 작업을 게이팅하거나, 외부 시스템과 연동할 수 있습니다.
30
- - **간편한 설정** - 코드 없이 정책을 세밀하게 조정하세요. 프로젝트별 또는 전역으로 허용 목록, 보호 브랜치, 임계값을 설정할 있습니다. 세 가지 스코프 설정이 자동으로 병합됩니다.
31
- - **에이전트 모니터** - 자리를 비운 사이 에이전트가 무엇을 했는지 확인하세요. 세션을 탐색하고, 모든 도구 호출을 검사하며, 정책이 발동된 위치를 정확히 확인할 수 있습니다.
28
+ - **30가지 기본 제공 정책** - 일반적인 에이전트 장애 패턴을 즉시 감지합니다. 파괴적인 명령 차단, 시크릿 유출 방지, 에이전트를 프로젝트 경계 내부로 제한, 루프 감지 등을 지원합니다.
29
+ - **커스텀 정책** - JavaScript로 직접 신뢰성 규칙을 작성하세요. `allow`/`deny`/`instruct` API를 활용해 관례 적용, 드리프트 방지, 작업 승인 게이팅, 외부 시스템 연동이 가능합니다.
30
+ - **간편한 설정** - 코드 작성 없이 어떤 정책이든 조정할 있습니다. 허용 목록, 보호된 브랜치, 임계값을 프로젝트별 또는 전역으로 설정하세요. 세 가지 범위의 설정이 자동으로 병합됩니다.
31
+ - **에이전트 모니터** - 자리를 비운 사이 에이전트가 무엇을 했는지 확인하세요. 세션을 탐색하고, 모든 도구 호출을 검사하며, 정책이 발동된 정확한 위치를 확인할 수 있습니다.
32
32
 
33
- 모든 처리는 로컬에서 이루어지며 데이터는 외부로 전송되지 않습니다.
33
+ 모든 처리는 로컬에서 실행되며, 데이터는 외부로 전송되지 않습니다.
34
34
 
35
35
  ---
36
36
 
37
37
  ## 요구 사항
38
38
 
39
39
  - Node.js >= 20.9.0
40
- - Bun >= 1.3.0 (선택 사항 - 개발 또는 소스 빌드 시에만 필요)
40
+ - Bun >= 1.3.0 (선택 사항 개발 또는 소스 빌드 시에만 필요)
41
41
 
42
42
  ---
43
43
 
@@ -59,7 +59,7 @@ bun add -g failproofai
59
59
  failproofai policies --install
60
60
  ```
61
61
 
62
- `~/.claude/settings.json`에 훅 항목을 작성합니다. 이제 Claude Code는 각 도구 호출 전후로 failproofai를 실행합니다.
62
+ `~/.claude/settings.json`에 훅 항목을 작성합니다. 이후 Claude Code는 각 도구 호출 전후에 failproofai를 실행합니다.
63
63
 
64
64
  ### 2. 대시보드 실행
65
65
 
@@ -67,9 +67,9 @@ failproofai policies --install
67
67
  failproofai
68
68
  ```
69
69
 
70
- `http://localhost:8020`을 엽니다 세션 탐색, 로그 검사, 정책 관리가 가능합니다.
70
+ `http://localhost:8020`을 열어 세션을 탐색하고, 로그를 검사하며, 정책을 관리합니다.
71
71
 
72
- ### 3. 활성 정책 확인
72
+ ### 3. 현재 활성 정책 확인
73
73
 
74
74
  ```bash
75
75
  failproofai policies
@@ -79,15 +79,15 @@ failproofai policies
79
79
 
80
80
  ## 정책 설치
81
81
 
82
- ### 스코프
82
+ ### 범위(Scope)
83
83
 
84
- | 스코프 | 명령어 | 저장 위치 |
85
- |--------|--------|-----------|
84
+ | 범위 | 명령어 | 저장 위치 |
85
+ |-------|---------|-----------------|
86
86
  | 전역 (기본값) | `failproofai policies --install` | `~/.claude/settings.json` |
87
87
  | 프로젝트 | `failproofai policies --install --scope project` | `.claude/settings.json` |
88
88
  | 로컬 | `failproofai policies --install --scope local` | `.claude/settings.local.json` |
89
89
 
90
- ### 특정 정책 설치
90
+ ### 특정 정책만 설치
91
91
 
92
92
  ```bash
93
93
  failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
@@ -97,7 +97,7 @@ failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
97
97
 
98
98
  ```bash
99
99
  failproofai policies --uninstall
100
- # 또는 특정 스코프 지정 시:
100
+ # 또는 특정 범위만 제거:
101
101
  failproofai policies --uninstall --scope project
102
102
  ```
103
103
 
@@ -105,7 +105,7 @@ failproofai policies --uninstall --scope project
105
105
 
106
106
  ## 설정
107
107
 
108
- 정책 설정은 전역의 경우 `~/.failproofai/policies-config.json`, 프로젝트별 설정은 프로젝트 내 `.failproofai/policies-config.json`에 저장됩니다.
108
+ 정책 설정은 `~/.failproofai/policies-config.json`(전역) 또는 프로젝트 내 `.failproofai/policies-config.json`(프로젝트별)에 저장됩니다.
109
109
 
110
110
  ```json
111
111
  {
@@ -138,32 +138,32 @@ failproofai policies --uninstall --scope project
138
138
  }
139
139
  ```
140
140
 
141
- **세 가지 설정 스코프**는 자동으로 병합됩니다 (프로젝트 → 로컬 → 전역). 전체 병합 규칙은 [docs/configuration.mdx](docs/configuration.mdx)를 참고하세요.
141
+ **세 가지 설정 범위**는 자동으로 병합됩니다(프로젝트 → 로컬 → 전역). 전체 병합 규칙은 [docs/configuration.mdx](docs/configuration.mdx)를 참고하세요.
142
142
 
143
143
  ---
144
144
 
145
145
  ## 기본 제공 정책
146
146
 
147
- | 정책 | 설명 | 설정 가능 |
148
- |------|------|:---------:|
149
- | `block-sudo` | 에이전트의 권한 있는 시스템 명령 실행 방지 | `allowPatterns` |
147
+ | 정책 | 설명 | 설정 가능 파라미터 |
148
+ |--------|-------------|:---:|
149
+ | `block-sudo` | 에이전트가 권한 있는 시스템 명령을 실행하지 못하도록 차단 | `allowPatterns` |
150
150
  | `block-rm-rf` | 실수로 인한 재귀적 파일 삭제 방지 | `allowPaths` |
151
- | `block-curl-pipe-sh` | 에이전트가 신뢰할 수 없는 스크립트를 셸로 파이핑하는 것을 방지 | |
152
- | `block-failproofai-commands` | 자가 제거 방지 | |
153
- | `sanitize-jwt` | JWT 토큰이 에이전트 컨텍스트로 유출되는 것을 차단 | |
154
- | `sanitize-api-keys` | API 키가 에이전트 컨텍스트로 유출되는 것을 차단 | `additionalPatterns` |
155
- | `sanitize-connection-strings` | 데이터베이스 자격 증명이 에이전트 컨텍스트로 유출되는 것을 차단 | |
151
+ | `block-curl-pipe-sh` | 에이전트가 신뢰할 수 없는 스크립트를 셸에 파이프하지 못하도록 차단 | |
152
+ | `block-failproofai-commands` | 자기 자신의 제거 방지 | |
153
+ | `sanitize-jwt` | JWT 토큰이 에이전트 컨텍스트로 유출되지 않도록 차단 | |
154
+ | `sanitize-api-keys` | API 키가 에이전트 컨텍스트로 유출되지 않도록 차단 | `additionalPatterns` |
155
+ | `sanitize-connection-strings` | 데이터베이스 자격 증명이 에이전트 컨텍스트로 유출되지 않도록 차단 | |
156
156
  | `sanitize-private-key-content` | 출력에서 PEM 개인 키 블록 제거 | |
157
157
  | `sanitize-bearer-tokens` | 출력에서 Authorization Bearer 토큰 제거 | |
158
- | `block-env-files` | 에이전트가 .env 파일을 읽는 것을 방지 | |
159
- | `protect-env-vars` | 에이전트가 환경 변수를 출력하는 것을 방지 | |
160
- | `block-read-outside-cwd` | 에이전트를 프로젝트 경계 내로 제한 | `allowPaths` |
161
- | `block-secrets-write` | 개인 키 및 인증서 파일 쓰기 방지 | `additionalPatterns` |
162
- | `block-push-master` | main/master 브랜치에 실수로 푸시하는 것을 방지 | `protectedBranches` |
163
- | `block-work-on-main` | 에이전트가 보호된 브랜치에서 작업하는 것을 방지 | `protectedBranches` |
158
+ | `block-env-files` | 에이전트가 .env 파일을 읽지 못하도록 차단 | |
159
+ | `protect-env-vars` | 에이전트가 환경 변수를 출력하지 못하도록 방지 | |
160
+ | `block-read-outside-cwd` | 에이전트를 프로젝트 경계 내부로 제한 | `allowPaths` |
161
+ | `block-secrets-write` | 개인 키 및 인증서 파일에 쓰기 방지 | `additionalPatterns` |
162
+ | `block-push-master` | main/master 브랜치에 실수로 푸시하지 않도록 방지 | `protectedBranches` |
163
+ | `block-work-on-main` | 에이전트가 보호된 브랜치에서 작업하지 못하도록 차단 | `protectedBranches` |
164
164
  | `block-force-push` | `git push --force` 방지 | |
165
- | `warn-git-amend` | 커밋 수정 전 에이전트에게 알림 | |
166
- | `warn-git-stash-drop` | 스태시 삭제 전 에이전트에게 알림 | |
165
+ | `warn-git-amend` | 커밋 수정 전 에이전트에 알림 | |
166
+ | `warn-git-stash-drop` | 스태시 삭제 전 에이전트에 알림 | |
167
167
  | `warn-all-files-staged` | 실수로 인한 `git add -A` 감지 | |
168
168
  | `warn-destructive-sql` | 실행 전 DROP/DELETE SQL 감지 | |
169
169
  | `warn-schema-alteration` | 실행 전 ALTER TABLE 감지 | |
@@ -173,13 +173,13 @@ failproofai policies --uninstall --scope project
173
173
  | `warn-global-package-install` | 의도치 않은 전역 패키지 설치 감지 | |
174
174
  | …그 외 다수 | | |
175
175
 
176
- 전체 정책 상세 정보 및 파라미터 참조: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
176
+ 전체 정책 상세 내용 및 파라미터 참조: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
177
177
 
178
178
  ---
179
179
 
180
180
  ## 커스텀 정책
181
181
 
182
- 에이전트를 안정적으로 유지하고 목표에 집중시키기 위한 나만의 정책을 작성하세요:
182
+ 에이전트를 안정적으로 유지하고 작업에 집중시키기 위해 직접 정책을 작성하세요:
183
183
 
184
184
  ```js
185
185
  import { customPolicies, allow, deny, instruct } from "failproofai";
@@ -203,32 +203,32 @@ customPolicies.add({
203
203
  failproofai policies --install --custom ./my-policies.js
204
204
  ```
205
205
 
206
- ### 결정 헬퍼
206
+ ### 결정 헬퍼 함수
207
207
 
208
- | 함수 | 동작 |
209
- |------|------|
208
+ | 함수 | 효과 |
209
+ |----------|--------|
210
210
  | `allow()` | 작업 허용 |
211
211
  | `allow(message)` | 허용하고 Claude에 정보성 컨텍스트 전달 |
212
212
  | `deny(message)` | 작업 차단; 메시지가 Claude에 표시됨 |
213
- | `instruct(message)` | Claude 프롬프트에 컨텍스트 추가; 차단하지 않음 |
213
+ | `instruct(message)` | Claude 프롬프트에 컨텍스트 추가; 차단하지 않음 |
214
214
 
215
215
  ### 컨텍스트 객체 (`ctx`)
216
216
 
217
217
  | 필드 | 타입 | 설명 |
218
- |------|------|------|
218
+ |-------|------|-------------|
219
219
  | `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
220
- | `toolName` | `string` | 호출되는 도구 (`"Bash"`, `"Write"`, `"Read"`, …) |
220
+ | `toolName` | `string` | 호출되는 도구 이름 (`"Bash"`, `"Write"`, `"Read"`, …) |
221
221
  | `toolInput` | `object` | 도구의 입력 파라미터 |
222
222
  | `payload` | `object` | 전체 원시 이벤트 페이로드 |
223
- | `session.cwd` | `string` | Claude Code 세션의 작업 디렉토리 |
223
+ | `session.cwd` | `string` | Claude Code 세션의 작업 디렉터리 |
224
224
  | `session.sessionId` | `string` | 세션 식별자 |
225
225
  | `session.transcriptPath` | `string` | 세션 트랜스크립트 파일 경로 |
226
226
 
227
- 커스텀 훅은 전이적 로컬 임포트, async/await, `process.env` 접근을 지원합니다. 오류는 fail-open 방식으로 처리됩니다 (`~/.failproofai/hook.log`에 기록되며, 기본 제공 정책은 계속 실행됩니다). 전체 가이드는 [docs/custom-hooks.mdx](docs/custom-hooks.mdx)를 참고하세요.
227
+ 커스텀 훅은 전이적 로컬 임포트, async/await, `process.env` 접근을 지원합니다. 오류 발생 시 페일-오픈 방식으로 처리됩니다(`~/.failproofai/hook.log`에 기록되며, 기본 제공 정책은 계속 동작). 전체 가이드는 [docs/custom-hooks.mdx](docs/custom-hooks.mdx)를 참고하세요.
228
228
 
229
- ### 컨벤션 기반 정책
229
+ ### 관례 기반 정책
230
230
 
231
- `.failproofai/policies/` 디렉토리에 `*policies.{js,mjs,ts}` 파일을 추가하면 자동으로 로드됩니다 — `--custom` 플래그나 설정 변경이 필요 없습니다. git 훅처럼 파일을 추가하기만 하면 바로 동작합니다.
231
+ `.failproofai/policies/` 디렉터리에 `*policies.{js,mjs,ts}` 파일을 넣으면 자동으로 로드됩니다 — `--custom` 플래그나 설정 변경이 필요 없습니다. git 훅처럼 파일만 넣으면 바로 작동합니다.
232
232
 
233
233
  ```text
234
234
  # 프로젝트 수준 — git에 커밋되어 팀과 공유
@@ -239,7 +239,7 @@ failproofai policies --install --custom ./my-policies.js
239
239
  ~/.failproofai/policies/my-policies.mjs
240
240
  ```
241
241
 
242
- 두 수준 모두 로드됩니다 (합집합). 각 디렉토리 파일은 알파벳 순서로 로드됩니다. 순서를 제어하려면 `01-`, `02-` 등의 접두사를 사용하세요. 바로 사용 가능한 예제는 [examples/convention-policies/](examples/convention-policies/)를 참고하세요.
242
+ 두 수준 모두 로드됩니다(합집합). 각 디렉터리 내에서 파일은 알파벳 순으로 로드됩니다. `01-`, `02-` 등의 접두사를 붙여 순서를 제어하세요. 바로 사용 가능한 예시는 [examples/convention-policies/](examples/convention-policies/)를 참고하세요.
243
243
 
244
244
  ---
245
245
 
@@ -258,23 +258,23 @@ FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
258
258
  ## 문서
259
259
 
260
260
  | 가이드 | 설명 |
261
- |--------|------|
262
- | [시작하기](docs/getting-started.mdx) | 설치 및 첫 단계 |
263
- | [기본 제공 정책](docs/built-in-policies.mdx) | 파라미터 포함 30가지 기본 정책 전체 목록 |
264
- | [커스텀 정책](docs/custom-policies.mdx) | 나만의 정책 작성하기 |
265
- | [설정](docs/configuration.mdx) | 설정 파일 형식 및 스코프 병합 |
261
+ |-------|-------------|
262
+ | [시작하기](docs/getting-started.mdx) | 설치 및 첫 번째 단계 |
263
+ | [기본 제공 정책](docs/built-in-policies.mdx) | 파라미터를 포함한 30가지 기본 제공 정책 전체 목록 |
264
+ | [커스텀 정책](docs/custom-policies.mdx) | 직접 정책 작성하기 |
265
+ | [설정](docs/configuration.mdx) | 설정 파일 형식 및 범위 병합 |
266
266
  | [대시보드](docs/dashboard.mdx) | 세션 모니터링 및 정책 활동 검토 |
267
- | [아키텍처](docs/architecture.mdx) | 훅 시스템 동작 원리 |
268
- | [테스팅](docs/testing.mdx) | 테스트 실행 및 새 테스트 작성 |
267
+ | [아키텍처](docs/architecture.mdx) | 훅 시스템의 동작 원리 |
268
+ | [테스트](docs/testing.mdx) | 테스트 실행 및 새 테스트 작성 |
269
269
 
270
- ### 문서 로컬 실행
270
+ ### 로컬에서 문서 실행
271
271
 
272
272
  ```bash
273
273
  docker build -f Dockerfile.docs -t failproofai-docs .
274
274
  docker run --rm -p 3000:3000 failproofai-docs
275
275
  ```
276
276
 
277
- `http://localhost:3000`에서 Mintlify 문서 사이트를 엽니다. docs 디렉토리를 마운트하면 컨테이너가 변경 사항을 감시합니다:
277
+ `http://localhost:3000`에서 Mintlify 문서 사이트가 열립니다. docs 디렉터리를 마운트하면 컨테이너가 변경 사항을 감지합니다:
278
278
 
279
279
  ```bash
280
280
  docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
@@ -284,9 +284,9 @@ docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
284
284
 
285
285
  ## failproofai 기여자를 위한 참고 사항
286
286
 
287
- 이 저장소의 `.claude/settings.json`은 표준 `npx -y failproofai` 명령 대신 `bun ./bin/failproofai.mjs --hook <EventType>`을 사용합니다. failproofai 프로젝트 내에서 `npx -y failproofai`를 실행하면 자기 참조 충돌이 발생하기 때문입니다.
287
+ 이 저장소의 `.claude/settings.json`은 표준 `npx -y failproofai` 명령 대신 `bun ./bin/failproofai.mjs --hook <EventType>`을 사용합니다. failproofai 프로젝트 내부에서 `npx -y failproofai`를 실행하면 자기 참조 충돌이 발생하기 때문입니다.
288
288
 
289
- 다른 모든 저장소에서는 `npx -y failproofai` 방식을 권장하며, 다음 명령으로 설치할 수 있습니다:
289
+ 다른 모든 저장소에서는 `npx -y failproofai` 사용을 권장하며, 다음 명령으로 설치할 수 있습니다:
290
290
 
291
291
  ```bash
292
292
  failproofai policies --install --scope project
@@ -304,4 +304,4 @@ failproofai policies --install --scope project
304
304
 
305
305
  ---
306
306
 
307
- **ExosphereHost: 에이전트를 위한 신뢰성 연구소**가 개발하고 유지 관리합니다. 저희는 자체 에이전트, 소프트웨어, 전문 지식을 통해 기업과 스타트업이 AI 에이전트의 신뢰성을 향상시킬 수 있도록 돕고 있습니다. 자세한 내용은 [exosphere.host](https://exosphere.host)를 방문하세요.
307
+ **ExosphereHost: 에이전트를 위한 신뢰성 연구소**에서 개발 유지 관리합니다. 저희는 자체 에이전트, 소프트웨어, 전문 지식을 통해 기업과 스타트업이 AI 에이전트의 신뢰성을 향상할 수 있도록 돕습니다. 자세한 내용은 [exosphere.host](https://exosphere.host)를 방문하세요.
@@ -23,12 +23,12 @@
23
23
 
24
24
  **Traduções**: [简体中文](docs/i18n/README.zh.md) | [日本語](docs/i18n/README.ja.md) | [한국어](docs/i18n/README.ko.md) | [Español](docs/i18n/README.es.md) | [Português](docs/i18n/README.pt-br.md) | [Deutsch](docs/i18n/README.de.md) | [Français](docs/i18n/README.fr.md) | [Русский](docs/i18n/README.ru.md) | [हिन्दी](docs/i18n/README.hi.md) | [Türkçe](docs/i18n/README.tr.md) | [Tiếng Việt](docs/i18n/README.vi.md) | [Italiano](docs/i18n/README.it.md) | [العربية](docs/i18n/README.ar.md) | [עברית](docs/i18n/README.he.md)
25
25
 
26
- A maneira mais simples de gerenciar políticas que mantêm seus agentes de IA confiáveis, focados na tarefa e rodando de forma autônoma — para o **Claude Code** e o **Agents SDK**.
26
+ A forma mais fácil de gerenciar políticas que mantêm seus agentes de IA confiáveis, focados na tarefa e operando de forma autônoma — para o **Claude Code** e o **Agents SDK**.
27
27
 
28
- - **30 Políticas Integradas** - Detecte os modos de falha mais comuns dos agentes logo de cara. Bloqueie comandos destrutivos, evite vazamento de segredos, mantenha os agentes dentro dos limites do projeto, detecte loops e muito mais.
29
- - **Políticas Personalizadas** - Escreva suas próprias regras de confiabilidade em JavaScript. Use a API `allow`/`deny`/`instruct` para impor convenções, evitar desvios, controlar operações ou integrar com sistemas externos.
30
- - **Configuração Simples** - Ajuste qualquer política sem escrever código. Defina listas de permissão, branches protegidas e limites por projeto ou globalmente. Três escopos de configuração são mesclados automaticamente.
31
- - **Monitor de Agentes** - Veja o que seus agentes fizeram enquanto você estava ausente. Navegue pelas sessões, inspecione cada chamada de ferramenta e revise exatamente onde as políticas foram acionadas.
28
+ - **30 Políticas Integradas** Detecte os modos de falha mais comuns de agentes de cara. Bloqueie comandos destrutivos, evite vazamento de segredos, mantenha agentes dentro dos limites do projeto, detecte loops e muito mais.
29
+ - **Políticas Personalizadas** Escreva suas próprias regras de confiabilidade em JavaScript. Use a API `allow`/`deny`/`instruct` para impor convenções, evitar desvios, controlar operações ou integrar com sistemas externos.
30
+ - **Configuração Simples** Ajuste qualquer política sem escrever código. Defina allowlists, branches protegidas e limites por projeto ou globalmente. Três escopos de configuração mesclados automaticamente.
31
+ - **Monitor de Agentes** Veja o que seus agentes fizeram enquanto você estava ausente. Navegue por sessões, inspecione cada chamada de ferramenta e revise exatamente onde as políticas foram acionadas.
32
32
 
33
33
  Tudo roda localmente — nenhum dado sai da sua máquina.
34
34
 
@@ -53,23 +53,23 @@ bun add -g failproofai
53
53
 
54
54
  ## Início rápido
55
55
 
56
- ### 1. Ative as políticas globalmente
56
+ ### 1. Habilitar políticas globalmente
57
57
 
58
58
  ```bash
59
59
  failproofai policies --install
60
60
  ```
61
61
 
62
- Grava entradas de hook em `~/.claude/settings.json`. O Claude Code passará a invocar o failproofai antes e depois de cada chamada de ferramenta.
62
+ Insere entradas de hook em `~/.claude/settings.json`. O Claude Code passará a invocar o failproofai antes e depois de cada chamada de ferramenta.
63
63
 
64
- ### 2. Abra o painel
64
+ ### 2. Abrir o painel
65
65
 
66
66
  ```bash
67
67
  failproofai
68
68
  ```
69
69
 
70
- Abre `http://localhost:8020` — navegue pelas sessões, inspecione logs e gerencie políticas.
70
+ Abre `http://localhost:8020` — navegue por sessões, inspecione logs e gerencie políticas.
71
71
 
72
- ### 3. Verifique o que está ativo
72
+ ### 3. Verificar o que está ativo
73
73
 
74
74
  ```bash
75
75
  failproofai policies
@@ -105,7 +105,7 @@ failproofai policies --uninstall --scope project
105
105
 
106
106
  ## Configuração
107
107
 
108
- A configuração das políticas fica em `~/.failproofai/policies-config.json` (global) ou `.failproofai/policies-config.json` no seu projeto (por projeto).
108
+ A configuração de políticas fica em `~/.failproofai/policies-config.json` (global) ou em `.failproofai/policies-config.json` no seu projeto (por projeto).
109
109
 
110
110
  ```json
111
111
  {
@@ -146,31 +146,31 @@ A configuração das políticas fica em `~/.failproofai/policies-config.json` (g
146
146
 
147
147
  | Política | Descrição | Configurável |
148
148
  |----------|-----------|:---:|
149
- | `block-sudo` | Impede que agentes executem comandos privilegiados do sistema | `allowPatterns` |
149
+ | `block-sudo` | Impede agentes de executar comandos privilegiados do sistema | `allowPatterns` |
150
150
  | `block-rm-rf` | Previne exclusão recursiva acidental de arquivos | `allowPaths` |
151
- | `block-curl-pipe-sh` | Impede que agentes direcionem scripts não confiáveis para o shell | |
152
- | `block-failproofai-commands` | Previne a desinstalação do próprio failproofai | |
153
- | `sanitize-jwt` | Impede que tokens JWT vazem para o contexto do agente | |
154
- | `sanitize-api-keys` | Impede que chaves de API vazem para o contexto do agente | `additionalPatterns` |
155
- | `sanitize-connection-strings` | Impede que credenciais de banco de dados vazem para o contexto do agente | |
156
- | `sanitize-private-key-content` | Remove blocos de chave privada PEM da saída | |
157
- | `sanitize-bearer-tokens` | Remove tokens Bearer de Authorization da saída | |
158
- | `block-env-files` | Impede que agentes leiam arquivos .env | |
159
- | `protect-env-vars` | Impede que agentes imprimam variáveis de ambiente | |
160
- | `block-read-outside-cwd` | Mantém os agentes dentro dos limites do projeto | `allowPaths` |
161
- | `block-secrets-write` | Impede gravações em arquivos de chave privada e certificados | `additionalPatterns` |
151
+ | `block-curl-pipe-sh` | Impede agentes de redirecionar scripts não confiáveis para o shell | |
152
+ | `block-failproofai-commands` | Previne a auto-desinstalação | |
153
+ | `sanitize-jwt` | Impede tokens JWT de vazarem para o contexto do agente | |
154
+ | `sanitize-api-keys` | Impede chaves de API de vazarem para o contexto do agente | `additionalPatterns` |
155
+ | `sanitize-connection-strings` | Impede credenciais de banco de dados de vazarem para o contexto do agente | |
156
+ | `sanitize-private-key-content` | Redige blocos de chave privada PEM da saída | |
157
+ | `sanitize-bearer-tokens` | Redige tokens Bearer de Authorization da saída | |
158
+ | `block-env-files` | Impede agentes de ler arquivos .env | |
159
+ | `protect-env-vars` | Previne agentes de imprimir variáveis de ambiente | |
160
+ | `block-read-outside-cwd` | Mantém agentes dentro dos limites do projeto | `allowPaths` |
161
+ | `block-secrets-write` | Previne gravações em arquivos de chave privada e certificados | `additionalPatterns` |
162
162
  | `block-push-master` | Previne pushes acidentais para main/master | `protectedBranches` |
163
163
  | `block-work-on-main` | Mantém agentes fora de branches protegidas | `protectedBranches` |
164
164
  | `block-force-push` | Previne `git push --force` | |
165
- | `warn-git-amend` | Lembra os agentes antes de fazer amend em commits | |
166
- | `warn-git-stash-drop` | Lembra os agentes antes de descartar stashes | |
165
+ | `warn-git-amend` | Lembra agentes antes de emendar commits | |
166
+ | `warn-git-stash-drop` | Lembra agentes antes de descartar stashes | |
167
167
  | `warn-all-files-staged` | Detecta `git add -A` acidental | |
168
- | `warn-destructive-sql` | Detecta DROP/DELETE SQL antes da execução | |
168
+ | `warn-destructive-sql` | Detecta comandos SQL DROP/DELETE antes da execução | |
169
169
  | `warn-schema-alteration` | Detecta ALTER TABLE antes da execução | |
170
170
  | `warn-large-file-write` | Detecta gravações de arquivos inesperadamente grandes | `thresholdKb` |
171
171
  | `warn-package-publish` | Detecta `npm publish` acidental | |
172
- | `warn-background-process` | Detecta inicializações não intencionais de processos em background | |
173
- | `warn-global-package-install` | Detecta instalações não intencionais de pacotes globais | |
172
+ | `warn-background-process` | Detecta lançamentos não intencionais de processos em segundo plano | |
173
+ | `warn-global-package-install` | Detecta instalações globais de pacotes não intencionais | |
174
174
  | …e mais | | |
175
175
 
176
176
  Detalhes completos das políticas e referência de parâmetros: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
@@ -179,7 +179,7 @@ Detalhes completos das políticas e referência de parâmetros: [docs/built-in-p
179
179
 
180
180
  ## Políticas personalizadas
181
181
 
182
- Escreva suas próprias políticas para manter os agentes confiáveis e focados na tarefa:
182
+ Escreva suas próprias políticas para manter agentes confiáveis e focados na tarefa:
183
183
 
184
184
  ```js
185
185
  import { customPolicies, allow, deny, instruct } from "failproofai";
@@ -219,19 +219,19 @@ failproofai policies --install --custom ./my-policies.js
219
219
  | `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
220
220
  | `toolName` | `string` | Ferramenta sendo chamada (`"Bash"`, `"Write"`, `"Read"`, …) |
221
221
  | `toolInput` | `object` | Parâmetros de entrada da ferramenta |
222
- | `payload` | `object` | Payload completo do evento bruto |
222
+ | `payload` | `object` | Payload bruto completo do evento |
223
223
  | `session.cwd` | `string` | Diretório de trabalho da sessão do Claude Code |
224
224
  | `session.sessionId` | `string` | Identificador da sessão |
225
225
  | `session.transcriptPath` | `string` | Caminho para o arquivo de transcrição da sessão |
226
226
 
227
- Hooks personalizados suportam importações locais transitivas, async/await e acesso a `process.env`. Erros são fail-open (registrados em `~/.failproofai/hook.log`, as políticas integradas continuam funcionando). Consulte [docs/custom-hooks.mdx](docs/custom-hooks.mdx) para o guia completo.
227
+ Hooks personalizados suportam importações locais transitivas, async/await e acesso a `process.env`. Erros são fail-open (registrados em `~/.failproofai/hook.log`; políticas integradas continuam funcionando). Consulte [docs/custom-hooks.mdx](docs/custom-hooks.mdx) para o guia completo.
228
228
 
229
229
  ### Políticas baseadas em convenção
230
230
 
231
- Coloque arquivos `*policies.{js,mjs,ts}` na pasta `.failproofai/policies/` e eles serão carregados automaticamente — sem necessidade de flag `--custom` ou alterações de configuração. Funciona como git hooks: basta adicionar o arquivo e pronto.
231
+ Coloque arquivos `*policies.{js,mjs,ts}` em `.failproofai/policies/` e eles serão carregados automaticamente — sem flag `--custom` nem alterações de configuração. Funciona como git hooks: basta adicionar o arquivo e pronto.
232
232
 
233
233
  ```text
234
- # Nível de projeto — commitado no git, compartilhado com o time
234
+ # Nível de projeto — commitado no git, compartilhado com a equipe
235
235
  .failproofai/policies/security-policies.mjs
236
236
  .failproofai/policies/workflow-policies.mjs
237
237
 
@@ -239,15 +239,15 @@ Coloque arquivos `*policies.{js,mjs,ts}` na pasta `.failproofai/policies/` e ele
239
239
  ~/.failproofai/policies/my-policies.mjs
240
240
  ```
241
241
 
242
- Ambos os níveis são carregados (união). Os arquivos são carregados em ordem alfabética dentro de cada diretório. Use prefixos `01-`, `02-`, etc. para controlar a ordem. Veja [examples/convention-policies/](examples/convention-policies/) para exemplos prontos para uso.
242
+ Ambos os níveis são carregados (união). Os arquivos são carregados em ordem alfabética dentro de cada diretório. Use prefixos como `01-`, `02-`, etc. para controlar a ordem. Veja [examples/convention-policies/](examples/convention-policies/) para exemplos prontos para uso.
243
243
 
244
244
  ---
245
245
 
246
246
  ## Telemetria
247
247
 
248
- O Failproof AI coleta telemetria de uso anônima via PostHog para entender o uso das funcionalidades. Nenhum conteúdo de sessão, nome de arquivo, entrada de ferramenta ou informação pessoal é enviado.
248
+ O Failproof AI coleta telemetria de uso anônima via PostHog para entender o uso dos recursos. Nenhum conteúdo de sessão, nome de arquivo, entrada de ferramenta ou informação pessoal é enviado.
249
249
 
250
- Para desativar:
250
+ Para desabilitar:
251
251
 
252
252
  ```bash
253
253
  FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
@@ -265,16 +265,16 @@ FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
265
265
  | [Configuração](docs/configuration.mdx) | Formato do arquivo de configuração e mesclagem de escopos |
266
266
  | [Painel](docs/dashboard.mdx) | Monitore sessões e revise a atividade das políticas |
267
267
  | [Arquitetura](docs/architecture.mdx) | Como o sistema de hooks funciona |
268
- | [Testes](docs/testing.mdx) | Executando testes e escrevendo novos |
268
+ | [Testes](docs/testing.mdx) | Executar testes e criar novos |
269
269
 
270
- ### Execute a documentação localmente
270
+ ### Executar a documentação localmente
271
271
 
272
272
  ```bash
273
273
  docker build -f Dockerfile.docs -t failproofai-docs .
274
274
  docker run --rm -p 3000:3000 failproofai-docs
275
275
  ```
276
276
 
277
- Abre o site de documentação Mintlify em `http://localhost:3000`. O container detecta alterações se você montar o diretório de docs:
277
+ Abre o site de documentação Mintlify em `http://localhost:3000`. O container observa alterações se você montar o diretório de docs:
278
278
 
279
279
  ```bash
280
280
  docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
@@ -284,15 +284,15 @@ docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
284
284
 
285
285
  ## Nota para contribuidores do failproofai
286
286
 
287
- O `.claude/settings.json` deste repositório usa `bun ./bin/failproofai.mjs --hook <EventType>` em vez do comando padrão `npx -y failproofai`. Isso ocorre porque executar `npx -y failproofai` dentro do próprio projeto failproofai gera um conflito de auto-referência.
287
+ O arquivo `.claude/settings.json` deste repositório usa `bun ./bin/failproofai.mjs --hook <EventType>` em vez do comando padrão `npx -y failproofai`. Isso ocorre porque executar `npx -y failproofai` dentro do próprio projeto failproofai cria um conflito de auto-referência.
288
288
 
289
- Para todos os outros repositórios, a abordagem recomendada é `npx -y failproofai`, instalado via:
289
+ Para todos os outros repositórios, a abordagem recomendada é `npx -y failproofai`, instalada via:
290
290
 
291
291
  ```bash
292
292
  failproofai policies --install --scope project
293
293
  ```
294
294
 
295
- ## Contribuindo
295
+ ## Contribuição
296
296
 
297
297
  Consulte [CONTRIBUTING.md](CONTRIBUTING.md).
298
298
 
@@ -304,4 +304,4 @@ Consulte [LICENSE](LICENSE).
304
304
 
305
305
  ---
306
306
 
307
- Criado e mantido pela **ExosphereHost: Reliability Research Lab for Your Agents**. Ajudamos empresas e startups a melhorar a confiabilidade de seus agentes de IA por meio de nossos próprios agentes, software e expertise. Saiba mais em [exosphere.host](https://exosphere.host).
307
+ Desenvolvido e mantido pela **ExosphereHost: Reliability Research Lab for Your Agents**. Ajudamos empresas e startups a melhorar a confiabilidade de seus agentes de IA por meio de nossos próprios agentes, software e expertise. Saiba mais em [exosphere.host](https://exosphere.host).