failproofai 0.0.6-beta.2 → 0.0.6-beta.4
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]__0i5kvry._.js → [root-of-the-server]__0om-5pe._.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]__05akje6._.js → [root-of-the-server]__111.vxi._.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/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.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/{05j1px0r8yzh6.js → 02dqjyv6_9mhq.js} +2 -2
- package/.next/standalone/.next/static/chunks/{14cl9poem30dq.js → 070orfsl6.xal.js} +1 -1
- package/.next/standalone/.next/static/chunks/0mir9jdxn35~s.css +1 -0
- package/.next/standalone/.next/static/chunks/{00j0rr7rh8ef8.js → 0o547jv-k_k35.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0ijk_kek9_wyx.js → 0pk2h2.mjxy.m.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0xpl.oscrakvx.js → 0rcwkbh24w38b.js} +1 -1
- package/.next/standalone/.next/static/chunks/{1052sguyd-.ka.js → 140xx_tfr~lm_.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0npb~873.wvg3.js → 169_e4dq~1~b6.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0badv41uxa56..js → 17ne4p.1sw1jy.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/bin/failproofai.mjs +91 -4
- package/dist/cli.mjs +1155 -54
- package/package.json +2 -2
- package/scripts/prune-standalone.mjs +128 -0
- package/src/auth/login.ts +104 -0
- package/src/auth/logout.ts +50 -0
- package/src/auth/token-store.ts +64 -0
- package/src/hooks/builtin-policies.ts +22 -20
- package/src/hooks/handler.ts +35 -15
- package/src/relay/daemon.ts +362 -0
- package/src/relay/pid.ts +76 -0
- package/src/relay/queue.ts +225 -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/AGENTS.md +0 -80
- package/.next/standalone/CHANGELOG.md +0 -151
- 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 -352
- package/.next/standalone/bun.lock +0 -1119
- package/.next/standalone/components.json +0 -23
- package/.next/standalone/dist/cli.mjs +0 -3595
- 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 -574
- 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 -576
- 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 -575
- 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 -572
- 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/cli-error.ts +0 -18
- package/.next/standalone/src/hooks/builtin-policies.ts +0 -1613
- 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 -202
- 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/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/{A9pNTZdoYJTVyPAYwQMx5 → wOkJXoch1UmRAmyIuKZWc}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → wOkJXoch1UmRAmyIuKZWc}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → wOkJXoch1UmRAmyIuKZWc}/_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.ja.md) | [🇰🇷 한국어](README.ko.md) | [🇪🇸 Español](README.es.md) | [🇧🇷 Português](README.pt-br.md) | **🇩🇪 Deutsch** | [🇫🇷 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
|
-
**Übersetzungen**: [简体中文](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
|
-
Der einfachste Weg, Richtlinien zu verwalten, die Ihre KI-Agenten zuverlässig, fokussiert und autonom am Laufen halten – für **Claude Code** & das **Agents SDK**.
|
|
27
|
-
|
|
28
|
-
- **30 integrierte Richtlinien** – Häufige Fehlerquellen bei Agenten werden direkt ab Werk abgefangen. Destruktive Befehle blockieren, Secret-Leaks verhindern, Agenten innerhalb der Projektgrenzen halten, Endlosschleifen erkennen und vieles mehr.
|
|
29
|
-
- **Benutzerdefinierte Richtlinien** – Schreiben Sie eigene Zuverlässigkeitsregeln in JavaScript. Nutzen Sie die `allow`/`deny`/`instruct`-API, um Konventionen durchzusetzen, Drift zu verhindern, Operationen abzusichern oder externe Systeme einzubinden.
|
|
30
|
-
- **Einfache Konfiguration** – Jede Richtlinie lässt sich ohne Code anpassen. Erlaubnislisten, geschützte Branches und Schwellenwerte pro Projekt oder global festlegen. Drei Konfigurationsebenen werden automatisch zusammengeführt.
|
|
31
|
-
- **Agent Monitor** – Sehen Sie, was Ihre Agenten gemacht haben, während Sie weg waren. Sitzungen durchsuchen, jeden Tool-Aufruf inspizieren und genau nachvollziehen, wo Richtlinien ausgelöst wurden.
|
|
32
|
-
|
|
33
|
-
Alles läuft lokal – keine Daten verlassen Ihren Rechner.
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Voraussetzungen
|
|
38
|
-
|
|
39
|
-
- Node.js >= 20.9.0
|
|
40
|
-
- Bun >= 1.3.0 (optional – wird nur für die Entwicklung / das Bauen aus dem Quellcode benötigt)
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## Installation
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
npm install -g failproofai
|
|
48
|
-
# oder
|
|
49
|
-
bun add -g failproofai
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## Schnellstart
|
|
55
|
-
|
|
56
|
-
### 1. Richtlinien global aktivieren
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
failproofai policies --install
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
Schreibt Hook-Einträge in `~/.claude/settings.json`. Claude Code ruft failproofai nun vor und nach jedem Tool-Aufruf auf.
|
|
63
|
-
|
|
64
|
-
### 2. Dashboard starten
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
failproofai
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
Öffnet `http://localhost:8020` – Sitzungen durchsuchen, Logs inspizieren, Richtlinien verwalten.
|
|
71
|
-
|
|
72
|
-
### 3. Aktive Richtlinien prüfen
|
|
73
|
-
|
|
74
|
-
```bash
|
|
75
|
-
failproofai policies
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## Richtlinien-Installation
|
|
81
|
-
|
|
82
|
-
### Geltungsbereiche
|
|
83
|
-
|
|
84
|
-
| Bereich | Befehl | Schreibort |
|
|
85
|
-
|---------|--------|------------|
|
|
86
|
-
| Global (Standard) | `failproofai policies --install` | `~/.claude/settings.json` |
|
|
87
|
-
| Projekt | `failproofai policies --install --scope project` | `.claude/settings.json` |
|
|
88
|
-
| Lokal | `failproofai policies --install --scope local` | `.claude/settings.local.json` |
|
|
89
|
-
|
|
90
|
-
### Bestimmte Richtlinien installieren
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### Richtlinien entfernen
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
failproofai policies --uninstall
|
|
100
|
-
# oder für einen bestimmten Bereich:
|
|
101
|
-
failproofai policies --uninstall --scope project
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## Konfiguration
|
|
107
|
-
|
|
108
|
-
Die Richtlinienkonfiguration liegt in `~/.failproofai/policies-config.json` (global) oder `.failproofai/policies-config.json` in Ihrem Projekt (projektspezifisch).
|
|
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
|
-
**Drei Konfigurationsbereiche** werden automatisch zusammengeführt (Projekt → Lokal → Global). Vollständige Zusammenführungsregeln: [docs/configuration.mdx](docs/configuration.mdx).
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
## Integrierte Richtlinien
|
|
146
|
-
|
|
147
|
-
| Richtlinie | Beschreibung | Konfigurierbar |
|
|
148
|
-
|------------|--------------|:--------------:|
|
|
149
|
-
| `block-sudo` | Verhindert, dass Agenten privilegierte Systembefehle ausführen | `allowPatterns` |
|
|
150
|
-
| `block-rm-rf` | Verhindert versehentliches rekursives Löschen von Dateien | `allowPaths` |
|
|
151
|
-
| `block-curl-pipe-sh` | Verhindert, dass Agenten nicht vertrauenswürdige Skripte an die Shell weiterleiten | |
|
|
152
|
-
| `block-failproofai-commands` | Verhindert die Selbstdeinstallation | |
|
|
153
|
-
| `sanitize-jwt` | Verhindert, dass JWT-Tokens in den Agenten-Kontext gelangen | |
|
|
154
|
-
| `sanitize-api-keys` | Verhindert, dass API-Schlüssel in den Agenten-Kontext gelangen | `additionalPatterns` |
|
|
155
|
-
| `sanitize-connection-strings` | Verhindert, dass Datenbank-Zugangsdaten in den Agenten-Kontext gelangen | |
|
|
156
|
-
| `sanitize-private-key-content` | Entfernt PEM-Private-Key-Blöcke aus der Ausgabe | |
|
|
157
|
-
| `sanitize-bearer-tokens` | Entfernt Authorization-Bearer-Tokens aus der Ausgabe | |
|
|
158
|
-
| `block-env-files` | Hindert Agenten daran, .env-Dateien zu lesen | |
|
|
159
|
-
| `protect-env-vars` | Verhindert, dass Agenten Umgebungsvariablen ausgeben | |
|
|
160
|
-
| `block-read-outside-cwd` | Hält Agenten innerhalb der Projektgrenzen | `allowPaths` |
|
|
161
|
-
| `block-secrets-write` | Verhindert Schreibzugriffe auf Private-Key- und Zertifikatsdateien | `additionalPatterns` |
|
|
162
|
-
| `block-push-master` | Verhindert versehentliche Pushes auf main/master | `protectedBranches` |
|
|
163
|
-
| `block-work-on-main` | Hält Agenten von geschützten Branches fern | `protectedBranches` |
|
|
164
|
-
| `block-force-push` | Verhindert `git push --force` | |
|
|
165
|
-
| `warn-git-amend` | Erinnert Agenten vor dem Ändern von Commits | |
|
|
166
|
-
| `warn-git-stash-drop` | Erinnert Agenten vor dem Verwerfen von Stashes | |
|
|
167
|
-
| `warn-all-files-staged` | Erkennt versehentliches `git add -A` | |
|
|
168
|
-
| `warn-destructive-sql` | Erkennt DROP/DELETE-SQL vor der Ausführung | |
|
|
169
|
-
| `warn-schema-alteration` | Erkennt ALTER TABLE vor der Ausführung | |
|
|
170
|
-
| `warn-large-file-write` | Erkennt unerwartet große Datei-Schreibvorgänge | `thresholdKb` |
|
|
171
|
-
| `warn-package-publish` | Erkennt versehentliches `npm publish` | |
|
|
172
|
-
| `warn-background-process` | Erkennt unbeabsichtigte Hintergrundprozess-Starts | |
|
|
173
|
-
| `warn-global-package-install` | Erkennt unbeabsichtigte globale Paket-Installationen | |
|
|
174
|
-
| …und weitere | | |
|
|
175
|
-
|
|
176
|
-
Vollständige Richtlinien-Details und Parameterreferenz: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
|
|
177
|
-
|
|
178
|
-
---
|
|
179
|
-
|
|
180
|
-
## Benutzerdefinierte Richtlinien
|
|
181
|
-
|
|
182
|
-
Schreiben Sie eigene Richtlinien, um Agenten zuverlässig und fokussiert zu halten:
|
|
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
|
-
Installation mit:
|
|
201
|
-
|
|
202
|
-
```bash
|
|
203
|
-
failproofai policies --install --custom ./my-policies.js
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
### Entscheidungs-Hilfsfunktionen
|
|
207
|
-
|
|
208
|
-
| Funktion | Wirkung |
|
|
209
|
-
|----------|---------|
|
|
210
|
-
| `allow()` | Aktion erlauben |
|
|
211
|
-
| `allow(message)` | Aktion erlauben und informativen Kontext an Claude senden |
|
|
212
|
-
| `deny(message)` | Aktion blockieren; Nachricht wird Claude angezeigt |
|
|
213
|
-
| `instruct(message)` | Kontext zum Prompt von Claude hinzufügen; blockiert nicht |
|
|
214
|
-
|
|
215
|
-
### Kontext-Objekt (`ctx`)
|
|
216
|
-
|
|
217
|
-
| Feld | Typ | Beschreibung |
|
|
218
|
-
|------|-----|--------------|
|
|
219
|
-
| `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
|
|
220
|
-
| `toolName` | `string` | Aufgerufenes Tool (`"Bash"`, `"Write"`, `"Read"`, …) |
|
|
221
|
-
| `toolInput` | `object` | Eingabeparameter des Tools |
|
|
222
|
-
| `payload` | `object` | Vollständiger roher Event-Payload |
|
|
223
|
-
| `session.cwd` | `string` | Arbeitsverzeichnis der Claude Code-Sitzung |
|
|
224
|
-
| `session.sessionId` | `string` | Sitzungskennung |
|
|
225
|
-
| `session.transcriptPath` | `string` | Pfad zur Sitzungsprotokoll-Datei |
|
|
226
|
-
|
|
227
|
-
Benutzerdefinierte Hooks unterstützen transitive lokale Imports, async/await und Zugriff auf `process.env`. Fehler sind fail-open (werden in `~/.failproofai/hook.log` protokolliert, integrierte Richtlinien laufen weiter). Vollständige Anleitung: [docs/custom-hooks.mdx](docs/custom-hooks.mdx).
|
|
228
|
-
|
|
229
|
-
### Konventionsbasierte Richtlinien
|
|
230
|
-
|
|
231
|
-
Legen Sie `*policies.{js,mjs,ts}`-Dateien in `.failproofai/policies/` ab, und sie werden automatisch geladen – ohne Flags oder Konfigurationsänderungen. Committen Sie das Verzeichnis in Git, und jedes Teammitglied erhält dieselben Qualitätsstandards automatisch.
|
|
232
|
-
|
|
233
|
-
```text
|
|
234
|
-
# Projektebene — in Git eingecheckt, mit dem Team geteilt
|
|
235
|
-
.failproofai/policies/security-policies.mjs
|
|
236
|
-
.failproofai/policies/workflow-policies.mjs
|
|
237
|
-
|
|
238
|
-
# Benutzerebene — persönlich, gilt für alle Projekte
|
|
239
|
-
~/.failproofai/policies/my-policies.mjs
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
Beide Ebenen werden geladen (Vereinigung). Dateien werden innerhalb jedes Verzeichnisses alphabetisch geladen. Präfixe wie `01-`, `02-` usw. steuern die Reihenfolge. Sobald Ihr Team neue Fehlerquellen entdeckt, fügen Sie eine Richtlinie hinzu und pushen – alle erhalten das Update beim nächsten Pull. Fertige Beispiele finden Sie unter [examples/convention-policies/](examples/convention-policies/).
|
|
243
|
-
|
|
244
|
-
---
|
|
245
|
-
|
|
246
|
-
## Telemetrie
|
|
247
|
-
|
|
248
|
-
Failproof AI erfasst anonyme Nutzungstelemetrie über PostHog, um die Funktionsnutzung zu verstehen. Es werden niemals Sitzungsinhalte, Dateinamen, Tool-Eingaben oder persönliche Informationen übermittelt.
|
|
249
|
-
|
|
250
|
-
Deaktivierung:
|
|
251
|
-
|
|
252
|
-
```bash
|
|
253
|
-
FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
---
|
|
257
|
-
|
|
258
|
-
## Dokumentation
|
|
259
|
-
|
|
260
|
-
| Leitfaden | Beschreibung |
|
|
261
|
-
|-----------|--------------|
|
|
262
|
-
| [Erste Schritte](docs/getting-started.mdx) | Installation und erster Einstieg |
|
|
263
|
-
| [Integrierte Richtlinien](docs/built-in-policies.mdx) | Alle 30 integrierten Richtlinien mit Parametern |
|
|
264
|
-
| [Benutzerdefinierte Richtlinien](docs/custom-policies.mdx) | Eigene Richtlinien schreiben |
|
|
265
|
-
| [Konfiguration](docs/configuration.mdx) | Konfigurationsdateiformat und Bereichs-Zusammenführung |
|
|
266
|
-
| [Dashboard](docs/dashboard.mdx) | Sitzungen überwachen und Richtlinienaktivität überprüfen |
|
|
267
|
-
| [Architektur](docs/architecture.mdx) | Funktionsweise des Hook-Systems |
|
|
268
|
-
| [Tests](docs/testing.mdx) | Tests ausführen und neue schreiben |
|
|
269
|
-
|
|
270
|
-
### Dokumentation lokal ausführen
|
|
271
|
-
|
|
272
|
-
```bash
|
|
273
|
-
docker build -f Dockerfile.docs -t failproofai-docs .
|
|
274
|
-
docker run --rm -p 3000:3000 failproofai-docs
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
Öffnet die Mintlify-Dokumentationsseite unter `http://localhost:3000`. Der Container erkennt Änderungen, wenn Sie das Docs-Verzeichnis einbinden:
|
|
278
|
-
|
|
279
|
-
```bash
|
|
280
|
-
docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
---
|
|
284
|
-
|
|
285
|
-
## Hinweis für failproofai-Mitwirkende
|
|
286
|
-
|
|
287
|
-
Das `.claude/settings.json` dieses Repos verwendet `bun ./bin/failproofai.mjs --hook <EventType>` anstelle des üblichen `npx -y failproofai`-Befehls. Der Grund: Das Ausführen von `npx -y failproofai` innerhalb des failproofai-Projekts selbst führt zu einem selbstreferenzierenden Konflikt.
|
|
288
|
-
|
|
289
|
-
Für alle anderen Repos ist der empfohlene Ansatz `npx -y failproofai`, installiert über:
|
|
290
|
-
|
|
291
|
-
```bash
|
|
292
|
-
failproofai policies --install --scope project
|
|
293
|
-
```
|
|
294
|
-
|
|
295
|
-
## Mitwirken
|
|
296
|
-
|
|
297
|
-
Siehe [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
298
|
-
|
|
299
|
-
---
|
|
300
|
-
|
|
301
|
-
## Lizenz
|
|
302
|
-
|
|
303
|
-
Siehe [LICENSE](LICENSE).
|
|
304
|
-
|
|
305
|
-
---
|
|
306
|
-
|
|
307
|
-
Entwickelt und gepflegt von **ExosphereHost: Reliability Research Lab for Your Agents**. Wir helfen Unternehmen und Startups, die Zuverlässigkeit ihrer KI-Agenten durch eigene Agenten, Software und Expertise zu verbessern. Mehr erfahren unter [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) | [🇰🇷 한국어](README.ko.md) | **🇪🇸 Español** | [🇧🇷 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
|
-
**Traducciones**: [简体中文](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
|
-
La forma más sencilla de gestionar políticas que mantienen a tus agentes de IA confiables, enfocados y funcionando de manera autónoma - para **Claude Code** y el **Agents SDK**.
|
|
27
|
-
|
|
28
|
-
- **30 Políticas integradas** - Detecta los fallos más comunes de los agentes desde el primer momento. Bloquea comandos destructivos, evita la fuga de secretos, mantiene a los agentes dentro de los límites del proyecto, detecta bucles y mucho más.
|
|
29
|
-
- **Políticas personalizadas** - Escribe tus propias reglas de fiabilidad en JavaScript. Usa la API `allow`/`deny`/`instruct` para aplicar convenciones, prevenir desvíos, controlar operaciones o integrarte con sistemas externos.
|
|
30
|
-
- **Configuración sencilla** - Ajusta cualquier política sin escribir código. Define listas de permisos, ramas protegidas y umbrales por proyecto o de forma global. La configuración en tres niveles se combina automáticamente.
|
|
31
|
-
- **Monitor de agentes** - Descubre qué hicieron tus agentes mientras estabas ausente. Navega por las sesiones, inspecciona cada llamada a herramientas y revisa exactamente dónde se activaron las políticas.
|
|
32
|
-
|
|
33
|
-
Todo se ejecuta localmente — ningún dato sale de tu máquina.
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Requisitos
|
|
38
|
-
|
|
39
|
-
- Node.js >= 20.9.0
|
|
40
|
-
- Bun >= 1.3.0 (opcional — solo necesario para desarrollo o compilación desde el código fuente)
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## Instalación
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
npm install -g failproofai
|
|
48
|
-
# o
|
|
49
|
-
bun add -g failproofai
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## Inicio rápido
|
|
55
|
-
|
|
56
|
-
### 1. Habilitar políticas globalmente
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
failproofai policies --install
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
Escribe las entradas de hook en `~/.claude/settings.json`. A partir de ahora, Claude Code invocará failproofai antes y después de cada llamada a herramientas.
|
|
63
|
-
|
|
64
|
-
### 2. Iniciar el panel de control
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
failproofai
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
Abre `http://localhost:8020` — navega por las sesiones, inspecciona los registros y gestiona las políticas.
|
|
71
|
-
|
|
72
|
-
### 3. Verificar qué está activo
|
|
73
|
-
|
|
74
|
-
```bash
|
|
75
|
-
failproofai policies
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## Instalación de políticas
|
|
81
|
-
|
|
82
|
-
### Niveles
|
|
83
|
-
|
|
84
|
-
| Nivel | Comando | Dónde escribe |
|
|
85
|
-
|-------|---------|---------------|
|
|
86
|
-
| Global (por defecto) | `failproofai policies --install` | `~/.claude/settings.json` |
|
|
87
|
-
| Proyecto | `failproofai policies --install --scope project` | `.claude/settings.json` |
|
|
88
|
-
| Local | `failproofai policies --install --scope local` | `.claude/settings.local.json` |
|
|
89
|
-
|
|
90
|
-
### Instalar políticas específicas
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### Eliminar políticas
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
failproofai policies --uninstall
|
|
100
|
-
# o para un nivel específico:
|
|
101
|
-
failproofai policies --uninstall --scope project
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## Configuración
|
|
107
|
-
|
|
108
|
-
La configuración de políticas se almacena en `~/.failproofai/policies-config.json` (global) o en `.failproofai/policies-config.json` dentro de tu proyecto (por proyecto).
|
|
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
|
-
**Los tres niveles de configuración** se combinan automáticamente (proyecto → local → global). Consulta [docs/configuration.mdx](docs/configuration.mdx) para conocer las reglas completas de combinación.
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
## Políticas integradas
|
|
146
|
-
|
|
147
|
-
| Política | Descripción | Configurable |
|
|
148
|
-
|----------|-------------|:---:|
|
|
149
|
-
| `block-sudo` | Impide que los agentes ejecuten comandos de sistema con privilegios | `allowPatterns` |
|
|
150
|
-
| `block-rm-rf` | Previene la eliminación recursiva accidental de archivos | `allowPaths` |
|
|
151
|
-
| `block-curl-pipe-sh` | Impide que los agentes canalicen scripts no confiables hacia la shell | |
|
|
152
|
-
| `block-failproofai-commands` | Previene la autodesinstalación | |
|
|
153
|
-
| `sanitize-jwt` | Evita que tokens JWT se filtren al contexto del agente | |
|
|
154
|
-
| `sanitize-api-keys` | Evita que claves API se filtren al contexto del agente | `additionalPatterns` |
|
|
155
|
-
| `sanitize-connection-strings` | Evita que credenciales de base de datos se filtren al contexto del agente | |
|
|
156
|
-
| `sanitize-private-key-content` | Redacta bloques de clave privada PEM de la salida | |
|
|
157
|
-
| `sanitize-bearer-tokens` | Redacta tokens Authorization Bearer de la salida | |
|
|
158
|
-
| `block-env-files` | Impide que los agentes lean archivos .env | |
|
|
159
|
-
| `protect-env-vars` | Evita que los agentes impriman variables de entorno | |
|
|
160
|
-
| `block-read-outside-cwd` | Mantiene a los agentes dentro de los límites del proyecto | `allowPaths` |
|
|
161
|
-
| `block-secrets-write` | Previene escrituras en archivos de clave privada y certificados | `additionalPatterns` |
|
|
162
|
-
| `block-push-master` | Previene envíos accidentales a main/master | `protectedBranches` |
|
|
163
|
-
| `block-work-on-main` | Mantiene a los agentes fuera de las ramas protegidas | `protectedBranches` |
|
|
164
|
-
| `block-force-push` | Previene `git push --force` | |
|
|
165
|
-
| `warn-git-amend` | Avisa a los agentes antes de modificar commits | |
|
|
166
|
-
| `warn-git-stash-drop` | Avisa a los agentes antes de eliminar stashes | |
|
|
167
|
-
| `warn-all-files-staged` | Detecta `git add -A` accidentales | |
|
|
168
|
-
| `warn-destructive-sql` | Detecta sentencias DROP/DELETE SQL antes de ejecutarlas | |
|
|
169
|
-
| `warn-schema-alteration` | Detecta ALTER TABLE antes de ejecutarlos | |
|
|
170
|
-
| `warn-large-file-write` | Detecta escrituras de archivos inesperadamente grandes | `thresholdKb` |
|
|
171
|
-
| `warn-package-publish` | Detecta `npm publish` accidentales | |
|
|
172
|
-
| `warn-background-process` | Detecta lanzamientos no intencionados de procesos en segundo plano | |
|
|
173
|
-
| `warn-global-package-install` | Detecta instalaciones globales de paquetes no intencionadas | |
|
|
174
|
-
| …y más | | |
|
|
175
|
-
|
|
176
|
-
Detalles completos de políticas y referencia de parámetros: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
|
|
177
|
-
|
|
178
|
-
---
|
|
179
|
-
|
|
180
|
-
## Políticas personalizadas
|
|
181
|
-
|
|
182
|
-
Escribe tus propias políticas para mantener a los agentes fiables y enfocados:
|
|
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
|
-
Instala con:
|
|
201
|
-
|
|
202
|
-
```bash
|
|
203
|
-
failproofai policies --install --custom ./my-policies.js
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
### Funciones de decisión
|
|
207
|
-
|
|
208
|
-
| Función | Efecto |
|
|
209
|
-
|---------|--------|
|
|
210
|
-
| `allow()` | Permite la operación |
|
|
211
|
-
| `allow(message)` | Permite y envía contexto informativo a Claude |
|
|
212
|
-
| `deny(message)` | Bloquea la operación; el mensaje se muestra a Claude |
|
|
213
|
-
| `instruct(message)` | Añade contexto al prompt de Claude; no bloquea |
|
|
214
|
-
|
|
215
|
-
### Objeto de contexto (`ctx`)
|
|
216
|
-
|
|
217
|
-
| Campo | Tipo | Descripción |
|
|
218
|
-
|-------|------|-------------|
|
|
219
|
-
| `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
|
|
220
|
-
| `toolName` | `string` | Herramienta que se está invocando (`"Bash"`, `"Write"`, `"Read"`, …) |
|
|
221
|
-
| `toolInput` | `object` | Parámetros de entrada de la herramienta |
|
|
222
|
-
| `payload` | `object` | Payload completo del evento en bruto |
|
|
223
|
-
| `session.cwd` | `string` | Directorio de trabajo de la sesión de Claude Code |
|
|
224
|
-
| `session.sessionId` | `string` | Identificador de sesión |
|
|
225
|
-
| `session.transcriptPath` | `string` | Ruta al archivo de transcripción de la sesión |
|
|
226
|
-
|
|
227
|
-
Los hooks personalizados admiten importaciones locales transitivas, async/await y acceso a `process.env`. Los errores son fail-open (registrados en `~/.failproofai/hook.log`; las políticas integradas continúan). Consulta [docs/custom-hooks.mdx](docs/custom-hooks.mdx) para la guía completa.
|
|
228
|
-
|
|
229
|
-
### Políticas basadas en convenciones
|
|
230
|
-
|
|
231
|
-
Coloca archivos `*policies.{js,mjs,ts}` en `.failproofai/policies/` y se cargarán automáticamente — sin indicadores ni cambios de configuración adicionales. Confirma el directorio en git y todos los miembros del equipo obtendrán los mismos estándares de calidad de forma automática.
|
|
232
|
-
|
|
233
|
-
```text
|
|
234
|
-
# Nivel de proyecto — confirmado en git, compartido con el equipo
|
|
235
|
-
.failproofai/policies/security-policies.mjs
|
|
236
|
-
.failproofai/policies/workflow-policies.mjs
|
|
237
|
-
|
|
238
|
-
# Nivel de usuario — personal, se aplica a todos los proyectos
|
|
239
|
-
~/.failproofai/policies/my-policies.mjs
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
Ambos niveles se cargan conjuntamente. Los archivos se cargan en orden alfabético dentro de cada directorio. Usa los prefijos `01-`, `02-`, etc. para controlar el orden. A medida que tu equipo descubra nuevos modos de fallo, añade una política y envíala — todos recibirán la actualización en su próximo pull. Consulta [examples/convention-policies/](examples/convention-policies/) para ver ejemplos listos para usar.
|
|
243
|
-
|
|
244
|
-
---
|
|
245
|
-
|
|
246
|
-
## Telemetría
|
|
247
|
-
|
|
248
|
-
Failproof AI recopila telemetría de uso anónima a través de PostHog para entender el uso de las funciones. Nunca se envía el contenido de las sesiones, nombres de archivos, entradas de herramientas ni información personal.
|
|
249
|
-
|
|
250
|
-
Para desactivarla:
|
|
251
|
-
|
|
252
|
-
```bash
|
|
253
|
-
FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
---
|
|
257
|
-
|
|
258
|
-
## Documentación
|
|
259
|
-
|
|
260
|
-
| Guía | Descripción |
|
|
261
|
-
|------|-------------|
|
|
262
|
-
| [Primeros pasos](docs/getting-started.mdx) | Instalación y primeros pasos |
|
|
263
|
-
| [Políticas integradas](docs/built-in-policies.mdx) | Las 30 políticas integradas con sus parámetros |
|
|
264
|
-
| [Políticas personalizadas](docs/custom-policies.mdx) | Escribe tus propias políticas |
|
|
265
|
-
| [Configuración](docs/configuration.mdx) | Formato del archivo de configuración y combinación de niveles |
|
|
266
|
-
| [Panel de control](docs/dashboard.mdx) | Monitoriza sesiones y revisa la actividad de las políticas |
|
|
267
|
-
| [Arquitectura](docs/architecture.mdx) | Cómo funciona el sistema de hooks |
|
|
268
|
-
| [Pruebas](docs/testing.mdx) | Ejecutar pruebas y escribir nuevas |
|
|
269
|
-
|
|
270
|
-
### Ejecutar la documentación localmente
|
|
271
|
-
|
|
272
|
-
```bash
|
|
273
|
-
docker build -f Dockerfile.docs -t failproofai-docs .
|
|
274
|
-
docker run --rm -p 3000:3000 failproofai-docs
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
Abre el sitio de documentación Mintlify en `http://localhost:3000`. El contenedor detecta cambios si montas el directorio de documentación:
|
|
278
|
-
|
|
279
|
-
```bash
|
|
280
|
-
docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
---
|
|
284
|
-
|
|
285
|
-
## Nota para colaboradores de failproofai
|
|
286
|
-
|
|
287
|
-
El archivo `.claude/settings.json` de este repositorio utiliza `bun ./bin/failproofai.mjs --hook <EventType>` en lugar del comando estándar `npx -y failproofai`. Esto se debe a que ejecutar `npx -y failproofai` dentro del propio proyecto failproofai genera un conflicto de autorreferencia.
|
|
288
|
-
|
|
289
|
-
Para todos los demás repositorios, el enfoque recomendado es `npx -y failproofai`, instalado mediante:
|
|
290
|
-
|
|
291
|
-
```bash
|
|
292
|
-
failproofai policies --install --scope project
|
|
293
|
-
```
|
|
294
|
-
|
|
295
|
-
## Contribuir
|
|
296
|
-
|
|
297
|
-
Consulta [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
298
|
-
|
|
299
|
-
---
|
|
300
|
-
|
|
301
|
-
## Licencia
|
|
302
|
-
|
|
303
|
-
Consulta [LICENSE](LICENSE).
|
|
304
|
-
|
|
305
|
-
---
|
|
306
|
-
|
|
307
|
-
Desarrollado y mantenido por **ExosphereHost: Reliability Research Lab for Your Agents**. Ayudamos a empresas y startups a mejorar la fiabilidad de sus agentes de IA a través de nuestros propios agentes, software y experiencia. Más información en [exosphere.host](https://exosphere.host).
|