failproofai 0.0.6-beta.3 → 0.0.6-beta.5
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/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +7 -1
- 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/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 +17 -17
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +17 -17
- 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 +11 -11
- 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 +2 -2
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +16 -16
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +16 -16
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +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/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/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/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/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]__096k.db._.js → [root-of-the-server]__0u49i20._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0kyh86x._.js → [root-of-the-server]__0xezw2w._.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 +3 -3
- 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/03xexm0jftw.x.js +6 -0
- package/.next/standalone/.next/static/chunks/{0-dm_9a6nsc2l.js → 0_-7qmtiagi-~.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0l-mu4okl-cj1.js → 0af6vx3nh6v77.js} +1 -1
- package/.next/standalone/.next/static/chunks/{051m32nx~n5yr.js → 0hrob6m-1.n1d.js} +1 -1
- package/.next/standalone/.next/static/chunks/0mir9jdxn35~s.css +1 -0
- package/.next/standalone/.next/static/chunks/{156zca6aewyr-.js → 0ms9sfkvw5h5i.js} +1 -1
- package/.next/standalone/.next/static/chunks/{01pmw1-asbek~.js → 0on5naeqa0w.x.js} +2 -2
- package/.next/standalone/.next/static/chunks/{0mazj-p-~2kc6.js → 0q~7ymasjp~n7.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0a-yctdwn368y.js → 11vga8q3t~527.js} +1 -1
- package/.next/standalone/next.config.ts +6 -0
- package/.next/standalone/package.json +2 -2
- package/.next/standalone/server.js +1 -1
- package/dist/cli.mjs +90 -2
- package/package.json +2 -2
- package/scripts/prune-standalone.mjs +128 -0
- package/src/hooks/builtin-policies.ts +117 -0
- package/.next/standalone/.claude/settings.json +0 -316
- package/.next/standalone/.failproofai/policies/review-policies.mjs +0 -113
- package/.next/standalone/.failproofai/policies/workflow-policies.mjs +0 -63
- package/.next/standalone/.failproofai/policies-config.json +0 -39
- package/.next/standalone/.next/static/chunks/0gu_a.a80ritd.css +0 -1
- package/.next/standalone/.next/static/chunks/0qakntsrpc~1j.js +0 -6
- package/.next/standalone/AGENTS.md +0 -80
- package/.next/standalone/CHANGELOG.md +0 -158
- package/.next/standalone/CLAUDE.md +0 -165
- package/.next/standalone/CONTRIBUTING.md +0 -76
- package/.next/standalone/Dockerfile.docs +0 -12
- package/.next/standalone/LICENSE +0 -42
- package/.next/standalone/README.md +0 -301
- package/.next/standalone/bin/failproofai.mjs +0 -439
- package/.next/standalone/bun.lock +0 -1119
- package/.next/standalone/components.json +0 -23
- package/.next/standalone/dist/cli.mjs +0 -4696
- package/.next/standalone/dist/index.js +0 -80
- package/.next/standalone/docs/ar/architecture.mdx +0 -334
- package/.next/standalone/docs/ar/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/ar/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/ar/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/ar/cli/hook.mdx +0 -31
- package/.next/standalone/docs/ar/cli/install-policies.mdx +0 -48
- package/.next/standalone/docs/ar/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/ar/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/ar/cli/version.mdx +0 -13
- package/.next/standalone/docs/ar/configuration.mdx +0 -223
- package/.next/standalone/docs/ar/custom-policies.mdx +0 -354
- package/.next/standalone/docs/ar/dashboard.mdx +0 -142
- package/.next/standalone/docs/ar/examples.mdx +0 -307
- package/.next/standalone/docs/ar/for-agents.mdx +0 -39
- package/.next/standalone/docs/ar/getting-started.mdx +0 -187
- package/.next/standalone/docs/ar/introduction.mdx +0 -58
- package/.next/standalone/docs/ar/package-aliases.mdx +0 -82
- package/.next/standalone/docs/ar/testing.mdx +0 -261
- package/.next/standalone/docs/architecture.mdx +0 -332
- package/.next/standalone/docs/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/cli/hook.mdx +0 -30
- package/.next/standalone/docs/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/cli/version.mdx +0 -12
- package/.next/standalone/docs/configuration.mdx +0 -222
- package/.next/standalone/docs/custom-policies.mdx +0 -353
- package/.next/standalone/docs/dashboard.mdx +0 -142
- package/.next/standalone/docs/de/architecture.mdx +0 -332
- package/.next/standalone/docs/de/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/de/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/de/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/de/cli/hook.mdx +0 -30
- package/.next/standalone/docs/de/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/de/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/de/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/de/cli/version.mdx +0 -12
- package/.next/standalone/docs/de/configuration.mdx +0 -222
- package/.next/standalone/docs/de/custom-policies.mdx +0 -353
- package/.next/standalone/docs/de/dashboard.mdx +0 -142
- package/.next/standalone/docs/de/examples.mdx +0 -307
- package/.next/standalone/docs/de/for-agents.mdx +0 -38
- package/.next/standalone/docs/de/getting-started.mdx +0 -186
- package/.next/standalone/docs/de/introduction.mdx +0 -57
- package/.next/standalone/docs/de/package-aliases.mdx +0 -82
- package/.next/standalone/docs/de/testing.mdx +0 -260
- package/.next/standalone/docs/docs.json +0 -1002
- package/.next/standalone/docs/es/architecture.mdx +0 -332
- package/.next/standalone/docs/es/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/es/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/es/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/es/cli/hook.mdx +0 -30
- package/.next/standalone/docs/es/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/es/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/es/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/es/cli/version.mdx +0 -12
- package/.next/standalone/docs/es/configuration.mdx +0 -222
- package/.next/standalone/docs/es/custom-policies.mdx +0 -353
- package/.next/standalone/docs/es/dashboard.mdx +0 -142
- package/.next/standalone/docs/es/examples.mdx +0 -307
- package/.next/standalone/docs/es/for-agents.mdx +0 -38
- package/.next/standalone/docs/es/getting-started.mdx +0 -186
- package/.next/standalone/docs/es/introduction.mdx +0 -57
- package/.next/standalone/docs/es/package-aliases.mdx +0 -82
- package/.next/standalone/docs/es/testing.mdx +0 -260
- package/.next/standalone/docs/examples.mdx +0 -307
- package/.next/standalone/docs/favicon.ico +0 -0
- package/.next/standalone/docs/for-agents.mdx +0 -38
- package/.next/standalone/docs/fr/architecture.mdx +0 -332
- package/.next/standalone/docs/fr/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/fr/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/fr/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/fr/cli/hook.mdx +0 -30
- package/.next/standalone/docs/fr/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/fr/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/fr/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/fr/cli/version.mdx +0 -12
- package/.next/standalone/docs/fr/configuration.mdx +0 -222
- package/.next/standalone/docs/fr/custom-policies.mdx +0 -353
- package/.next/standalone/docs/fr/dashboard.mdx +0 -142
- package/.next/standalone/docs/fr/examples.mdx +0 -307
- package/.next/standalone/docs/fr/for-agents.mdx +0 -38
- package/.next/standalone/docs/fr/getting-started.mdx +0 -186
- package/.next/standalone/docs/fr/introduction.mdx +0 -57
- package/.next/standalone/docs/fr/package-aliases.mdx +0 -82
- package/.next/standalone/docs/fr/testing.mdx +0 -260
- package/.next/standalone/docs/getting-started.mdx +0 -186
- package/.next/standalone/docs/he/architecture.mdx +0 -333
- package/.next/standalone/docs/he/built-in-policies.mdx +0 -575
- package/.next/standalone/docs/he/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/he/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/he/cli/hook.mdx +0 -30
- package/.next/standalone/docs/he/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/he/cli/list-policies.mdx +0 -32
- package/.next/standalone/docs/he/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/he/cli/version.mdx +0 -12
- package/.next/standalone/docs/he/configuration.mdx +0 -223
- package/.next/standalone/docs/he/custom-policies.mdx +0 -353
- package/.next/standalone/docs/he/dashboard.mdx +0 -142
- package/.next/standalone/docs/he/examples.mdx +0 -307
- package/.next/standalone/docs/he/for-agents.mdx +0 -38
- package/.next/standalone/docs/he/getting-started.mdx +0 -186
- package/.next/standalone/docs/he/introduction.mdx +0 -57
- package/.next/standalone/docs/he/package-aliases.mdx +0 -82
- package/.next/standalone/docs/he/testing.mdx +0 -260
- package/.next/standalone/docs/hi/architecture.mdx +0 -334
- package/.next/standalone/docs/hi/built-in-policies.mdx +0 -572
- package/.next/standalone/docs/hi/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/hi/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/hi/cli/hook.mdx +0 -30
- package/.next/standalone/docs/hi/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/hi/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/hi/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/hi/cli/version.mdx +0 -12
- package/.next/standalone/docs/hi/configuration.mdx +0 -222
- package/.next/standalone/docs/hi/custom-policies.mdx +0 -354
- package/.next/standalone/docs/hi/dashboard.mdx +0 -142
- package/.next/standalone/docs/hi/examples.mdx +0 -309
- package/.next/standalone/docs/hi/for-agents.mdx +0 -38
- package/.next/standalone/docs/hi/getting-started.mdx +0 -187
- package/.next/standalone/docs/hi/introduction.mdx +0 -57
- package/.next/standalone/docs/hi/package-aliases.mdx +0 -82
- package/.next/standalone/docs/hi/testing.mdx +0 -260
- package/.next/standalone/docs/i18n/README.ar.md +0 -312
- package/.next/standalone/docs/i18n/README.de.md +0 -307
- package/.next/standalone/docs/i18n/README.es.md +0 -307
- package/.next/standalone/docs/i18n/README.fr.md +0 -307
- package/.next/standalone/docs/i18n/README.he.md +0 -312
- package/.next/standalone/docs/i18n/README.hi.md +0 -307
- package/.next/standalone/docs/i18n/README.it.md +0 -307
- package/.next/standalone/docs/i18n/README.ja.md +0 -307
- package/.next/standalone/docs/i18n/README.ko.md +0 -307
- package/.next/standalone/docs/i18n/README.pt-br.md +0 -307
- package/.next/standalone/docs/i18n/README.ru.md +0 -308
- package/.next/standalone/docs/i18n/README.tr.md +0 -307
- package/.next/standalone/docs/i18n/README.vi.md +0 -307
- package/.next/standalone/docs/i18n/README.zh.md +0 -307
- package/.next/standalone/docs/introduction.mdx +0 -57
- package/.next/standalone/docs/it/architecture.mdx +0 -334
- package/.next/standalone/docs/it/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/it/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/it/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/it/cli/hook.mdx +0 -30
- package/.next/standalone/docs/it/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/it/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/it/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/it/cli/version.mdx +0 -12
- package/.next/standalone/docs/it/configuration.mdx +0 -222
- package/.next/standalone/docs/it/custom-policies.mdx +0 -353
- package/.next/standalone/docs/it/dashboard.mdx +0 -142
- package/.next/standalone/docs/it/examples.mdx +0 -307
- package/.next/standalone/docs/it/for-agents.mdx +0 -38
- package/.next/standalone/docs/it/getting-started.mdx +0 -186
- package/.next/standalone/docs/it/introduction.mdx +0 -57
- package/.next/standalone/docs/it/package-aliases.mdx +0 -82
- package/.next/standalone/docs/it/testing.mdx +0 -260
- package/.next/standalone/docs/ja/architecture.mdx +0 -332
- package/.next/standalone/docs/ja/built-in-policies.mdx +0 -572
- package/.next/standalone/docs/ja/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/ja/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/ja/cli/hook.mdx +0 -30
- package/.next/standalone/docs/ja/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/ja/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/ja/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/ja/cli/version.mdx +0 -12
- package/.next/standalone/docs/ja/configuration.mdx +0 -222
- package/.next/standalone/docs/ja/custom-policies.mdx +0 -353
- package/.next/standalone/docs/ja/dashboard.mdx +0 -142
- package/.next/standalone/docs/ja/examples.mdx +0 -307
- package/.next/standalone/docs/ja/for-agents.mdx +0 -38
- package/.next/standalone/docs/ja/getting-started.mdx +0 -186
- package/.next/standalone/docs/ja/introduction.mdx +0 -57
- package/.next/standalone/docs/ja/package-aliases.mdx +0 -82
- package/.next/standalone/docs/ja/testing.mdx +0 -260
- package/.next/standalone/docs/ko/architecture.mdx +0 -332
- package/.next/standalone/docs/ko/built-in-policies.mdx +0 -572
- package/.next/standalone/docs/ko/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/ko/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/ko/cli/hook.mdx +0 -30
- package/.next/standalone/docs/ko/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/ko/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/ko/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/ko/cli/version.mdx +0 -12
- package/.next/standalone/docs/ko/configuration.mdx +0 -222
- package/.next/standalone/docs/ko/custom-policies.mdx +0 -353
- package/.next/standalone/docs/ko/dashboard.mdx +0 -142
- package/.next/standalone/docs/ko/examples.mdx +0 -307
- package/.next/standalone/docs/ko/for-agents.mdx +0 -38
- package/.next/standalone/docs/ko/getting-started.mdx +0 -186
- package/.next/standalone/docs/ko/introduction.mdx +0 -57
- package/.next/standalone/docs/ko/package-aliases.mdx +0 -82
- package/.next/standalone/docs/ko/testing.mdx +0 -260
- package/.next/standalone/docs/logo/dark.svg +0 -21
- package/.next/standalone/docs/logo/exosphere-dark.png +0 -0
- package/.next/standalone/docs/logo/exosphere-light.png +0 -0
- package/.next/standalone/docs/logo/light.svg +0 -21
- package/.next/standalone/docs/package-aliases.mdx +0 -82
- package/.next/standalone/docs/pt-br/architecture.mdx +0 -332
- package/.next/standalone/docs/pt-br/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/pt-br/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/pt-br/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/pt-br/cli/hook.mdx +0 -30
- package/.next/standalone/docs/pt-br/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/pt-br/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/pt-br/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/pt-br/cli/version.mdx +0 -12
- package/.next/standalone/docs/pt-br/configuration.mdx +0 -222
- package/.next/standalone/docs/pt-br/custom-policies.mdx +0 -353
- package/.next/standalone/docs/pt-br/dashboard.mdx +0 -142
- package/.next/standalone/docs/pt-br/examples.mdx +0 -307
- package/.next/standalone/docs/pt-br/for-agents.mdx +0 -38
- package/.next/standalone/docs/pt-br/getting-started.mdx +0 -186
- package/.next/standalone/docs/pt-br/introduction.mdx +0 -57
- package/.next/standalone/docs/pt-br/package-aliases.mdx +0 -82
- package/.next/standalone/docs/pt-br/testing.mdx +0 -260
- package/.next/standalone/docs/ru/architecture.mdx +0 -333
- package/.next/standalone/docs/ru/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/ru/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/ru/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/ru/cli/hook.mdx +0 -30
- package/.next/standalone/docs/ru/cli/install-policies.mdx +0 -48
- package/.next/standalone/docs/ru/cli/list-policies.mdx +0 -32
- package/.next/standalone/docs/ru/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/ru/cli/version.mdx +0 -12
- package/.next/standalone/docs/ru/configuration.mdx +0 -222
- package/.next/standalone/docs/ru/custom-policies.mdx +0 -354
- package/.next/standalone/docs/ru/dashboard.mdx +0 -142
- package/.next/standalone/docs/ru/examples.mdx +0 -309
- package/.next/standalone/docs/ru/for-agents.mdx +0 -38
- package/.next/standalone/docs/ru/getting-started.mdx +0 -186
- package/.next/standalone/docs/ru/introduction.mdx +0 -57
- package/.next/standalone/docs/ru/package-aliases.mdx +0 -82
- package/.next/standalone/docs/ru/testing.mdx +0 -260
- package/.next/standalone/docs/testing.mdx +0 -260
- package/.next/standalone/docs/tr/architecture.mdx +0 -333
- package/.next/standalone/docs/tr/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/tr/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/tr/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/tr/cli/hook.mdx +0 -30
- package/.next/standalone/docs/tr/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/tr/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/tr/cli/remove-policies.mdx +0 -44
- package/.next/standalone/docs/tr/cli/version.mdx +0 -12
- package/.next/standalone/docs/tr/configuration.mdx +0 -222
- package/.next/standalone/docs/tr/custom-policies.mdx +0 -353
- package/.next/standalone/docs/tr/dashboard.mdx +0 -142
- package/.next/standalone/docs/tr/examples.mdx +0 -308
- package/.next/standalone/docs/tr/for-agents.mdx +0 -38
- package/.next/standalone/docs/tr/getting-started.mdx +0 -186
- package/.next/standalone/docs/tr/introduction.mdx +0 -57
- package/.next/standalone/docs/tr/package-aliases.mdx +0 -82
- package/.next/standalone/docs/tr/testing.mdx +0 -260
- package/.next/standalone/docs/vi/architecture.mdx +0 -334
- package/.next/standalone/docs/vi/built-in-policies.mdx +0 -572
- package/.next/standalone/docs/vi/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/vi/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/vi/cli/hook.mdx +0 -30
- package/.next/standalone/docs/vi/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/vi/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/vi/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/vi/cli/version.mdx +0 -13
- package/.next/standalone/docs/vi/configuration.mdx +0 -222
- package/.next/standalone/docs/vi/custom-policies.mdx +0 -353
- package/.next/standalone/docs/vi/dashboard.mdx +0 -142
- package/.next/standalone/docs/vi/examples.mdx +0 -308
- package/.next/standalone/docs/vi/for-agents.mdx +0 -38
- package/.next/standalone/docs/vi/getting-started.mdx +0 -186
- package/.next/standalone/docs/vi/introduction.mdx +0 -57
- package/.next/standalone/docs/vi/package-aliases.mdx +0 -82
- package/.next/standalone/docs/vi/testing.mdx +0 -260
- package/.next/standalone/docs/zh/architecture.mdx +0 -332
- package/.next/standalone/docs/zh/built-in-policies.mdx +0 -570
- package/.next/standalone/docs/zh/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/zh/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/zh/cli/hook.mdx +0 -30
- package/.next/standalone/docs/zh/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/zh/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/zh/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/zh/cli/version.mdx +0 -12
- package/.next/standalone/docs/zh/configuration.mdx +0 -222
- package/.next/standalone/docs/zh/custom-policies.mdx +0 -353
- package/.next/standalone/docs/zh/dashboard.mdx +0 -142
- package/.next/standalone/docs/zh/examples.mdx +0 -307
- package/.next/standalone/docs/zh/for-agents.mdx +0 -38
- package/.next/standalone/docs/zh/getting-started.mdx +0 -186
- package/.next/standalone/docs/zh/introduction.mdx +0 -57
- package/.next/standalone/docs/zh/package-aliases.mdx +0 -82
- package/.next/standalone/docs/zh/testing.mdx +0 -260
- package/.next/standalone/eslint.config.mjs +0 -15
- package/.next/standalone/examples/convention-policies/security-policies.mjs +0 -40
- package/.next/standalone/examples/convention-policies/workflow-policies.mjs +0 -41
- package/.next/standalone/examples/policies-advanced/index.js +0 -103
- package/.next/standalone/examples/policies-advanced/utils.js +0 -35
- package/.next/standalone/examples/policies-basic.js +0 -77
- package/.next/standalone/examples/policies-notification.js +0 -104
- package/.next/standalone/node_modules/@img/colour/color.cjs +0 -1594
- package/.next/standalone/node_modules/@img/colour/index.cjs +0 -1
- package/.next/standalone/node_modules/@img/colour/package.json +0 -45
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/README.md +0 -46
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +0 -221
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/index.js +0 -1
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/package.json +0 -42
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/versions.json +0 -30
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +0 -46
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +0 -221
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +0 -1
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +0 -42
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +0 -30
- package/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
- package/.next/standalone/node_modules/@img/sharp-linux-x64/package.json +0 -46
- package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
- package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +0 -46
- package/.next/standalone/node_modules/detect-libc/lib/detect-libc.js +0 -313
- package/.next/standalone/node_modules/detect-libc/lib/elf.js +0 -39
- package/.next/standalone/node_modules/detect-libc/lib/filesystem.js +0 -51
- package/.next/standalone/node_modules/detect-libc/lib/process.js +0 -24
- package/.next/standalone/node_modules/detect-libc/package.json +0 -44
- package/.next/standalone/node_modules/sharp/lib/channel.js +0 -177
- package/.next/standalone/node_modules/sharp/lib/colour.js +0 -195
- package/.next/standalone/node_modules/sharp/lib/composite.js +0 -212
- package/.next/standalone/node_modules/sharp/lib/constructor.js +0 -499
- package/.next/standalone/node_modules/sharp/lib/index.js +0 -16
- package/.next/standalone/node_modules/sharp/lib/input.js +0 -809
- package/.next/standalone/node_modules/sharp/lib/is.js +0 -143
- package/.next/standalone/node_modules/sharp/lib/libvips.js +0 -207
- package/.next/standalone/node_modules/sharp/lib/operation.js +0 -1016
- package/.next/standalone/node_modules/sharp/lib/output.js +0 -1666
- package/.next/standalone/node_modules/sharp/lib/resize.js +0 -595
- package/.next/standalone/node_modules/sharp/lib/sharp.js +0 -121
- package/.next/standalone/node_modules/sharp/lib/utility.js +0 -291
- package/.next/standalone/node_modules/sharp/node_modules/semver/classes/comparator.js +0 -143
- package/.next/standalone/node_modules/sharp/node_modules/semver/classes/range.js +0 -557
- package/.next/standalone/node_modules/sharp/node_modules/semver/classes/semver.js +0 -333
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/cmp.js +0 -54
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/coerce.js +0 -62
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/compare.js +0 -7
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/eq.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/gt.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/gte.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/lt.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/lte.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/neq.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/parse.js +0 -18
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/satisfies.js +0 -12
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/constants.js +0 -37
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/debug.js +0 -11
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/identifiers.js +0 -29
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/lrucache.js +0 -42
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/parse-options.js +0 -17
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/re.js +0 -223
- package/.next/standalone/node_modules/sharp/node_modules/semver/package.json +0 -78
- package/.next/standalone/node_modules/sharp/package.json +0 -202
- package/.next/standalone/scripts/alias-proxy.js +0 -18
- package/.next/standalone/scripts/dev.ts +0 -3
- package/.next/standalone/scripts/install-telemetry.mjs +0 -108
- package/.next/standalone/scripts/launch.ts +0 -83
- package/.next/standalone/scripts/parse-script-args.ts +0 -87
- package/.next/standalone/scripts/postinstall.mjs +0 -121
- package/.next/standalone/scripts/preuninstall.mjs +0 -131
- package/.next/standalone/scripts/publish-aliases.mjs +0 -87
- package/.next/standalone/scripts/start.ts +0 -3
- package/.next/standalone/scripts/sync-hook-events-prompt.md +0 -60
- package/.next/standalone/scripts/translate-docs/cache.ts +0 -62
- package/.next/standalone/scripts/translate-docs/cli.ts +0 -357
- package/.next/standalone/scripts/translate-docs/config.ts +0 -248
- package/.next/standalone/scripts/translate-docs/mdx-translator.ts +0 -153
- package/.next/standalone/scripts/translate-docs/mintlify-nav.ts +0 -107
- package/.next/standalone/scripts/translate-docs/readme-translator.ts +0 -154
- package/.next/standalone/scripts/translate-docs/translator.ts +0 -68
- package/.next/standalone/scripts/translate-docs/types.ts +0 -43
- package/.next/standalone/src/auth/login.ts +0 -104
- package/.next/standalone/src/auth/logout.ts +0 -50
- package/.next/standalone/src/auth/token-store.ts +0 -64
- package/.next/standalone/src/cli-error.ts +0 -18
- package/.next/standalone/src/hooks/builtin-policies.ts +0 -1615
- package/.next/standalone/src/hooks/custom-hooks-loader.ts +0 -205
- package/.next/standalone/src/hooks/custom-hooks-registry.ts +0 -30
- package/.next/standalone/src/hooks/handler.ts +0 -222
- package/.next/standalone/src/hooks/hook-activity-store.ts +0 -349
- package/.next/standalone/src/hooks/hook-logger.ts +0 -133
- package/.next/standalone/src/hooks/hook-telemetry.ts +0 -43
- package/.next/standalone/src/hooks/hooks-config.ts +0 -166
- package/.next/standalone/src/hooks/install-prompt.ts +0 -357
- package/.next/standalone/src/hooks/llm-client.ts +0 -90
- package/.next/standalone/src/hooks/loader-utils.ts +0 -178
- package/.next/standalone/src/hooks/manager.ts +0 -692
- package/.next/standalone/src/hooks/policy-evaluator.ts +0 -224
- package/.next/standalone/src/hooks/policy-helpers.ts +0 -16
- package/.next/standalone/src/hooks/policy-registry.ts +0 -90
- package/.next/standalone/src/hooks/policy-types.ts +0 -77
- package/.next/standalone/src/hooks/types.ts +0 -63
- package/.next/standalone/src/index.ts +0 -19
- package/.next/standalone/src/posthog-key.ts +0 -5
- package/.next/standalone/src/relay/daemon.ts +0 -362
- package/.next/standalone/src/relay/pid.ts +0 -76
- package/.next/standalone/src/relay/queue.ts +0 -225
- package/.next/standalone/tailwind.config.ts +0 -11
- package/.next/standalone/tsconfig.json +0 -42
- package/.next/standalone/vitest.config.e2e.mts +0 -24
- package/.next/standalone/vitest.config.mts +0 -23
- /package/.next/standalone/.next/static/{r-wX0MuAfCjbhJm3phQc8 → Q-y1SELeezrTyQx0E2uqg}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{r-wX0MuAfCjbhJm3phQc8 → Q-y1SELeezrTyQx0E2uqg}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{r-wX0MuAfCjbhJm3phQc8 → Q-y1SELeezrTyQx0E2uqg}/_ssgManifest.js +0 -0
|
@@ -1,307 +0,0 @@
|
|
|
1
|
-
> **⚠️** This is an auto-generated translation. For the latest version, see the [English README](../../README.md). Community corrections welcome!
|
|
2
|
-
|
|
3
|
-
[🇺🇸 English](../../README.md) | [🇨🇳 简体中文](README.zh.md) | **🇯🇵 日本語** | [🇰🇷 한국어](README.ko.md) | [🇪🇸 Español](README.es.md) | [🇧🇷 Português](README.pt-br.md) | [🇩🇪 Deutsch](README.de.md) | [🇫🇷 Français](README.fr.md) | [🇷🇺 Русский](README.ru.md) | [🇮🇳 हिन्दी](README.hi.md) | [🇹🇷 Türkçe](README.tr.md) | [🇻🇳 Tiếng Việt](README.vi.md) | [🇮🇹 Italiano](README.it.md) | [🇸🇦 العربية](README.ar.md) | [🇮🇱 עברית](README.he.md)
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
______ _ __ ____ ___ ____
|
|
9
|
-
/ ____/___ _(_) /___ _________ ____ / __/ / | / _/
|
|
10
|
-
/ /_ / __ `/ / / __ \/ ___/ __ \/ __ \/ /_ / /| | / /
|
|
11
|
-
/ __/ / /_/ / / / /_/ / / / /_/ / /_/ / __/ / ___ |_/ /
|
|
12
|
-
/_/ \__,_/_/_/ .___/_/ \____/\____/_/ /_/ |_/___/
|
|
13
|
-
/_/
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
# Failproof AI
|
|
17
|
-
|
|
18
|
-
[](https://befailproof.ai)
|
|
19
|
-
[](https://www.npmjs.com/package/failproofai)
|
|
20
|
-
[](LICENSE)
|
|
21
|
-
[](https://github.com/exospherehost/failproofai/actions)
|
|
22
|
-
[](https://join.slack.com/t/failproofai/shared_invite/zt-3v63b7k5e-O3NBHmj8X6n9gZSGDx6ggQ)
|
|
23
|
-
|
|
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
|
-
|
|
26
|
-
AIエージェントを安定稼働させ、タスクに集中させ、自律的に動かし続けるためのポリシー管理ツール — **Claude Code** と **Agents SDK** に対応。
|
|
27
|
-
|
|
28
|
-
- **30種類の組み込みポリシー** - よくあるエージェントの障害パターンをすぐに検出。破壊的なコマンドのブロック、シークレット漏洩の防止、プロジェクト境界内への制限、ループ検出など。
|
|
29
|
-
- **カスタムポリシー** - JavaScriptで独自の信頼性ルールを記述。`allow`/`deny`/`instruct` APIを使って規約の強制、ドリフトの防止、操作のゲート制御、外部システムとの連携が可能。
|
|
30
|
-
- **シンプルな設定** - コードを書かずにどのポリシーも調整できます。許可リスト、保護ブランチ、しきい値をプロジェクト単位またはグローバルに設定。3スコープの設定が自動マージされます。
|
|
31
|
-
- **エージェントモニター** - 離席中にエージェントが何をしたか把握できます。セッションの閲覧、ツール呼び出しの詳細確認、ポリシーが発火した箇所のレビューが可能。
|
|
32
|
-
|
|
33
|
-
すべてローカルで動作 — データは外部に送信されません。
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## 動作要件
|
|
38
|
-
|
|
39
|
-
- Node.js >= 20.9.0
|
|
40
|
-
- Bun >= 1.3.0 (任意 — 開発時またはソースからビルドする場合のみ必要)
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## インストール
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
npm install -g failproofai
|
|
48
|
-
# または
|
|
49
|
-
bun add -g failproofai
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## クイックスタート
|
|
55
|
-
|
|
56
|
-
### 1. ポリシーをグローバルに有効化する
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
failproofai policies --install
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
`~/.claude/settings.json` にフックエントリを書き込みます。これにより Claude Code は各ツール呼び出しの前後に failproofai を呼び出すようになります。
|
|
63
|
-
|
|
64
|
-
### 2. ダッシュボードを起動する
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
failproofai
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
`http://localhost:8020` が開きます — セッションの閲覧、ログの確認、ポリシーの管理ができます。
|
|
71
|
-
|
|
72
|
-
### 3. 有効なポリシーを確認する
|
|
73
|
-
|
|
74
|
-
```bash
|
|
75
|
-
failproofai policies
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## ポリシーのインストール
|
|
81
|
-
|
|
82
|
-
### スコープ
|
|
83
|
-
|
|
84
|
-
| スコープ | コマンド | 書き込み先 |
|
|
85
|
-
|-------|---------|-----------------|
|
|
86
|
-
| グローバル(デフォルト) | `failproofai policies --install` | `~/.claude/settings.json` |
|
|
87
|
-
| プロジェクト | `failproofai policies --install --scope project` | `.claude/settings.json` |
|
|
88
|
-
| ローカル | `failproofai policies --install --scope local` | `.claude/settings.local.json` |
|
|
89
|
-
|
|
90
|
-
### 特定のポリシーをインストールする
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### ポリシーを削除する
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
failproofai policies --uninstall
|
|
100
|
-
# または特定のスコープを指定する場合:
|
|
101
|
-
failproofai policies --uninstall --scope project
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## 設定
|
|
107
|
-
|
|
108
|
-
ポリシー設定は `~/.failproofai/policies-config.json`(グローバル)またはプロジェクト内の `.failproofai/policies-config.json`(プロジェクト単位)に保存されます。
|
|
109
|
-
|
|
110
|
-
```json
|
|
111
|
-
{
|
|
112
|
-
"enabledPolicies": [
|
|
113
|
-
"block-sudo",
|
|
114
|
-
"block-rm-rf",
|
|
115
|
-
"sanitize-api-keys",
|
|
116
|
-
"block-push-master",
|
|
117
|
-
"block-env-files",
|
|
118
|
-
"block-read-outside-cwd"
|
|
119
|
-
],
|
|
120
|
-
"policyParams": {
|
|
121
|
-
"block-sudo": {
|
|
122
|
-
"allowPatterns": ["sudo systemctl status", "sudo journalctl"],
|
|
123
|
-
"hint": "Use apt-get directly without sudo."
|
|
124
|
-
},
|
|
125
|
-
"block-push-master": {
|
|
126
|
-
"protectedBranches": ["main", "release", "prod"],
|
|
127
|
-
"hint": "Try creating a fresh branch instead."
|
|
128
|
-
},
|
|
129
|
-
"sanitize-api-keys": {
|
|
130
|
-
"additionalPatterns": [
|
|
131
|
-
{ "regex": "myco_[A-Za-z0-9]{32}", "label": "MyCo API key" }
|
|
132
|
-
]
|
|
133
|
-
},
|
|
134
|
-
"warn-large-file-write": {
|
|
135
|
-
"thresholdKb": 512
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
**3つの設定スコープ**は自動的にマージされます(プロジェクト → ローカル → グローバル)。完全なマージルールは [docs/configuration.mdx](docs/configuration.mdx) を参照してください。
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
## 組み込みポリシー
|
|
146
|
-
|
|
147
|
-
| ポリシー | 説明 | 設定可能なパラメータ |
|
|
148
|
-
|--------|-------------|:---:|
|
|
149
|
-
| `block-sudo` | エージェントが特権システムコマンドを実行するのを防ぐ | `allowPatterns` |
|
|
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` | データベース認証情報がエージェントコンテキストに漏洩するのを止める | |
|
|
156
|
-
| `sanitize-private-key-content` | 出力からPEM秘密鍵ブロックを削除する | |
|
|
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` |
|
|
164
|
-
| `block-force-push` | `git push --force` を防ぐ | |
|
|
165
|
-
| `warn-git-amend` | コミットをamendする前にエージェントに通知する | |
|
|
166
|
-
| `warn-git-stash-drop` | stashをdropする前にエージェントに通知する | |
|
|
167
|
-
| `warn-all-files-staged` | 誤った `git add -A` を検出する | |
|
|
168
|
-
| `warn-destructive-sql` | 実行前にDROP/DELETE SQLを検出する | |
|
|
169
|
-
| `warn-schema-alteration` | 実行前にALTER TABLEを検出する | |
|
|
170
|
-
| `warn-large-file-write` | 予期しない大きなファイル書き込みを検出する | `thresholdKb` |
|
|
171
|
-
| `warn-package-publish` | 誤った `npm publish` を検出する | |
|
|
172
|
-
| `warn-background-process` | 意図しないバックグラウンドプロセスの起動を検出する | |
|
|
173
|
-
| `warn-global-package-install` | 意図しないグローバルパッケージのインストールを検出する | |
|
|
174
|
-
| …その他 | | |
|
|
175
|
-
|
|
176
|
-
ポリシーの詳細とパラメータリファレンス: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
|
|
177
|
-
|
|
178
|
-
---
|
|
179
|
-
|
|
180
|
-
## カスタムポリシー
|
|
181
|
-
|
|
182
|
-
エージェントを安定稼働させ、タスクに集中させるための独自ポリシーを作成できます:
|
|
183
|
-
|
|
184
|
-
```js
|
|
185
|
-
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
186
|
-
|
|
187
|
-
customPolicies.add({
|
|
188
|
-
name: "no-production-writes",
|
|
189
|
-
description: "Block writes to paths containing 'production'",
|
|
190
|
-
match: { events: ["PreToolUse"] },
|
|
191
|
-
fn: async (ctx) => {
|
|
192
|
-
if (!["Write", "Edit"].includes(ctx.toolName ?? "")) return allow();
|
|
193
|
-
const path = ctx.toolInput?.file_path ?? "";
|
|
194
|
-
if (path.includes("production")) return deny("Writes to production paths are blocked");
|
|
195
|
-
return allow();
|
|
196
|
-
},
|
|
197
|
-
});
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
以下のコマンドでインストールします:
|
|
201
|
-
|
|
202
|
-
```bash
|
|
203
|
-
failproofai policies --install --custom ./my-policies.js
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
### 判定ヘルパー
|
|
207
|
-
|
|
208
|
-
| 関数 | 効果 |
|
|
209
|
-
|----------|--------|
|
|
210
|
-
| `allow()` | 操作を許可する |
|
|
211
|
-
| `allow(message)` | 操作を許可し、情報コンテキストを Claude に送信する |
|
|
212
|
-
| `deny(message)` | 操作をブロックする。メッセージが Claude に表示される |
|
|
213
|
-
| `instruct(message)` | Claude のプロンプトにコンテキストを追加する。ブロックはしない |
|
|
214
|
-
|
|
215
|
-
### コンテキストオブジェクト(`ctx`)
|
|
216
|
-
|
|
217
|
-
| フィールド | 型 | 説明 |
|
|
218
|
-
|-------|------|-------------|
|
|
219
|
-
| `eventType` | `string` | `"PreToolUse"`、`"PostToolUse"`、`"Notification"`、`"Stop"` |
|
|
220
|
-
| `toolName` | `string` | 呼び出されるツール(`"Bash"`、`"Write"`、`"Read"` など) |
|
|
221
|
-
| `toolInput` | `object` | ツールの入力パラメータ |
|
|
222
|
-
| `payload` | `object` | 生のイベントペイロード全体 |
|
|
223
|
-
| `session.cwd` | `string` | Claude Code セッションのワーキングディレクトリ |
|
|
224
|
-
| `session.sessionId` | `string` | セッション識別子 |
|
|
225
|
-
| `session.transcriptPath` | `string` | セッションのトランスクリプトファイルへのパス |
|
|
226
|
-
|
|
227
|
-
カスタムフックは推移的なローカルインポート、async/await、`process.env` へのアクセスをサポートしています。エラーはフェイルオープン(`~/.failproofai/hook.log` に記録され、組み込みポリシーは継続)。詳細なガイドは [docs/custom-hooks.mdx](docs/custom-hooks.mdx) を参照してください。
|
|
228
|
-
|
|
229
|
-
### 規約ベースのポリシー
|
|
230
|
-
|
|
231
|
-
`*policies.{js,mjs,ts}` ファイルを `.failproofai/policies/` に置くだけで自動的に読み込まれます — フラグや設定変更は不要です。ディレクトリをgitにコミットすれば、チーム全員が同じ品質基準を自動的に適用できます。
|
|
232
|
-
|
|
233
|
-
```text
|
|
234
|
-
# プロジェクトレベル — gitにコミットし、チームで共有
|
|
235
|
-
.failproofai/policies/security-policies.mjs
|
|
236
|
-
.failproofai/policies/workflow-policies.mjs
|
|
237
|
-
|
|
238
|
-
# ユーザーレベル — 個人用、すべてのプロジェクトに適用
|
|
239
|
-
~/.failproofai/policies/my-policies.mjs
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
両方のレベルが読み込まれます(ユニオン)。ファイルは各ディレクトリ内でアルファベット順に読み込まれます。読み込み順を制御するには `01-`、`02-` などのプレフィックスを付けてください。チームが新たな障害パターンを発見したら、ポリシーを追加してプッシュするだけ — 次のプル時に全員が更新を受け取ります。すぐに使えるサンプルは [examples/convention-policies/](examples/convention-policies/) を参照してください。
|
|
243
|
-
|
|
244
|
-
---
|
|
245
|
-
|
|
246
|
-
## テレメトリー
|
|
247
|
-
|
|
248
|
-
Failproof AI は機能の利用状況を把握するために、PostHog を通じて匿名の使用状況テレメトリーを収集しています。セッションの内容、ファイル名、ツールの入力、個人情報は一切送信されません。
|
|
249
|
-
|
|
250
|
-
無効にするには:
|
|
251
|
-
|
|
252
|
-
```bash
|
|
253
|
-
FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
---
|
|
257
|
-
|
|
258
|
-
## ドキュメント
|
|
259
|
-
|
|
260
|
-
| ガイド | 説明 |
|
|
261
|
-
|-------|-------------|
|
|
262
|
-
| [Getting Started](docs/getting-started.mdx) | インストールと最初のステップ |
|
|
263
|
-
| [Built-in Policies](docs/built-in-policies.mdx) | パラメータ付き30種類の組み込みポリシー |
|
|
264
|
-
| [Custom Policies](docs/custom-policies.mdx) | 独自ポリシーの作成 |
|
|
265
|
-
| [Configuration](docs/configuration.mdx) | 設定ファイルの形式とスコープのマージ |
|
|
266
|
-
| [Dashboard](docs/dashboard.mdx) | セッションの監視とポリシーアクティビティのレビュー |
|
|
267
|
-
| [Architecture](docs/architecture.mdx) | フックシステムの仕組み |
|
|
268
|
-
| [Testing](docs/testing.mdx) | テストの実行と新しいテストの作成 |
|
|
269
|
-
|
|
270
|
-
### ドキュメントをローカルで実行する
|
|
271
|
-
|
|
272
|
-
```bash
|
|
273
|
-
docker build -f Dockerfile.docs -t failproofai-docs .
|
|
274
|
-
docker run --rm -p 3000:3000 failproofai-docs
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
`http://localhost:3000` でMintlifyドキュメントサイトが開きます。docsディレクトリをマウントすると、コンテナは変更を監視します:
|
|
278
|
-
|
|
279
|
-
```bash
|
|
280
|
-
docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
---
|
|
284
|
-
|
|
285
|
-
## failproofaiコントリビューターへのご注意
|
|
286
|
-
|
|
287
|
-
このリポジトリの `.claude/settings.json` は、標準の `npx -y failproofai` コマンドの代わりに `bun ./bin/failproofai.mjs --hook <EventType>` を使用しています。これは failproofai プロジェクト内で `npx -y failproofai` を実行すると自己参照の競合が発生するためです。
|
|
288
|
-
|
|
289
|
-
その他のリポジトリでは、推奨される方法は `npx -y failproofai` で、以下のコマンドでインストールします:
|
|
290
|
-
|
|
291
|
-
```bash
|
|
292
|
-
failproofai policies --install --scope project
|
|
293
|
-
```
|
|
294
|
-
|
|
295
|
-
## コントリビューション
|
|
296
|
-
|
|
297
|
-
[CONTRIBUTING.md](CONTRIBUTING.md) を参照してください。
|
|
298
|
-
|
|
299
|
-
---
|
|
300
|
-
|
|
301
|
-
## ライセンス
|
|
302
|
-
|
|
303
|
-
[LICENSE](LICENSE) を参照してください。
|
|
304
|
-
|
|
305
|
-
---
|
|
306
|
-
|
|
307
|
-
**ExosphereHost: Reliability Research Lab for Your Agents** が開発・メンテナンスしています。私たちは独自のエージェント、ソフトウェア、専門知識を通じて、企業やスタートアップのAIエージェントの信頼性向上を支援しています。詳細は [exosphere.host](https://exosphere.host) をご覧ください。
|
|
@@ -1,307 +0,0 @@
|
|
|
1
|
-
> **⚠️** This is an auto-generated translation. For the latest version, see the [English README](../../README.md). Community corrections welcome!
|
|
2
|
-
|
|
3
|
-
[🇺🇸 English](../../README.md) | [🇨🇳 简体中文](README.zh.md) | [🇯🇵 日本語](README.ja.md) | **🇰🇷 한국어** | [🇪🇸 Español](README.es.md) | [🇧🇷 Português](README.pt-br.md) | [🇩🇪 Deutsch](README.de.md) | [🇫🇷 Français](README.fr.md) | [🇷🇺 Русский](README.ru.md) | [🇮🇳 हिन्दी](README.hi.md) | [🇹🇷 Türkçe](README.tr.md) | [🇻🇳 Tiếng Việt](README.vi.md) | [🇮🇹 Italiano](README.it.md) | [🇸🇦 العربية](README.ar.md) | [🇮🇱 עברית](README.he.md)
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
______ _ __ ____ ___ ____
|
|
9
|
-
/ ____/___ _(_) /___ _________ ____ / __/ / | / _/
|
|
10
|
-
/ /_ / __ `/ / / __ \/ ___/ __ \/ __ \/ /_ / /| | / /
|
|
11
|
-
/ __/ / /_/ / / / /_/ / / / /_/ / /_/ / __/ / ___ |_/ /
|
|
12
|
-
/_/ \__,_/_/_/ .___/_/ \____/\____/_/ /_/ |_/___/
|
|
13
|
-
/_/
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
# Failproof AI
|
|
17
|
-
|
|
18
|
-
[](https://befailproof.ai)
|
|
19
|
-
[](https://www.npmjs.com/package/failproofai)
|
|
20
|
-
[](LICENSE)
|
|
21
|
-
[](https://github.com/exospherehost/failproofai/actions)
|
|
22
|
-
[](https://join.slack.com/t/failproofai/shared_invite/zt-3v63b7k5e-O3NBHmj8X6n9gZSGDx6ggQ)
|
|
23
|
-
|
|
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
|
-
|
|
26
|
-
AI 에이전트를 안정적이고, 목표에 집중하며, 자율적으로 실행되도록 유지하는 정책을 가장 쉽게 관리하는 방법 - **Claude Code** 및 **Agents SDK** 지원.
|
|
27
|
-
|
|
28
|
-
- **30개의 내장 정책** - 일반적인 에이전트 장애 유형을 즉시 감지합니다. 파괴적인 명령 차단, 비밀 정보 유출 방지, 에이전트를 프로젝트 범위 내로 제한, 루프 감지 등 다양한 기능을 제공합니다.
|
|
29
|
-
- **커스텀 정책** - JavaScript로 직접 안정성 규칙을 작성합니다. `allow`/`deny`/`instruct` API를 사용해 관행을 강제하고, 불필요한 변경을 방지하며, 작업을 제어하거나 외부 시스템과 연동할 수 있습니다.
|
|
30
|
-
- **간편한 설정** - 코드를 작성하지 않고도 모든 정책을 조정할 수 있습니다. 프로젝트별 또는 전역으로 허용 목록, 보호 브랜치, 임계값을 설정하세요. 세 가지 범위의 설정이 자동으로 병합됩니다.
|
|
31
|
-
- **에이전트 모니터** - 자리를 비운 사이 에이전트가 무엇을 했는지 확인하세요. 세션을 탐색하고, 모든 도구 호출을 검사하며, 정책이 발동된 정확한 위치를 검토할 수 있습니다.
|
|
32
|
-
|
|
33
|
-
모든 기능은 로컬에서 실행되며 - 어떤 데이터도 외부로 전송되지 않습니다.
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## 요구 사항
|
|
38
|
-
|
|
39
|
-
- Node.js >= 20.9.0
|
|
40
|
-
- Bun >= 1.3.0 (선택 사항 - 개발 또는 소스 빌드 시에만 필요)
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## 설치
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
npm install -g failproofai
|
|
48
|
-
# 또는
|
|
49
|
-
bun add -g failproofai
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## 빠른 시작
|
|
55
|
-
|
|
56
|
-
### 1. 전역으로 정책 활성화
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
failproofai policies --install
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
`~/.claude/settings.json`에 훅 항목을 작성합니다. 이후 Claude Code는 각 도구 호출 전후로 failproofai를 실행합니다.
|
|
63
|
-
|
|
64
|
-
### 2. 대시보드 실행
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
failproofai
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
`http://localhost:8020`을 열어 세션을 탐색하고, 로그를 확인하며, 정책을 관리합니다.
|
|
71
|
-
|
|
72
|
-
### 3. 활성 정책 확인
|
|
73
|
-
|
|
74
|
-
```bash
|
|
75
|
-
failproofai policies
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## 정책 설치
|
|
81
|
-
|
|
82
|
-
### 범위(Scope)
|
|
83
|
-
|
|
84
|
-
| 범위 | 명령어 | 기록 위치 |
|
|
85
|
-
|------|--------|-----------|
|
|
86
|
-
| 전역 (기본값) | `failproofai policies --install` | `~/.claude/settings.json` |
|
|
87
|
-
| 프로젝트 | `failproofai policies --install --scope project` | `.claude/settings.json` |
|
|
88
|
-
| 로컬 | `failproofai policies --install --scope local` | `.claude/settings.local.json` |
|
|
89
|
-
|
|
90
|
-
### 특정 정책 설치
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### 정책 제거
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
failproofai policies --uninstall
|
|
100
|
-
# 또는 특정 범위에서 제거:
|
|
101
|
-
failproofai policies --uninstall --scope project
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## 설정
|
|
107
|
-
|
|
108
|
-
정책 설정은 전역의 경우 `~/.failproofai/policies-config.json`, 프로젝트별의 경우 프로젝트 내 `.failproofai/policies-config.json`에 저장됩니다.
|
|
109
|
-
|
|
110
|
-
```json
|
|
111
|
-
{
|
|
112
|
-
"enabledPolicies": [
|
|
113
|
-
"block-sudo",
|
|
114
|
-
"block-rm-rf",
|
|
115
|
-
"sanitize-api-keys",
|
|
116
|
-
"block-push-master",
|
|
117
|
-
"block-env-files",
|
|
118
|
-
"block-read-outside-cwd"
|
|
119
|
-
],
|
|
120
|
-
"policyParams": {
|
|
121
|
-
"block-sudo": {
|
|
122
|
-
"allowPatterns": ["sudo systemctl status", "sudo journalctl"],
|
|
123
|
-
"hint": "Use apt-get directly without sudo."
|
|
124
|
-
},
|
|
125
|
-
"block-push-master": {
|
|
126
|
-
"protectedBranches": ["main", "release", "prod"],
|
|
127
|
-
"hint": "Try creating a fresh branch instead."
|
|
128
|
-
},
|
|
129
|
-
"sanitize-api-keys": {
|
|
130
|
-
"additionalPatterns": [
|
|
131
|
-
{ "regex": "myco_[A-Za-z0-9]{32}", "label": "MyCo API key" }
|
|
132
|
-
]
|
|
133
|
-
},
|
|
134
|
-
"warn-large-file-write": {
|
|
135
|
-
"thresholdKb": 512
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
**세 가지 설정 범위**는 자동으로 병합됩니다 (프로젝트 → 로컬 → 전역). 전체 병합 규칙은 [docs/configuration.mdx](docs/configuration.mdx)를 참고하세요.
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
## 내장 정책
|
|
146
|
-
|
|
147
|
-
| 정책 | 설명 | 설정 가능 |
|
|
148
|
-
|------|------|:---------:|
|
|
149
|
-
| `block-sudo` | 에이전트가 권한 있는 시스템 명령을 실행하지 못하도록 방지 | `allowPatterns` |
|
|
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` | 데이터베이스 자격 증명이 에이전트 컨텍스트로 유출되지 않도록 차단 | |
|
|
156
|
-
| `sanitize-private-key-content` | 출력에서 PEM 개인 키 블록 제거 | |
|
|
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` |
|
|
164
|
-
| `block-force-push` | `git push --force` 방지 | |
|
|
165
|
-
| `warn-git-amend` | 커밋 수정 전 에이전트에게 알림 | |
|
|
166
|
-
| `warn-git-stash-drop` | 스태시 삭제 전 에이전트에게 알림 | |
|
|
167
|
-
| `warn-all-files-staged` | 실수로 인한 `git add -A` 감지 | |
|
|
168
|
-
| `warn-destructive-sql` | 실행 전 DROP/DELETE SQL 감지 | |
|
|
169
|
-
| `warn-schema-alteration` | 실행 전 ALTER TABLE 감지 | |
|
|
170
|
-
| `warn-large-file-write` | 예상치 못하게 큰 파일 쓰기 감지 | `thresholdKb` |
|
|
171
|
-
| `warn-package-publish` | 실수로 인한 `npm publish` 감지 | |
|
|
172
|
-
| `warn-background-process` | 의도하지 않은 백그라운드 프로세스 실행 감지 | |
|
|
173
|
-
| `warn-global-package-install` | 의도하지 않은 전역 패키지 설치 감지 | |
|
|
174
|
-
| …및 기타 | | |
|
|
175
|
-
|
|
176
|
-
전체 정책 세부 사항 및 파라미터 참조: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
|
|
177
|
-
|
|
178
|
-
---
|
|
179
|
-
|
|
180
|
-
## 커스텀 정책
|
|
181
|
-
|
|
182
|
-
에이전트를 안정적이고 목표에 집중하도록 유지하는 정책을 직접 작성하세요:
|
|
183
|
-
|
|
184
|
-
```js
|
|
185
|
-
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
186
|
-
|
|
187
|
-
customPolicies.add({
|
|
188
|
-
name: "no-production-writes",
|
|
189
|
-
description: "Block writes to paths containing 'production'",
|
|
190
|
-
match: { events: ["PreToolUse"] },
|
|
191
|
-
fn: async (ctx) => {
|
|
192
|
-
if (!["Write", "Edit"].includes(ctx.toolName ?? "")) return allow();
|
|
193
|
-
const path = ctx.toolInput?.file_path ?? "";
|
|
194
|
-
if (path.includes("production")) return deny("Writes to production paths are blocked");
|
|
195
|
-
return allow();
|
|
196
|
-
},
|
|
197
|
-
});
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
다음 명령으로 설치합니다:
|
|
201
|
-
|
|
202
|
-
```bash
|
|
203
|
-
failproofai policies --install --custom ./my-policies.js
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
### 결정 헬퍼 함수
|
|
207
|
-
|
|
208
|
-
| 함수 | 동작 |
|
|
209
|
-
|------|------|
|
|
210
|
-
| `allow()` | 작업 허용 |
|
|
211
|
-
| `allow(message)` | 허용하고 Claude에 정보성 컨텍스트 전송 |
|
|
212
|
-
| `deny(message)` | 작업 차단; 메시지가 Claude에 표시됨 |
|
|
213
|
-
| `instruct(message)` | Claude의 프롬프트에 컨텍스트 추가; 차단하지 않음 |
|
|
214
|
-
|
|
215
|
-
### 컨텍스트 객체 (`ctx`)
|
|
216
|
-
|
|
217
|
-
| 필드 | 타입 | 설명 |
|
|
218
|
-
|------|------|------|
|
|
219
|
-
| `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
|
|
220
|
-
| `toolName` | `string` | 호출되는 도구 (`"Bash"`, `"Write"`, `"Read"`, …) |
|
|
221
|
-
| `toolInput` | `object` | 도구의 입력 파라미터 |
|
|
222
|
-
| `payload` | `object` | 전체 원시 이벤트 페이로드 |
|
|
223
|
-
| `session.cwd` | `string` | Claude Code 세션의 작업 디렉터리 |
|
|
224
|
-
| `session.sessionId` | `string` | 세션 식별자 |
|
|
225
|
-
| `session.transcriptPath` | `string` | 세션 트랜스크립트 파일 경로 |
|
|
226
|
-
|
|
227
|
-
커스텀 훅은 전이적 로컬 임포트, async/await, `process.env` 접근을 지원합니다. 오류 발생 시 fail-open 방식으로 처리됩니다 (`~/.failproofai/hook.log`에 기록되며 내장 정책은 계속 실행됩니다). 전체 가이드는 [docs/custom-hooks.mdx](docs/custom-hooks.mdx)를 참고하세요.
|
|
228
|
-
|
|
229
|
-
### 규약 기반 정책
|
|
230
|
-
|
|
231
|
-
`.failproofai/policies/` 디렉터리에 `*policies.{js,mjs,ts}` 파일을 추가하면 별도의 플래그나 설정 변경 없이 자동으로 로드됩니다. 해당 디렉터리를 git에 커밋하면 모든 팀원이 동일한 품질 기준을 자동으로 적용받습니다.
|
|
232
|
-
|
|
233
|
-
```text
|
|
234
|
-
# 프로젝트 수준 — git에 커밋되어 팀과 공유
|
|
235
|
-
.failproofai/policies/security-policies.mjs
|
|
236
|
-
.failproofai/policies/workflow-policies.mjs
|
|
237
|
-
|
|
238
|
-
# 사용자 수준 — 개인용, 모든 프로젝트에 적용
|
|
239
|
-
~/.failproofai/policies/my-policies.mjs
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
두 수준 모두 로드됩니다(합집합). 각 디렉터리 내에서 파일은 알파벳 순서로 로드됩니다. 순서를 제어하려면 `01-`, `02-` 등의 접두사를 사용하세요. 팀에서 새로운 장애 유형을 발견하면 정책을 추가하고 푸시하기만 하면 됩니다 — 팀원 모두가 다음 풀에서 업데이트를 받게 됩니다. 바로 사용할 수 있는 예제는 [examples/convention-policies/](examples/convention-policies/)를 참고하세요.
|
|
243
|
-
|
|
244
|
-
---
|
|
245
|
-
|
|
246
|
-
## 텔레메트리
|
|
247
|
-
|
|
248
|
-
Failproof AI는 기능 사용 현황을 파악하기 위해 PostHog를 통해 익명의 사용 텔레메트리를 수집합니다. 세션 내용, 파일 이름, 도구 입력, 개인 정보는 절대 전송되지 않습니다.
|
|
249
|
-
|
|
250
|
-
비활성화 방법:
|
|
251
|
-
|
|
252
|
-
```bash
|
|
253
|
-
FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
---
|
|
257
|
-
|
|
258
|
-
## 문서
|
|
259
|
-
|
|
260
|
-
| 가이드 | 설명 |
|
|
261
|
-
|--------|------|
|
|
262
|
-
| [시작하기](docs/getting-started.mdx) | 설치 및 첫 번째 단계 |
|
|
263
|
-
| [내장 정책](docs/built-in-policies.mdx) | 파라미터가 포함된 30개의 내장 정책 전체 목록 |
|
|
264
|
-
| [커스텀 정책](docs/custom-policies.mdx) | 직접 정책 작성하기 |
|
|
265
|
-
| [설정](docs/configuration.mdx) | 설정 파일 형식 및 범위 병합 |
|
|
266
|
-
| [대시보드](docs/dashboard.mdx) | 세션 모니터링 및 정책 활동 검토 |
|
|
267
|
-
| [아키텍처](docs/architecture.mdx) | 훅 시스템 동작 방식 |
|
|
268
|
-
| [테스팅](docs/testing.mdx) | 테스트 실행 및 새 테스트 작성 |
|
|
269
|
-
|
|
270
|
-
### 로컬에서 문서 실행
|
|
271
|
-
|
|
272
|
-
```bash
|
|
273
|
-
docker build -f Dockerfile.docs -t failproofai-docs .
|
|
274
|
-
docker run --rm -p 3000:3000 failproofai-docs
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
`http://localhost:3000`에서 Mintlify 문서 사이트를 엽니다. docs 디렉터리를 마운트하면 컨테이너가 변경 사항을 감시합니다:
|
|
278
|
-
|
|
279
|
-
```bash
|
|
280
|
-
docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
---
|
|
284
|
-
|
|
285
|
-
## failproofai 기여자를 위한 참고 사항
|
|
286
|
-
|
|
287
|
-
이 저장소의 `.claude/settings.json`은 표준 `npx -y failproofai` 명령 대신 `bun ./bin/failproofai.mjs --hook <EventType>`을 사용합니다. 이는 failproofai 프로젝트 내에서 `npx -y failproofai`를 실행하면 자기 참조 충돌이 발생하기 때문입니다.
|
|
288
|
-
|
|
289
|
-
다른 모든 저장소에서는 권장 방법인 `npx -y failproofai`를 사용하며, 다음 명령으로 설치합니다:
|
|
290
|
-
|
|
291
|
-
```bash
|
|
292
|
-
failproofai policies --install --scope project
|
|
293
|
-
```
|
|
294
|
-
|
|
295
|
-
## 기여하기
|
|
296
|
-
|
|
297
|
-
[CONTRIBUTING.md](CONTRIBUTING.md)를 참고하세요.
|
|
298
|
-
|
|
299
|
-
---
|
|
300
|
-
|
|
301
|
-
## 라이선스
|
|
302
|
-
|
|
303
|
-
[LICENSE](LICENSE)를 참고하세요.
|
|
304
|
-
|
|
305
|
-
---
|
|
306
|
-
|
|
307
|
-
**ExosphereHost: 에이전트를 위한 신뢰성 연구 실험실**이 구축하고 유지 관리합니다. 저희는 자체 에이전트, 소프트웨어, 전문 지식을 통해 기업과 스타트업이 AI 에이전트의 신뢰성을 향상시킬 수 있도록 지원합니다. 자세한 내용은 [exosphere.host](https://exosphere.host)를 방문하세요.
|