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.
- package/.next/standalone/.failproofai/policies/review-policies.mjs +112 -0
- package/.next/standalone/.failproofai/policies/workflow-policies.mjs +2 -1
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +5 -5
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/policies/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
- package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0a~g15g._.js → [root-of-the-server]__0rh.18_._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +6 -6
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0qn95h3._.js → [root-of-the-server]__0~kmh8w._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +5 -5
- package/.next/standalone/.next/server/pages/404.html +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
- package/.next/standalone/.next/static/chunks/{0sme4lkv.tgn-.js → 01b~z8f1ws0rk.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0lgbwkfqmnsmc.js → 03rz6ykw-a2xi.js} +1 -1
- package/.next/standalone/.next/static/chunks/{17manv47o-~wp.js → 08t08igdql9yt.js} +1 -1
- package/.next/standalone/.next/static/chunks/09_k80d~cq2wg.js +4 -0
- package/.next/standalone/.next/static/chunks/{0ksdlt_1hucdm.js → 0bvhsa6zva2o..js} +1 -1
- package/.next/standalone/.next/static/chunks/{09ikntpt2-o9b.js → 0gbf4cphy8ksq.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0yumumfzx_f27.js → 0v.yd0kg_ld3r.js} +1 -1
- package/.next/standalone/.next/static/chunks/{13juklu.vksks.js → 0wlyoif4_kj_t.js} +1 -1
- package/.next/standalone/.next/static/chunks/{09e7drilkf1sn.js → 12simlrcfk3g2.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0em7tspi4kylh.js → 12~yi9oj8av8p.js} +2 -2
- package/.next/standalone/.next/static/chunks/{turbopack-0r26pc8h0y_-e.js → turbopack-0o7k.hakttp4k.js} +1 -1
- package/.next/standalone/CHANGELOG.md +13 -0
- package/.next/standalone/README.md +2 -2
- package/.next/standalone/bun.lock +43 -85
- package/.next/standalone/dist/cli.mjs +107 -3
- package/.next/standalone/docs/ar/architecture.mdx +65 -64
- package/.next/standalone/docs/ar/configuration.mdx +42 -42
- package/.next/standalone/docs/ar/custom-policies.mdx +62 -64
- package/.next/standalone/docs/built-in-policies.mdx +37 -0
- package/.next/standalone/docs/custom-policies.mdx +1 -1
- package/.next/standalone/docs/de/architecture.mdx +92 -92
- package/.next/standalone/docs/de/configuration.mdx +34 -34
- package/.next/standalone/docs/de/custom-policies.mdx +49 -50
- package/.next/standalone/docs/es/architecture.mdx +72 -72
- package/.next/standalone/docs/es/configuration.mdx +25 -25
- package/.next/standalone/docs/es/custom-policies.mdx +48 -49
- package/.next/standalone/docs/examples.mdx +54 -0
- package/.next/standalone/docs/fr/architecture.mdx +53 -53
- package/.next/standalone/docs/fr/configuration.mdx +25 -25
- package/.next/standalone/docs/fr/custom-policies.mdx +42 -43
- package/.next/standalone/docs/getting-started.mdx +52 -0
- package/.next/standalone/docs/he/architecture.mdx +66 -66
- package/.next/standalone/docs/he/configuration.mdx +53 -52
- package/.next/standalone/docs/he/custom-policies.mdx +72 -73
- package/.next/standalone/docs/hi/architecture.mdx +106 -106
- package/.next/standalone/docs/hi/configuration.mdx +39 -39
- package/.next/standalone/docs/hi/custom-policies.mdx +75 -76
- package/.next/standalone/docs/i18n/README.ar.md +66 -66
- package/.next/standalone/docs/i18n/README.de.md +38 -38
- package/.next/standalone/docs/i18n/README.es.md +38 -38
- package/.next/standalone/docs/i18n/README.fr.md +42 -42
- package/.next/standalone/docs/i18n/README.he.md +67 -67
- package/.next/standalone/docs/i18n/README.hi.md +70 -70
- package/.next/standalone/docs/i18n/README.it.md +62 -62
- package/.next/standalone/docs/i18n/README.ja.md +54 -54
- package/.next/standalone/docs/i18n/README.ko.md +58 -58
- package/.next/standalone/docs/i18n/README.pt-br.md +43 -43
- package/.next/standalone/docs/i18n/README.ru.md +69 -69
- package/.next/standalone/docs/i18n/README.tr.md +76 -76
- package/.next/standalone/docs/i18n/README.vi.md +70 -70
- package/.next/standalone/docs/i18n/README.zh.md +52 -52
- package/.next/standalone/docs/it/architecture.mdx +54 -53
- package/.next/standalone/docs/it/configuration.mdx +44 -45
- package/.next/standalone/docs/it/custom-policies.mdx +76 -78
- package/.next/standalone/docs/ja/architecture.mdx +93 -93
- package/.next/standalone/docs/ja/configuration.mdx +47 -47
- package/.next/standalone/docs/ja/custom-policies.mdx +62 -63
- package/.next/standalone/docs/ko/architecture.mdx +66 -66
- package/.next/standalone/docs/ko/configuration.mdx +35 -35
- package/.next/standalone/docs/ko/custom-policies.mdx +71 -72
- package/.next/standalone/docs/pt-br/architecture.mdx +55 -55
- package/.next/standalone/docs/pt-br/configuration.mdx +35 -35
- package/.next/standalone/docs/pt-br/custom-policies.mdx +60 -61
- package/.next/standalone/docs/ru/architecture.mdx +59 -60
- package/.next/standalone/docs/ru/configuration.mdx +52 -53
- package/.next/standalone/docs/ru/custom-policies.mdx +68 -69
- package/.next/standalone/docs/tr/architecture.mdx +124 -124
- package/.next/standalone/docs/tr/configuration.mdx +45 -46
- package/.next/standalone/docs/tr/custom-policies.mdx +75 -75
- package/.next/standalone/docs/vi/architecture.mdx +65 -64
- package/.next/standalone/docs/vi/configuration.mdx +41 -41
- package/.next/standalone/docs/vi/custom-policies.mdx +68 -69
- package/.next/standalone/docs/zh/architecture.mdx +67 -67
- package/.next/standalone/docs/zh/configuration.mdx +34 -34
- package/.next/standalone/docs/zh/custom-policies.mdx +53 -54
- package/.next/standalone/node_modules/@next/env/package.json +1 -1
- package/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
- package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +7 -7
- package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
- package/.next/standalone/node_modules/next/dist/server/config-schema.js +10 -2
- package/.next/standalone/node_modules/next/dist/server/config.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/render.js +27 -20
- package/.next/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
- package/.next/standalone/node_modules/next/package.json +15 -15
- package/.next/standalone/package.json +2 -2
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/src/hooks/builtin-policies.ts +131 -0
- package/README.md +2 -2
- package/dist/cli.mjs +107 -3
- package/package.json +2 -2
- package/src/hooks/builtin-policies.ts +131 -0
- package/.next/standalone/.next/static/chunks/0_yayar~bpphd.js +0 -4
- /package/.next/standalone/.next/static/{hYQM6iCWnF1W5XDpsIRhV → CkmOT-ZvDN-sVULinGVKT}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{hYQM6iCWnF1W5XDpsIRhV → CkmOT-ZvDN-sVULinGVKT}/_clientMiddlewareManifest.js +0 -0
- /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 에이전트를 안정적으로 유지하고,
|
|
26
|
+
AI 에이전트를 안정적으로 유지하고, 주어진 작업에 집중하며, 자율적으로 실행될 수 있도록 정책을 관리하는 가장 쉬운 방법 — **Claude Code** 및 **Agents SDK** 지원.
|
|
27
27
|
|
|
28
|
-
- **30가지 기본 제공 정책** -
|
|
29
|
-
- **커스텀 정책** - JavaScript로
|
|
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`에 훅 항목을 작성합니다.
|
|
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
|
-
정책 설정은
|
|
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
|
-
**세 가지 설정
|
|
141
|
+
**세 가지 설정 범위**는 자동으로 병합됩니다(프로젝트 → 로컬 → 전역). 전체 병합 규칙은 [docs/configuration.mdx](docs/configuration.mdx)를 참고하세요.
|
|
142
142
|
|
|
143
143
|
---
|
|
144
144
|
|
|
145
145
|
## 기본 제공 정책
|
|
146
146
|
|
|
147
|
-
| 정책 | 설명 | 설정 가능 |
|
|
148
|
-
|
|
149
|
-
| `block-sudo` |
|
|
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 키가 에이전트 컨텍스트로
|
|
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` | 에이전트를 프로젝트 경계
|
|
161
|
-
| `block-secrets-write` | 개인 키 및 인증서
|
|
162
|
-
| `block-push-master` | main/master 브랜치에 실수로
|
|
163
|
-
| `block-work-on-main` | 에이전트가 보호된 브랜치에서
|
|
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
|
-
전체 정책 상세
|
|
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` 접근을 지원합니다.
|
|
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/`
|
|
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
|
-
두 수준 모두 로드됩니다
|
|
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) |
|
|
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
|
-
| [
|
|
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 문서
|
|
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 프로젝트
|
|
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: 에이전트를 위한 신뢰성
|
|
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
|
|
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**
|
|
29
|
-
- **Políticas Personalizadas**
|
|
30
|
-
- **Configuração Simples**
|
|
31
|
-
- **Monitor de Agentes**
|
|
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.
|
|
56
|
+
### 1. Habilitar políticas globalmente
|
|
57
57
|
|
|
58
58
|
```bash
|
|
59
59
|
failproofai policies --install
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
|
|
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.
|
|
64
|
+
### 2. Abrir o painel
|
|
65
65
|
|
|
66
66
|
```bash
|
|
67
67
|
failproofai
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
Abre `http://localhost:8020` — navegue
|
|
70
|
+
Abre `http://localhost:8020` — navegue por sessões, inspecione logs e gerencie políticas.
|
|
71
71
|
|
|
72
|
-
### 3.
|
|
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
|
|
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
|
|
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
|
|
152
|
-
| `block-failproofai-commands` | Previne a desinstalação
|
|
153
|
-
| `sanitize-jwt` | Impede
|
|
154
|
-
| `sanitize-api-keys` | Impede
|
|
155
|
-
| `sanitize-connection-strings` | Impede
|
|
156
|
-
| `sanitize-private-key-content` |
|
|
157
|
-
| `sanitize-bearer-tokens` |
|
|
158
|
-
| `block-env-files` | Impede
|
|
159
|
-
| `protect-env-vars` |
|
|
160
|
-
| `block-read-outside-cwd` | Mantém
|
|
161
|
-
| `block-secrets-write` |
|
|
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
|
|
166
|
-
| `warn-git-stash-drop` | Lembra
|
|
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
|
|
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
|
|
173
|
-
| `warn-global-package-install` | Detecta instalações
|
|
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
|
|
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
|
|
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
|
|
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}`
|
|
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
|
|
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
|
|
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
|
|
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) |
|
|
268
|
+
| [Testes](docs/testing.mdx) | Executar testes e criar novos |
|
|
269
269
|
|
|
270
|
-
###
|
|
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
|
|
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
|
|
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`,
|
|
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
|
-
##
|
|
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
|
-
|
|
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).
|