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
|
-
---
|
|
2
|
-
title: Beispiele
|
|
3
|
-
description: "So richten Sie Hooks für Claude Code und das Agents SDK ein"
|
|
4
|
-
icon: book-open
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Sofort verwendbare Beispiele für häufige Szenarien. Jedes zeigt, wie man es installiert und was zu erwarten ist.
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Hooks für Claude Code einrichten
|
|
12
|
-
|
|
13
|
-
Failproof AI integriert sich mit Claude Code über dessen [Hooks-System](https://docs.anthropic.com/en/docs/claude-code/hooks). Wenn Sie `failproofai policies --install` ausführen, registriert es Hook-Befehle in der `settings.json` von Claude Code, die bei jedem Tool-Aufruf ausgelöst werden.
|
|
14
|
-
|
|
15
|
-
<Steps>
|
|
16
|
-
<Step title="failproofai installieren">
|
|
17
|
-
```bash
|
|
18
|
-
npm install -g failproofai
|
|
19
|
-
```
|
|
20
|
-
</Step>
|
|
21
|
-
<Step title="Alle integrierten Richtlinien aktivieren">
|
|
22
|
-
```bash
|
|
23
|
-
failproofai policies --install
|
|
24
|
-
```
|
|
25
|
-
</Step>
|
|
26
|
-
<Step title="Überprüfen, ob Hooks registriert sind">
|
|
27
|
-
```bash
|
|
28
|
-
cat ~/.claude/settings.json | grep failproofai
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Sie sollten Hook-Einträge für `PreToolUse`, `PostToolUse`, `Notification` und `Stop`-Ereignisse sehen.
|
|
32
|
-
</Step>
|
|
33
|
-
<Step title="Claude Code starten">
|
|
34
|
-
```bash
|
|
35
|
-
claude
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Richtlinien werden jetzt automatisch bei jedem Tool-Aufruf ausgeführt. Bitten Sie Claude, `sudo rm -rf /` auszuführen – es wird blockiert.
|
|
39
|
-
</Step>
|
|
40
|
-
</Steps>
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## Hooks für das Agents SDK einrichten
|
|
45
|
-
|
|
46
|
-
Wenn Sie mit dem [Agents SDK](https://docs.anthropic.com/en/docs/agents-sdk) entwickeln, können Sie dasselbe Hook-System programmatisch verwenden.
|
|
47
|
-
|
|
48
|
-
<Steps>
|
|
49
|
-
<Step title="failproofai in Ihrem Projekt installieren">
|
|
50
|
-
```bash
|
|
51
|
-
npm install failproofai
|
|
52
|
-
```
|
|
53
|
-
</Step>
|
|
54
|
-
<Step title="Hooks in Ihrem Agenten konfigurieren">
|
|
55
|
-
Übergeben Sie Hook-Befehle beim Erstellen Ihres Agentenprozesses. Die Hooks werden genauso ausgelöst wie in Claude Code – über stdin/stdout JSON:
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
failproofai --hook PreToolUse # wird vor jedem Tool aufgerufen
|
|
59
|
-
failproofai --hook PostToolUse # wird nach jedem Tool aufgerufen
|
|
60
|
-
```
|
|
61
|
-
</Step>
|
|
62
|
-
<Step title="Eine benutzerdefinierte Richtlinie für Ihren Agenten schreiben">
|
|
63
|
-
```javascript
|
|
64
|
-
import { customPolicies, allow, deny } from "failproofai";
|
|
65
|
-
|
|
66
|
-
customPolicies.add({
|
|
67
|
-
name: "limit-to-project-dir",
|
|
68
|
-
description: "Keep the agent inside the project directory",
|
|
69
|
-
match: { events: ["PreToolUse"] },
|
|
70
|
-
fn: async (ctx) => {
|
|
71
|
-
const path = String(ctx.toolInput?.file_path ?? "");
|
|
72
|
-
if (path.startsWith("/") && !path.startsWith(ctx.session?.cwd ?? "")) {
|
|
73
|
-
return deny("Agent is restricted to the project directory");
|
|
74
|
-
}
|
|
75
|
-
return allow();
|
|
76
|
-
},
|
|
77
|
-
});
|
|
78
|
-
```
|
|
79
|
-
</Step>
|
|
80
|
-
<Step title="Die benutzerdefinierte Richtlinie installieren">
|
|
81
|
-
```bash
|
|
82
|
-
failproofai policies --install --custom ./my-agent-policies.js
|
|
83
|
-
```
|
|
84
|
-
</Step>
|
|
85
|
-
</Steps>
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## Destruktive Befehle blockieren
|
|
90
|
-
|
|
91
|
-
Das häufigste Setup – verhindert, dass Agenten irreversiblen Schaden anrichten.
|
|
92
|
-
|
|
93
|
-
```bash
|
|
94
|
-
failproofai policies --install block-sudo block-rm-rf block-force-push block-curl-pipe-sh
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
Was dies bewirkt:
|
|
98
|
-
- `block-sudo` – blockiert alle `sudo`-Befehle
|
|
99
|
-
- `block-rm-rf` – blockiert das rekursive Löschen von Dateien
|
|
100
|
-
- `block-force-push` – blockiert `git push --force`
|
|
101
|
-
- `block-curl-pipe-sh` – blockiert das Weiterleiten von Remote-Skripten an die Shell
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## Geheimnis-Leaks verhindern
|
|
106
|
-
|
|
107
|
-
Verhindert, dass Agenten Anmeldeinformationen in der Tool-Ausgabe sehen oder weitergeben.
|
|
108
|
-
|
|
109
|
-
```bash
|
|
110
|
-
failproofai policies --install sanitize-api-keys sanitize-jwt sanitize-connection-strings sanitize-bearer-tokens
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
Diese werden bei `PostToolUse` ausgelöst – nachdem ein Tool ausgeführt wurde, bereinigen sie die Ausgabe, bevor der Agent sie sieht.
|
|
114
|
-
|
|
115
|
-
---
|
|
116
|
-
|
|
117
|
-
## Slack-Benachrichtigungen erhalten, wenn Agenten Aufmerksamkeit benötigen
|
|
118
|
-
|
|
119
|
-
Verwenden Sie den Benachrichtigungs-Hook, um Leerlauf-Warnungen an Slack weiterzuleiten.
|
|
120
|
-
|
|
121
|
-
```javascript
|
|
122
|
-
import { customPolicies, allow, instruct } from "failproofai";
|
|
123
|
-
|
|
124
|
-
customPolicies.add({
|
|
125
|
-
name: "slack-on-idle",
|
|
126
|
-
description: "Alert Slack when the agent is waiting for input",
|
|
127
|
-
match: { events: ["Notification"] },
|
|
128
|
-
fn: async (ctx) => {
|
|
129
|
-
const webhookUrl = process.env.SLACK_WEBHOOK_URL;
|
|
130
|
-
if (!webhookUrl) return allow();
|
|
131
|
-
|
|
132
|
-
const message = String(ctx.payload?.message ?? "Agent is waiting");
|
|
133
|
-
const project = ctx.session?.cwd ?? "unknown";
|
|
134
|
-
|
|
135
|
-
try {
|
|
136
|
-
await fetch(webhookUrl, {
|
|
137
|
-
method: "POST",
|
|
138
|
-
headers: { "Content-Type": "application/json" },
|
|
139
|
-
body: JSON.stringify({
|
|
140
|
-
text: `*${message}*\nProject: \`${project}\``,
|
|
141
|
-
}),
|
|
142
|
-
signal: AbortSignal.timeout(5000),
|
|
143
|
-
});
|
|
144
|
-
} catch {
|
|
145
|
-
// den Agenten niemals blockieren, wenn Slack nicht erreichbar ist
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
return allow();
|
|
149
|
-
},
|
|
150
|
-
});
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
Installieren:
|
|
154
|
-
|
|
155
|
-
```bash
|
|
156
|
-
SLACK_WEBHOOK_URL=https://hooks.slack.com/... failproofai policies --install --custom ./slack-alerts.js
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
---
|
|
160
|
-
|
|
161
|
-
## Agenten auf einem Branch halten
|
|
162
|
-
|
|
163
|
-
Verhindert, dass Agenten Branches wechseln oder auf geschützte Branches pushen.
|
|
164
|
-
|
|
165
|
-
```javascript
|
|
166
|
-
import { customPolicies, allow, deny } from "failproofai";
|
|
167
|
-
|
|
168
|
-
customPolicies.add({
|
|
169
|
-
name: "stay-on-branch",
|
|
170
|
-
description: "Prevent the agent from checking out other branches",
|
|
171
|
-
match: { events: ["PreToolUse"] },
|
|
172
|
-
fn: async (ctx) => {
|
|
173
|
-
if (ctx.toolName !== "Bash") return allow();
|
|
174
|
-
const cmd = String(ctx.toolInput?.command ?? "");
|
|
175
|
-
if (/git\s+checkout\s+(?!-b)/.test(cmd)) {
|
|
176
|
-
return deny("Stay on the current branch. Create a new branch with -b if needed.");
|
|
177
|
-
}
|
|
178
|
-
return allow();
|
|
179
|
-
},
|
|
180
|
-
});
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
---
|
|
184
|
-
|
|
185
|
-
## Tests vor Commits voraussetzen
|
|
186
|
-
|
|
187
|
-
Erinnert Agenten daran, vor dem Committen Tests auszuführen.
|
|
188
|
-
|
|
189
|
-
```javascript
|
|
190
|
-
import { customPolicies, allow, instruct } from "failproofai";
|
|
191
|
-
|
|
192
|
-
customPolicies.add({
|
|
193
|
-
name: "test-before-commit",
|
|
194
|
-
description: "Remind the agent to run tests before committing",
|
|
195
|
-
match: { events: ["PreToolUse"] },
|
|
196
|
-
fn: async (ctx) => {
|
|
197
|
-
if (ctx.toolName !== "Bash") return allow();
|
|
198
|
-
const cmd = String(ctx.toolInput?.command ?? "");
|
|
199
|
-
if (/git\s+commit/.test(cmd)) {
|
|
200
|
-
return instruct("Run tests before committing. Use `npm test` or `bun test` first.");
|
|
201
|
-
}
|
|
202
|
-
return allow();
|
|
203
|
-
},
|
|
204
|
-
});
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
---
|
|
208
|
-
|
|
209
|
-
## Ein Produktions-Repository absichern
|
|
210
|
-
|
|
211
|
-
Committen Sie eine projektbezogene Konfiguration, damit alle Entwickler in Ihrem Team dieselben Richtlinien erhalten.
|
|
212
|
-
|
|
213
|
-
Erstellen Sie `.failproofai/policies-config.json` in Ihrem Repository:
|
|
214
|
-
|
|
215
|
-
```json
|
|
216
|
-
{
|
|
217
|
-
"enabledPolicies": [
|
|
218
|
-
"block-sudo",
|
|
219
|
-
"block-rm-rf",
|
|
220
|
-
"block-force-push",
|
|
221
|
-
"block-push-master",
|
|
222
|
-
"block-env-files",
|
|
223
|
-
"sanitize-api-keys",
|
|
224
|
-
"sanitize-jwt"
|
|
225
|
-
],
|
|
226
|
-
"policyParams": {
|
|
227
|
-
"block-push-master": {
|
|
228
|
-
"protectedBranches": ["main", "release", "production"]
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
Dann committen:
|
|
235
|
-
|
|
236
|
-
```bash
|
|
237
|
-
git add .failproofai/policies-config.json
|
|
238
|
-
git commit -m "Add failproofai team policies"
|
|
239
|
-
```
|
|
240
|
-
|
|
241
|
-
Jedes Teammitglied, das failproofai installiert hat, übernimmt diese Regeln automatisch.
|
|
242
|
-
|
|
243
|
-
---
|
|
244
|
-
|
|
245
|
-
## Einen organisationsweiten Qualitätsstandard mit Convention-Richtlinien aufbauen
|
|
246
|
-
|
|
247
|
-
Das wirkungsvollste Setup: Committen Sie `.failproofai/policies/` in Ihr Repository mit auf Ihr Projekt zugeschnittenen Richtlinien. Jedes Teammitglied erhält sie automatisch – keine Installationsbefehle, keine Konfigurationsänderungen.
|
|
248
|
-
|
|
249
|
-
<Steps>
|
|
250
|
-
<Step title="Verzeichnis erstellen und Richtlinien hinzufügen">
|
|
251
|
-
```bash
|
|
252
|
-
mkdir -p .failproofai/policies
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
```js
|
|
256
|
-
// .failproofai/policies/team-policies.mjs
|
|
257
|
-
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
258
|
-
|
|
259
|
-
// Bevorzugten Paketmanager Ihres Teams durchsetzen
|
|
260
|
-
// (oder stattdessen die integrierte prefer-package-manager-Richtlinie aktivieren)
|
|
261
|
-
customPolicies.add({
|
|
262
|
-
name: "enforce-bun",
|
|
263
|
-
match: { events: ["PreToolUse"] },
|
|
264
|
-
fn: async (ctx) => {
|
|
265
|
-
if (ctx.toolName !== "Bash") return allow();
|
|
266
|
-
const cmd = String(ctx.toolInput?.command ?? "");
|
|
267
|
-
if (/\bnpm\b/.test(cmd)) return deny("Use bun instead of npm.");
|
|
268
|
-
return allow();
|
|
269
|
-
},
|
|
270
|
-
});
|
|
271
|
-
|
|
272
|
-
// Den Agenten daran erinnern, vor dem Committen Tests auszuführen
|
|
273
|
-
customPolicies.add({
|
|
274
|
-
name: "test-before-commit",
|
|
275
|
-
match: { events: ["PreToolUse"] },
|
|
276
|
-
fn: async (ctx) => {
|
|
277
|
-
if (ctx.toolName !== "Bash") return allow();
|
|
278
|
-
if (/git\s+commit/.test(ctx.toolInput?.command ?? "")) {
|
|
279
|
-
return instruct("Run tests before committing.");
|
|
280
|
-
}
|
|
281
|
-
return allow();
|
|
282
|
-
},
|
|
283
|
-
});
|
|
284
|
-
```
|
|
285
|
-
</Step>
|
|
286
|
-
<Step title="In Git committen">
|
|
287
|
-
```bash
|
|
288
|
-
git add .failproofai/policies/
|
|
289
|
-
git commit -m "Add team quality policies"
|
|
290
|
-
```
|
|
291
|
-
</Step>
|
|
292
|
-
<Step title="Kontinuierlich verbessern">
|
|
293
|
-
Wenn Ihr Team auf neue Fehlerquellen stößt, fügen Sie Richtlinien hinzu und pushen Sie. Jeder erhält die Aktualisierung beim nächsten `git pull`. Diese Richtlinien werden zu einem lebendigen Qualitätsstandard, der mit Ihrem Team wächst.
|
|
294
|
-
</Step>
|
|
295
|
-
</Steps>
|
|
296
|
-
|
|
297
|
-
---
|
|
298
|
-
|
|
299
|
-
## Weitere Beispiele
|
|
300
|
-
|
|
301
|
-
Das Verzeichnis [`examples/`](https://github.com/exospherehost/failproofai/tree/main/examples) im Repository enthält:
|
|
302
|
-
|
|
303
|
-
| Datei | Was es zeigt |
|
|
304
|
-
|-------|--------------|
|
|
305
|
-
| `policies-basic.js` | Einstiegsrichtlinien – Schreibzugriffe auf Produktion, Force-Push und Piped-Skripte blockieren |
|
|
306
|
-
| `policies-notification.js` | Slack-Benachrichtigungen für Leerlauf-Meldungen und Sitzungsende |
|
|
307
|
-
| `policies-advanced/index.js` | Transitive Imports, asynchrone Hooks, PostToolUse-Ausgabebereinigung, Stop-Event-Behandlung |
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Für Agents"
|
|
3
|
-
description: "Füge Failproof AI-Wissen in einem Befehl zu deinem Coding-Agent hinzu. Funktioniert mit Claude Code, Cursor, Windsurf und mehr."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
Füge die vollständige Failproof AI-Referenz in einem einzigen Befehl zu deinem Coding-Agent hinzu. Funktioniert mit Claude Code, Cursor, Windsurf und jedem anderen Agent, der Skills unterstützt.
|
|
7
|
-
|
|
8
|
-
```bash
|
|
9
|
-
npx skills add https://docs.befailproof.ai
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
`npx skills` erkennt automatisch, welche Agents du installiert hast, und fügt den Skill im richtigen Format für jeden Agent hinzu.
|
|
13
|
-
|
|
14
|
-
## Was der Skill abdeckt
|
|
15
|
-
|
|
16
|
-
| Bereich | Inhalt |
|
|
17
|
-
|---------|--------|
|
|
18
|
-
| Policies | Integrierte Policy-Namen, Event-Typen, Parameter, aktivieren/deaktivieren |
|
|
19
|
-
| Custom policies | `customPolicies.add()`, Match-Filter, `allow`/`deny`/`instruct` API |
|
|
20
|
-
| Context-Objekt | `ctx.eventType`, `ctx.toolName`, `ctx.toolInput`, `ctx.session` |
|
|
21
|
-
| Konfiguration | `policies-config.json`-Struktur, Scope-Zusammenführung, `policyParams` |
|
|
22
|
-
| CLI | `failproofai policies --install`, `--uninstall`, `--custom`, Scopes |
|
|
23
|
-
| Dashboard | Session-Viewer, Policy-Aktivität, Umgebungsvariablen |
|
|
24
|
-
| Architektur | Hook-Handler-Ablauf, Exit-Codes, stdin/stdout-Vertrag |
|
|
25
|
-
|
|
26
|
-
## Ist der Skill vollständig?
|
|
27
|
-
|
|
28
|
-
Mintlify generiert `llms.txt` aus allen Seiten der Navigation. Die Failproof AI-Dokumentation deckt die gesamte API ab – jede Policy, jede Option und jedes Beispiel ist enthalten. Falls du etwas vermisst, findest du die Quelle unter `https://docs.befailproof.ai/llms-full.txt`.
|
|
29
|
-
|
|
30
|
-
Für gezielten Kontext kannst du direkt auf eine bestimmte Seite verlinken:
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
# Nur die Custom-Policies-API
|
|
34
|
-
npx skills add https://docs.befailproof.ai/custom-policies
|
|
35
|
-
|
|
36
|
-
# Nur die integrierten Policies
|
|
37
|
-
npx skills add https://docs.befailproof.ai/built-in-policies
|
|
38
|
-
```
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Erste Schritte
|
|
3
|
-
description: "failproofai installieren, Policies aktivieren und Agenten zuverlässig ausführen"
|
|
4
|
-
icon: rocket
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Voraussetzungen
|
|
8
|
-
|
|
9
|
-
- **Node.js** >= 20.9.0
|
|
10
|
-
- **Bun** >= 1.3.0 (optional – nur für das Erstellen aus dem Quellcode erforderlich)
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## Installation
|
|
15
|
-
|
|
16
|
-
<CodeGroup>
|
|
17
|
-
|
|
18
|
-
```bash npm
|
|
19
|
-
npm install -g failproofai
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
```bash bun
|
|
23
|
-
bun add -g failproofai
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
</CodeGroup>
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## Schnellstart
|
|
31
|
-
|
|
32
|
-
<Steps>
|
|
33
|
-
<Step title="Policies aktivieren">
|
|
34
|
-
Policies sind Regeln, die vor und nach jedem Werkzeugaufruf eines Agenten ausgeführt werden. Sie erkennen destruktive Befehle, das Durchsickern von Geheimnissen und andere Fehlerquellen, bevor Schaden entsteht.
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
failproofai policies --install
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Dadurch werden Hook-Einträge in die `settings.json` von Claude Code geschrieben. Sie können auch für ein einzelnes Projekt installieren oder bestimmte Policies auswählen:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
failproofai policies --install --scope project
|
|
44
|
-
failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
|
|
45
|
-
```
|
|
46
|
-
</Step>
|
|
47
|
-
<Step title="Überprüfen">
|
|
48
|
-
```bash
|
|
49
|
-
failproofai policies
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
Zeigt alle Policies an, ob sie aktiviert sind und welche Parameter konfiguriert wurden.
|
|
53
|
-
</Step>
|
|
54
|
-
<Step title="Dashboard starten">
|
|
55
|
-
```bash
|
|
56
|
-
failproofai
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
Öffnet ein lokales Dashboard unter `http://localhost:8020`, in dem Sie Sitzungen durchsuchen, Werkzeugaufrufe untersuchen und Policies verwalten können.
|
|
60
|
-
</Step>
|
|
61
|
-
<Step title="Agenten ausführen">
|
|
62
|
-
Starten Sie Claude Code wie gewohnt. Wenn der Agent etwas Riskantes versucht, greift failproofai automatisch ein. Lassen Sie ihn unbeaufsichtigt laufen und überprüfen Sie anschließend im Dashboard, was passiert ist.
|
|
63
|
-
</Step>
|
|
64
|
-
</Steps>
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
## Wie Policies funktionieren
|
|
69
|
-
|
|
70
|
-
Jedes Mal, wenn ein Agent ein Werkzeug ausführt, ruft Claude Code failproofai als Subprozess auf:
|
|
71
|
-
|
|
72
|
-
```text
|
|
73
|
-
Claude Code → failproofai --hook PreToolUse → reads stdin JSON
|
|
74
|
-
evaluates policies
|
|
75
|
-
writes decision to stdout
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
Jede Policy gibt eine von drei Entscheidungen zurück:
|
|
79
|
-
|
|
80
|
-
- **allow** – der Agent fährt normal fort
|
|
81
|
-
- **deny** – die Aktion wird blockiert und dem Agenten wird der Grund mitgeteilt
|
|
82
|
-
- **instruct** – dem Prompt des Agenten werden zusätzliche Informationen hinzugefügt
|
|
83
|
-
|
|
84
|
-
<Note>
|
|
85
|
-
Policies laufen in Ihrem lokalen Prozess. Es werden keine Daten an einen externen Dienst übertragen.
|
|
86
|
-
</Note>
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## Team-Policies mit konventionsbasierten Policies einrichten
|
|
91
|
-
|
|
92
|
-
Der schnellste Weg, Qualitätsstandards im gesamten Team zu etablieren, ist die `.failproofai/policies/`-Konvention. Legen Sie Policy-Dateien in dieses Verzeichnis ab und sie werden automatisch geladen – ohne Flags, ohne Konfigurationsänderungen, ohne Installationsbefehle.
|
|
93
|
-
|
|
94
|
-
<Steps>
|
|
95
|
-
<Step title="Policies-Verzeichnis erstellen">
|
|
96
|
-
```bash
|
|
97
|
-
mkdir -p .failproofai/policies
|
|
98
|
-
```
|
|
99
|
-
</Step>
|
|
100
|
-
<Step title="Policy-Dateien hinzufügen">
|
|
101
|
-
Kopieren Sie die Starter-Beispiele oder schreiben Sie Ihre eigenen:
|
|
102
|
-
|
|
103
|
-
```bash
|
|
104
|
-
cp node_modules/failproofai/examples/convention-policies/*.mjs .failproofai/policies/
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
Oder erstellen Sie eine neue:
|
|
108
|
-
|
|
109
|
-
```js
|
|
110
|
-
// .failproofai/policies/team-policies.mjs
|
|
111
|
-
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
112
|
-
|
|
113
|
-
customPolicies.add({
|
|
114
|
-
name: "test-before-commit",
|
|
115
|
-
match: { events: ["PreToolUse"] },
|
|
116
|
-
fn: async (ctx) => {
|
|
117
|
-
if (ctx.toolName !== "Bash") return allow();
|
|
118
|
-
if (/git\s+commit/.test(ctx.toolInput?.command ?? "")) {
|
|
119
|
-
return instruct("Run tests before committing.");
|
|
120
|
-
}
|
|
121
|
-
return allow();
|
|
122
|
-
},
|
|
123
|
-
});
|
|
124
|
-
```
|
|
125
|
-
</Step>
|
|
126
|
-
<Step title="In Git einchecken">
|
|
127
|
-
```bash
|
|
128
|
-
git add .failproofai/policies/
|
|
129
|
-
git commit -m "Add team quality policies"
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
Jedes Teammitglied, das failproofai installiert hat, übernimmt diese Policies automatisch. Es ist keine individuelle Einrichtung pro Entwickler erforderlich.
|
|
133
|
-
</Step>
|
|
134
|
-
</Steps>
|
|
135
|
-
|
|
136
|
-
<Tip>
|
|
137
|
-
Checken Sie `.failproofai/policies/` in Ihr Repository ein, damit das gesamte Team dieselben Standards teilt. Sobald Ihr Team neue Fehlerquellen entdeckt, fügen Sie Policies hinzu und pushen Sie – alle erhalten die Aktualisierung beim nächsten `git pull`. Mit der Zeit werden diese Policies zu einem lebendigen Qualitätsstandard, der sich kontinuierlich verbessert.
|
|
138
|
-
</Tip>
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
## Datenspeicherung
|
|
143
|
-
|
|
144
|
-
Alle Konfigurationen und Protokolle verbleiben auf Ihrem Rechner:
|
|
145
|
-
|
|
146
|
-
| Pfad | Gespeicherte Inhalte |
|
|
147
|
-
|------|----------------------|
|
|
148
|
-
| `~/.failproofai/policies-config.json` | Globale Policy-Konfiguration |
|
|
149
|
-
| `~/.failproofai/hook-activity.jsonl` | Hook-Ausführungsverlauf |
|
|
150
|
-
| `~/.failproofai/hook.log` | Debug-Protokoll für benutzerdefinierte Hook-Fehler |
|
|
151
|
-
| `.failproofai/policies-config.json` | Projektspezifische Konfiguration (eingecheckt) |
|
|
152
|
-
| `.failproofai/policies-config.local.json` | Persönliche Überschreibungen (per gitignore ausgeschlossen) |
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
## Deinstallation
|
|
157
|
-
|
|
158
|
-
```bash
|
|
159
|
-
failproofai policies --uninstall
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
Entfernt Hook-Einträge aus `~/.claude/settings.json`. Konfigurationsdateien in `~/.failproofai/` bleiben erhalten.
|
|
163
|
-
|
|
164
|
-
---
|
|
165
|
-
|
|
166
|
-
## Nächste Schritte
|
|
167
|
-
|
|
168
|
-
<CardGroup cols={2}>
|
|
169
|
-
|
|
170
|
-
<Card title="Konfiguration" icon="gear" href="/de/configuration">
|
|
171
|
-
Geltungsbereiche und Konfigurationsdateiformat
|
|
172
|
-
</Card>
|
|
173
|
-
|
|
174
|
-
<Card title="Integrierte Policies" icon="shield" href="/de/built-in-policies">
|
|
175
|
-
Alle 26 Policies mit Parametern
|
|
176
|
-
</Card>
|
|
177
|
-
|
|
178
|
-
<Card title="Benutzerdefinierte Policies" icon="code" href="/de/custom-policies">
|
|
179
|
-
Eigene Policies in JavaScript schreiben
|
|
180
|
-
</Card>
|
|
181
|
-
|
|
182
|
-
<Card title="Agenten-Monitor" icon="chart-line" href="/de/dashboard">
|
|
183
|
-
Sitzungen überwachen und Policy-Aktivität einsehen
|
|
184
|
-
</Card>
|
|
185
|
-
|
|
186
|
-
</CardGroup>
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Failproof AI
|
|
3
|
-
description: "Verwalte Hooks und Policies, die deine KI-Agenten zuverlässig und autonom am Laufen halten"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
[](https://www.npmjs.com/package/failproofai)
|
|
7
|
-
|
|
8
|
-
Hooks und Policies, die deine KI-Agenten zuverlässig und autonom am Laufen halten – für **Claude Code** und das **Agents SDK**.
|
|
9
|
-
|
|
10
|
-
KI-Agenten scheitern auf vorhersehbare Weise. Sie führen destruktive Befehle aus, geben Secrets preis, verlieren den Fokus, geraten in Endlosschleifen oder pushen direkt auf main. Werden solche Fehler nicht beachtet, können kleine Probleme schnell größere Schäden verursachen.
|
|
11
|
-
|
|
12
|
-
Failproof AI löst dies mit **Policies** – Regeln, die bei jedem Werkzeugaufruf eines Agenten greifen und Fehler **erkennen**, **beheben** (blockieren, anweisen, bereinigen) und **dich benachrichtigen** können, wenn etwas Aufmerksamkeit erfordert. Ein lokales Dashboard ermöglicht dir die anschließende Überprüfung aller Vorgänge.
|
|
13
|
-
|
|
14
|
-
Alles läuft lokal. Keine Daten verlassen deinen Rechner.
|
|
15
|
-
|
|
16
|
-
## Erste Schritte
|
|
17
|
-
|
|
18
|
-
<CardGroup cols={2}>
|
|
19
|
-
|
|
20
|
-
<Card title="26 integrierte Policies" icon="shield" href="/de/built-in-policies">
|
|
21
|
-
Blockiere destruktive Befehle, verhindere das Durchsickern von Secrets, halte Agenten innerhalb der Projektgrenzen – und vieles mehr, direkt einsatzbereit.
|
|
22
|
-
</Card>
|
|
23
|
-
|
|
24
|
-
<Card title="Eigene Policies" icon="code" href="/de/custom-policies">
|
|
25
|
-
Schreibe deine eigenen Regeln in JavaScript mit einer einfachen allow / deny / instruct API.
|
|
26
|
-
</Card>
|
|
27
|
-
|
|
28
|
-
<Card title="Agenten-Monitor" icon="chart-line" href="/de/dashboard">
|
|
29
|
-
Sieh, was deine Agenten in deiner Abwesenheit gemacht haben. Durchsuche Sitzungen, untersuche Werkzeugaufrufe und prüfe, wo Policies ausgelöst wurden.
|
|
30
|
-
</Card>
|
|
31
|
-
|
|
32
|
-
<Card title="Einfache Konfiguration" icon="gear" href="/de/configuration">
|
|
33
|
-
Passe jede Policy ohne Code an. Lege Allowlists, geschützte Branches oder Schwellenwerte pro Projekt oder global fest.
|
|
34
|
-
</Card>
|
|
35
|
-
|
|
36
|
-
</CardGroup>
|
|
37
|
-
|
|
38
|
-
## Schnellstart
|
|
39
|
-
|
|
40
|
-
<CodeGroup>
|
|
41
|
-
|
|
42
|
-
```bash npm
|
|
43
|
-
npm install -g failproofai
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
```bash bun
|
|
47
|
-
bun add -g failproofai
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
</CodeGroup>
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
failproofai policies --install # Policies aktivieren
|
|
54
|
-
failproofai # Dashboard starten
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
Eine vollständige Anleitung findest du im [Erste Schritte](/de/getting-started)-Leitfaden.
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Paketaliase
|
|
3
|
-
description: "Registrierte Tippfehler-Präventionsaliase und wie sie funktionieren"
|
|
4
|
-
icon: copy
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Offizielles Paket
|
|
8
|
-
|
|
9
|
-
Das kanonische npm-Paket ist **`failproofai`**:
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
npm install -g failproofai
|
|
13
|
-
# oder
|
|
14
|
-
bun add -g failproofai
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## Warum wir die Aliasnamen besitzen
|
|
20
|
-
|
|
21
|
-
Typosquatting ist ein verbreiteter Supply-Chain-Angriff, bei dem ein böswilliger Akteur einen Paketnamen registriert, der nur einen Tastendruck vom Namen eines bekannten Pakets entfernt ist. Ahnungslose Nutzer, die beim Installationsbefehl einen Tippfehler machen, führen am Ende Code eines Angreifers mit vollem Systemzugriff aus – genau die Art von Bedrohung, gegen die Failproof AI entwickelt wurde.
|
|
22
|
-
|
|
23
|
-
Um diese Angriffsfläche zu eliminieren, **besitzen wir vorsorglich alle häufigen Falschschreibweisen und Formatierungsvarianten** von `failproofai` auf npm. Keiner dieser Namen kann von Dritten registriert werden. Jeder ist ein schlanker Proxy, der das echte `failproofai`-Paket installiert und an dieses delegiert.
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## Registrierte Aliase
|
|
28
|
-
|
|
29
|
-
**Formatierungsvarianten** – verschiedene Schreibweisen von „failproof ai":
|
|
30
|
-
|
|
31
|
-
| Paket | Status |
|
|
32
|
-
|-------|--------|
|
|
33
|
-
| `failproof` | ✅ Veröffentlicht |
|
|
34
|
-
| `failproof-ai` | ⏳ Ausstehend (npm-Freigabe) |
|
|
35
|
-
| `fail-proof-ai` | ⏳ Ausstehend (npm-Freigabe) |
|
|
36
|
-
| `failproof_ai` | ⏳ Ausstehend (npm-Freigabe) |
|
|
37
|
-
| `fail_proof_ai` | ⏳ Ausstehend (npm-Freigabe) |
|
|
38
|
-
| `fail-proofai` | ⏳ Ausstehend (npm-Freigabe) |
|
|
39
|
-
|
|
40
|
-
**`failprof*`-Tippfehler** – ein „o" fehlt in „proof":
|
|
41
|
-
|
|
42
|
-
| Paket | Status |
|
|
43
|
-
|-------|--------|
|
|
44
|
-
| `failprof` | ✅ Veröffentlicht |
|
|
45
|
-
| `failprof-ai` | ✅ Veröffentlicht |
|
|
46
|
-
| `failprofai` | ⏳ Ausstehend (npm-Freigabe) |
|
|
47
|
-
| `fail-prof-ai` | ⏳ Ausstehend (npm-Freigabe) |
|
|
48
|
-
| `failprof_ai` | ⏳ Ausstehend (npm-Freigabe) |
|
|
49
|
-
|
|
50
|
-
**`faliproof*`-Tippfehler** – vertauschtes „a" und „i":
|
|
51
|
-
|
|
52
|
-
| Paket | Status |
|
|
53
|
-
|-------|--------|
|
|
54
|
-
| `faliproof` | ✅ Veröffentlicht |
|
|
55
|
-
| `faliproof-ai` | ✅ Veröffentlicht |
|
|
56
|
-
| `faliproofai` | ⏳ Ausstehend (npm-Freigabe) |
|
|
57
|
-
|
|
58
|
-
> **Warum ausstehend?** Die Spam-Präventionsrichtlinie von npm blockiert Namen, die nach dem Entfernen von Satzzeichen und Ähnlichkeitsprüfungen auf dieselbe Zeichenkette wie ein bestehendes Paket normalisiert werden. Wir haben den npm-Support kontaktiert, um diese Namen für Anti-Squatting-Zwecke zu reservieren. Sie werden aktiviert, sobald sie genehmigt sind.
|
|
59
|
-
|
|
60
|
-
Sie können überprüfen, ob ein veröffentlichter Alias uns gehört:
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
npm info failproof
|
|
64
|
-
# Achten Sie auf: "ExosphereHost Inc." im Feld maintainers
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
---
|
|
68
|
-
|
|
69
|
-
## Wie die Aliase funktionieren
|
|
70
|
-
|
|
71
|
-
Jedes Aliaspaket:
|
|
72
|
-
|
|
73
|
-
1. Listet `failproofai` als Abhängigkeit auf – sodass das echte Paket (einschließlich seiner `postinstall`-Hook-Einrichtung) bei der Installation ausgeführt wird
|
|
74
|
-
2. Stellt eine ausführbare Datei bereit, die dem eigenen Namen entspricht (z. B. `failprof-ai`) und alle Argumente an die `failproofai`-Binärdatei weiterleitet
|
|
75
|
-
|
|
76
|
-
Der Proxy ist ein zweizeiliges Node-Skript; es enthält keine Logik, keine Netzwerkaufrufe und keine Datenerfassung über das hinaus, was `failproofai` selbst tut.
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## Falls Sie einen Namen finden, den wir vergessen haben
|
|
81
|
-
|
|
82
|
-
Öffnen Sie ein Issue unter [exospherehost/failproofai](https://github.com/exospherehost/failproofai/issues) und wir werden ihn registrieren.
|