From 411518f8ed62f5f77ef4097a0528034f4d600f27 Mon Sep 17 00:00:00 2001 From: NiveditJain Date: Tue, 7 Apr 2026 22:44:56 +0000 Subject: [PATCH 1/4] [ef-43] feat: add Mintlify documentation configuration Add mint.json config and adapt existing docs for Mintlify: - Create docs/mint.json with navigation, branding, and links - Add YAML frontmatter (title, description, icon) to all 9 doc pages - Replace docs/index.md with docs/introduction.md as Mintlify landing page - Convert internal links from ./file.md to /file format - Fix external link to CONTRIBUTING.md to use GitHub URL Co-Authored-By: Claude Opus 4.6 --- docs/architecture.md | 6 +++- docs/built-in-policies.md | 6 +++- docs/cli-reference.md | 6 +++- docs/configuration.md | 12 +++++--- docs/custom-hooks.md | 6 +++- docs/dashboard.md | 6 +++- docs/getting-started.md | 18 +++++++----- docs/index.md | 48 ------------------------------ docs/introduction.md | 53 ++++++++++++++++++++++++++++++++++ docs/mint.json | 61 +++++++++++++++++++++++++++++++++++++++ docs/package-aliases.md | 6 +++- docs/testing.md | 8 +++-- 12 files changed, 169 insertions(+), 67 deletions(-) delete mode 100644 docs/index.md create mode 100644 docs/introduction.md create mode 100644 docs/mint.json diff --git a/docs/architecture.md b/docs/architecture.md index 2dbd938e..b4ea42bd 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -1,4 +1,8 @@ -# Architecture +--- +title: Architecture +description: "How the hook handler, config loading, and policy evaluation work internally" +icon: sitemap +--- This document explains how failproofai works internally: how the hook system processes events, how configuration is loaded and merged, how policies are evaluated, and how the dashboard fits in. diff --git a/docs/built-in-policies.md b/docs/built-in-policies.md index dfc92a32..a1b6cec3 100644 --- a/docs/built-in-policies.md +++ b/docs/built-in-policies.md @@ -1,4 +1,8 @@ -# Built-in Policies +--- +title: Built-in Policies +description: "All 35+ security policies with descriptions and parameters" +icon: shield +--- failproofai ships with 35+ built-in security policies. Each policy fires on a specific hook event type and tool name. Eight policies accept parameters that let you tune their behavior without writing code. diff --git a/docs/cli-reference.md b/docs/cli-reference.md index 2788d12f..eda8d218 100644 --- a/docs/cli-reference.md +++ b/docs/cli-reference.md @@ -1,4 +1,8 @@ -# CLI Reference +--- +title: CLI Reference +description: "All commands, flags, and environment variables for the failproofai CLI" +icon: terminal +--- All commands are invoked via the `failproofai` binary. diff --git a/docs/configuration.md b/docs/configuration.md index 65643619..862bc221 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -1,4 +1,8 @@ -# Configuration +--- +title: Configuration +description: "Config file format, three-scope system, and merge rules" +icon: gear +--- failproofai uses JSON configuration files to control which policies are active, how they behave, and where custom hooks are loaded from. @@ -98,7 +102,7 @@ resolved: { allowPatterns: ["sudo systemctl status"] } ← falls through to glo Type: `string[]` -List of policy names to enable. Names must match exactly the policy identifiers shown in `failproofai --list-policies`. See [Built-in Policies](./built-in-policies.md) for the full list. +List of policy names to enable. Names must match exactly the policy identifiers shown in `failproofai --list-policies`. See [Built-in Policies](/built-in-policies) for the full list. Policies not in `enabledPolicies` are inactive, even if they have entries in `policyParams`. @@ -106,7 +110,7 @@ Policies not in `enabledPolicies` are inactive, even if they have entries in `po Type: `Record>` -Per-policy parameter overrides. The outer key is the policy name; the inner keys are policy-specific. Each policy documents its available parameters in [Built-in Policies](./built-in-policies.md). +Per-policy parameter overrides. The outer key is the policy name; the inner keys are policy-specific. Each policy documents its available parameters in [Built-in Policies](/built-in-policies). If a policy has parameters but you don't specify them, the policy's built-in defaults are used. Users who do not configure `policyParams` at all get identical behavior to previous versions. @@ -118,7 +122,7 @@ Type: `string` (absolute path) Path to a JavaScript file containing custom hook policies. This is set automatically by `failproofai --install-policies --custom ` (the path is resolved to absolute before being stored). -The file is loaded fresh on every hook event — there is no caching. See [Custom Hooks](./custom-hooks.md) for authoring details. +The file is loaded fresh on every hook event — there is no caching. See [Custom Hooks](/custom-hooks) for authoring details. ### `llm` diff --git a/docs/custom-hooks.md b/docs/custom-hooks.md index 5d7ea4eb..df063204 100644 --- a/docs/custom-hooks.md +++ b/docs/custom-hooks.md @@ -1,4 +1,8 @@ -# Custom Hooks +--- +title: Custom Hooks +description: "Write your own policies in JavaScript with allow, deny, and instruct decisions" +icon: code +--- Custom hooks let you write your own policies in JavaScript. They integrate with the same hook event system as built-in policies and support the same `allow`, `deny`, and `instruct` decisions. diff --git a/docs/dashboard.md b/docs/dashboard.md index 95dcabd7..35f8628a 100644 --- a/docs/dashboard.md +++ b/docs/dashboard.md @@ -1,4 +1,8 @@ -# Dashboard +--- +title: Dashboard +description: "Session viewer, policy management, and activity log" +icon: chart-line +--- The failproofai dashboard is a local web application for browsing Claude Code sessions and managing security policies. diff --git a/docs/getting-started.md b/docs/getting-started.md index df95ac02..3b85ed6d 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -1,4 +1,8 @@ -# Getting Started +--- +title: Getting Started +description: "Install failproofai, enable policies, and take it for a spin" +icon: rocket +--- ## Requirements @@ -47,7 +51,7 @@ failproofai --install-policies --scope project failproofai --install-policies block-sudo block-rm-rf sanitize-api-keys ``` -See [Built-in Policies](./built-in-policies.md) for the full list. +See [Built-in Policies](/built-in-policies) for the full list. ### 3. Verify installation @@ -115,8 +119,8 @@ failproofai --remove-policies --scope project ## Next steps -- [Configuration](./configuration.md) — understand scopes and the config file format -- [Built-in Policies](./built-in-policies.md) — full list of policies and their parameters -- [Custom Hooks](./custom-hooks.md) — write your own policies in JavaScript -- [Dashboard](./dashboard.md) — using the session viewer and policy manager -- [CLI Reference](./cli-reference.md) — all flags and commands +- [Configuration](/configuration) — understand scopes and the config file format +- [Built-in Policies](/built-in-policies) — full list of policies and their parameters +- [Custom Hooks](/custom-hooks) — write your own policies in JavaScript +- [Dashboard](/dashboard) — using the session viewer and policy manager +- [CLI Reference](/cli-reference) — all flags and commands diff --git a/docs/index.md b/docs/index.md deleted file mode 100644 index 6c2bb7f0..00000000 --- a/docs/index.md +++ /dev/null @@ -1,48 +0,0 @@ -# Failproof AI — Documentation - -Open-source hooks, policies, and session visualization for **Claude Code** and the **Agents SDK**. Runs entirely locally — no data leaves your machine. - ---- - -## Documentation - -| Guide | Description | -|-------|-------------| -| [Getting Started](./getting-started.md) | Install failproofai, enable policies, and take it for a spin | -| [CLI Reference](./cli-reference.md) | All commands, flags, and environment variables | -| [Configuration](./configuration.md) | Config file format, three-scope system, and merge rules | -| [Built-in Policies](./built-in-policies.md) | All 35+ policies with descriptions and parameters | -| [Custom Hooks](./custom-hooks.md) | Write your own policies in JavaScript | -| [Dashboard](./dashboard.md) | Session viewer, policy management, and activity log | -| [Architecture](./architecture.md) | How the hook handler, config loading, and policy evaluation work | -| [Testing](./testing.md) | Unit tests, E2E tests, and test helpers | -| [Package Aliases](./package-aliases.md) | Registered typosquat-prevention aliases and how they work | - ---- - -## Quick reference - -**Install:** -```bash -npm install -g failproofai -``` - -**Enable policies globally:** -```bash -failproofai --install-policies -``` - -**Launch dashboard:** -```bash -failproofai -``` - -**List active policies:** -```bash -failproofai --list-policies -``` - -**Add a custom policy file:** -```bash -failproofai --install-policies --custom ./my-policies.js -``` diff --git a/docs/introduction.md b/docs/introduction.md new file mode 100644 index 00000000..0fdfaab8 --- /dev/null +++ b/docs/introduction.md @@ -0,0 +1,53 @@ +--- +title: Introduction +description: "Open-source hooks, policies, and session visualization for Claude Code and the Agents SDK" +--- + +Open-source hooks, policies, and session visualization for **Claude Code** and the **Agents SDK**. Runs entirely locally — no data leaves your machine. + +## What is Failproof AI? + +Failproof AI is a security and observability toolkit that intercepts Claude Code tool calls in real time. It evaluates configurable policies — blocking dangerous commands, redacting secrets, and adding safety instructions — before Claude can act. + +It also includes a local web dashboard for browsing Claude Code sessions, inspecting tool calls, and managing policies visually. + +## Key features + + + + Block sudo, rm -rf, force-push, secret leaks, and more — out of the box. + + + Write your own policies in JavaScript with a simple allow/deny/instruct API. + + + Browse projects, inspect sessions, and review every tool call and policy decision. + + + Global, project, and local configuration with automatic merging. + + + +## Quick start + +Install globally via npm: + +```bash +npm install -g failproofai +``` + +Enable policies: + +```bash +failproofai --install-policies +``` + +Launch the dashboard: + +```bash +failproofai +``` + + + Full walkthrough: install, enable policies, and take it for a spin. + diff --git a/docs/mint.json b/docs/mint.json new file mode 100644 index 00000000..88b03099 --- /dev/null +++ b/docs/mint.json @@ -0,0 +1,61 @@ +{ + "$schema": "https://mintlify.com/schema.json", + "name": "Failproof AI", + "logo": { + "dark": "/logo/dark.svg", + "light": "/logo/light.svg" + }, + "favicon": "/favicon.svg", + "colors": { + "primary": "#6366F1", + "light": "#818CF8", + "dark": "#4F46E5", + "anchors": { + "from": "#6366F1", + "to": "#4F46E5" + } + }, + "topbarLinks": [ + { + "name": "GitHub", + "url": "https://github.com/exospherehost/failproofai" + } + ], + "topbarCtaButton": { + "name": "Get Started", + "url": "https://www.npmjs.com/package/failproofai" + }, + "anchors": [ + { + "name": "GitHub", + "icon": "github", + "url": "https://github.com/exospherehost/failproofai" + }, + { + "name": "npm", + "icon": "npm", + "url": "https://www.npmjs.com/package/failproofai" + } + ], + "navigation": [ + { + "group": "Getting Started", + "pages": ["introduction", "getting-started"] + }, + { + "group": "Core Concepts", + "pages": ["configuration", "built-in-policies", "custom-hooks"] + }, + { + "group": "Tools", + "pages": ["cli-reference", "dashboard"] + }, + { + "group": "Advanced", + "pages": ["architecture", "testing", "package-aliases"] + } + ], + "footerSocials": { + "github": "https://github.com/exospherehost/failproofai" + } +} diff --git a/docs/package-aliases.md b/docs/package-aliases.md index 61cff356..f3bd3043 100644 --- a/docs/package-aliases.md +++ b/docs/package-aliases.md @@ -1,4 +1,8 @@ -# Package Aliases & Typosquatting Protection +--- +title: Package Aliases +description: "Registered typosquat-prevention aliases and how they work" +icon: copy +--- ## Official package diff --git a/docs/testing.md b/docs/testing.md index cfb1b985..1021475f 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -1,4 +1,8 @@ -# Testing +--- +title: Testing +description: "Unit tests, E2E tests, and test helpers" +icon: flask-vial +--- failproofai has two test suites: **unit tests** (fast, mocked) and **end-to-end tests** (real subprocess invocations). @@ -253,4 +257,4 @@ The `forks` pool is important: thread-based workers share `globalThis`, which ca The full CI run (`bun run lint && bunx tsc --noEmit && bun run test:run && bun run build`) is required to pass before merging. The E2E suite runs as a separate CI job in parallel. -See [Contributing](../CONTRIBUTING.md) for the complete pre-merge checklist. +See [Contributing](https://github.com/exospherehost/failproofai/blob/main/CONTRIBUTING.md) for the complete pre-merge checklist. From 8ab23eef772828dc7a249a94dd74d7dcd8b7939a Mon Sep 17 00:00:00 2001 From: NiveditJain Date: Tue, 7 Apr 2026 22:49:38 +0000 Subject: [PATCH 2/4] fix: restore ./file.md links for GitHub readability Revert internal links back to ./file.md format so docs are navigable on GitHub. Mintlify handles both formats. Also replace Mintlify-only Card/CardGroup components with standard markdown tables. Co-Authored-By: Claude Opus 4.6 --- docs/configuration.md | 6 +++--- docs/getting-started.md | 12 ++++++------ docs/introduction.md | 26 +++++++++----------------- docs/testing.md | 2 +- 4 files changed, 19 insertions(+), 27 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 862bc221..88731b78 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -102,7 +102,7 @@ resolved: { allowPatterns: ["sudo systemctl status"] } ← falls through to glo Type: `string[]` -List of policy names to enable. Names must match exactly the policy identifiers shown in `failproofai --list-policies`. See [Built-in Policies](/built-in-policies) for the full list. +List of policy names to enable. Names must match exactly the policy identifiers shown in `failproofai --list-policies`. See [Built-in Policies](./built-in-policies.md) for the full list. Policies not in `enabledPolicies` are inactive, even if they have entries in `policyParams`. @@ -110,7 +110,7 @@ Policies not in `enabledPolicies` are inactive, even if they have entries in `po Type: `Record>` -Per-policy parameter overrides. The outer key is the policy name; the inner keys are policy-specific. Each policy documents its available parameters in [Built-in Policies](/built-in-policies). +Per-policy parameter overrides. The outer key is the policy name; the inner keys are policy-specific. Each policy documents its available parameters in [Built-in Policies](./built-in-policies.md). If a policy has parameters but you don't specify them, the policy's built-in defaults are used. Users who do not configure `policyParams` at all get identical behavior to previous versions. @@ -122,7 +122,7 @@ Type: `string` (absolute path) Path to a JavaScript file containing custom hook policies. This is set automatically by `failproofai --install-policies --custom ` (the path is resolved to absolute before being stored). -The file is loaded fresh on every hook event — there is no caching. See [Custom Hooks](/custom-hooks) for authoring details. +The file is loaded fresh on every hook event — there is no caching. See [Custom Hooks](./custom-hooks.md) for authoring details. ### `llm` diff --git a/docs/getting-started.md b/docs/getting-started.md index 3b85ed6d..77329f93 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -51,7 +51,7 @@ failproofai --install-policies --scope project failproofai --install-policies block-sudo block-rm-rf sanitize-api-keys ``` -See [Built-in Policies](/built-in-policies) for the full list. +See [Built-in Policies](./built-in-policies.md) for the full list. ### 3. Verify installation @@ -119,8 +119,8 @@ failproofai --remove-policies --scope project ## Next steps -- [Configuration](/configuration) — understand scopes and the config file format -- [Built-in Policies](/built-in-policies) — full list of policies and their parameters -- [Custom Hooks](/custom-hooks) — write your own policies in JavaScript -- [Dashboard](/dashboard) — using the session viewer and policy manager -- [CLI Reference](/cli-reference) — all flags and commands +- [Configuration](./configuration.md) — understand scopes and the config file format +- [Built-in Policies](./built-in-policies.md) — full list of policies and their parameters +- [Custom Hooks](./custom-hooks.md) — write your own policies in JavaScript +- [Dashboard](./dashboard.md) — using the session viewer and policy manager +- [CLI Reference](./cli-reference.md) — all flags and commands diff --git a/docs/introduction.md b/docs/introduction.md index 0fdfaab8..6eccfe4c 100644 --- a/docs/introduction.md +++ b/docs/introduction.md @@ -3,6 +3,8 @@ title: Introduction description: "Open-source hooks, policies, and session visualization for Claude Code and the Agents SDK" --- +# Failproof AI + Open-source hooks, policies, and session visualization for **Claude Code** and the **Agents SDK**. Runs entirely locally — no data leaves your machine. ## What is Failproof AI? @@ -13,20 +15,12 @@ It also includes a local web dashboard for browsing Claude Code sessions, inspec ## Key features - - - Block sudo, rm -rf, force-push, secret leaks, and more — out of the box. - - - Write your own policies in JavaScript with a simple allow/deny/instruct API. - - - Browse projects, inspect sessions, and review every tool call and policy decision. - - - Global, project, and local configuration with automatic merging. - - +| Feature | Description | +|---------|-------------| +| [35+ Built-in Policies](./built-in-policies.md) | Block sudo, rm -rf, force-push, secret leaks, and more — out of the box. | +| [Custom Hooks](./custom-hooks.md) | Write your own policies in JavaScript with a simple allow/deny/instruct API. | +| [Session Dashboard](./dashboard.md) | Browse projects, inspect sessions, and review every tool call and policy decision. | +| [Three-Scope Config](./configuration.md) | Global, project, and local configuration with automatic merging. | ## Quick start @@ -48,6 +42,4 @@ Launch the dashboard: failproofai ``` - - Full walkthrough: install, enable policies, and take it for a spin. - +See the [Getting Started](./getting-started.md) guide for a full walkthrough. diff --git a/docs/testing.md b/docs/testing.md index 1021475f..b2d57d91 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -257,4 +257,4 @@ The `forks` pool is important: thread-based workers share `globalThis`, which ca The full CI run (`bun run lint && bunx tsc --noEmit && bun run test:run && bun run build`) is required to pass before merging. The E2E suite runs as a separate CI job in parallel. -See [Contributing](https://github.com/exospherehost/failproofai/blob/main/CONTRIBUTING.md) for the complete pre-merge checklist. +See [Contributing](../CONTRIBUTING.md) for the complete pre-merge checklist. From c5b2c5192b6fac86d005a35ed2c86579ceac7fa4 Mon Sep 17 00:00:00 2001 From: NiveditJain Date: Tue, 7 Apr 2026 23:24:58 +0000 Subject: [PATCH 3/4] feat: match Claudeye Mintlify theme + add README badges - Replace mint.json with docs.json using luma theme and Claudeye colors - Add Exosphere logo PNGs and favicon from exosphere.host - Add docs, npm, license, CI, and Discord badges to README Co-Authored-By: Claude Opus 4.6 --- README.md | 6 +++ docs/docs.json | 83 ++++++++++++++++++++++++++++++++++ docs/favicon.ico | Bin 0 -> 15406 bytes docs/logo/exosphere-dark.png | Bin 0 -> 39773 bytes docs/logo/exosphere-light.png | Bin 0 -> 49126 bytes docs/mint.json | 61 ------------------------- 6 files changed, 89 insertions(+), 61 deletions(-) create mode 100644 docs/docs.json create mode 100644 docs/favicon.ico create mode 100644 docs/logo/exosphere-dark.png create mode 100644 docs/logo/exosphere-light.png delete mode 100644 docs/mint.json diff --git a/README.md b/README.md index 57e10666..91999afd 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,12 @@ # Failproof AI +[![Docs](https://img.shields.io/badge/docs-befailproof.ai-002CA7?style=flat-square)](https://befailproof.ai) +[![npm](https://img.shields.io/npm/v/failproofai?style=flat-square&color=CB3837)](https://www.npmjs.com/package/failproofai) +[![License](https://img.shields.io/github/license/exospherehost/failproofai?style=flat-square)](LICENSE) +[![CI](https://img.shields.io/github/actions/workflow/status/exospherehost/failproofai/ci.yml?branch=main&style=flat-square&label=CI)](https://github.com/exospherehost/failproofai/actions) +[![Discord](https://img.shields.io/discord/1234567890?style=flat-square&label=Discord&color=5865F2)](https://discord.com/invite/zT92CAgvkj) + Open-source hooks, policies, and project visualization for **Claude Code** & the **Agents SDK**. - **Hooks & Policies** — 35+ built-in security policies that run as Claude Code hooks. Block dangerous commands, sanitize secrets, restrict file access, and more. diff --git a/docs/docs.json b/docs/docs.json new file mode 100644 index 00000000..f68c75e7 --- /dev/null +++ b/docs/docs.json @@ -0,0 +1,83 @@ +{ + "$schema": "https://mintlify.com/docs.json", + "theme": "luma", + "name": "FailproofAI", + "colors": { + "primary": "#002CA7", + "light": "#e4587d", + "dark": "#002CA7" + }, + "favicon": "/favicon.ico", + "navigation": { + "tabs": [ + { + "tab": "Docs", + "groups": [ + { + "group": "Getting Started", + "pages": [ + "introduction", + "getting-started" + ] + }, + { + "group": "Core Concepts", + "pages": [ + "configuration", + "built-in-policies", + "custom-hooks" + ] + }, + { + "group": "Tools", + "pages": [ + "cli-reference", + "dashboard" + ] + }, + { + "group": "Advanced", + "pages": [ + "architecture", + "testing", + "package-aliases" + ] + } + ] + } + ], + "global": { + "anchors": [ + { + "anchor": "GitHub", + "href": "https://github.com/exospherehost/failproofai", + "icon": "github" + }, + { + "anchor": "npm", + "href": "https://www.npmjs.com/package/failproofai", + "icon": "npm" + }, + { + "anchor": "Discord", + "href": "https://discord.com/invite/zT92CAgvkj", + "icon": "discord" + } + ] + } + }, + "navbar": { + "links": [], + "primary": { + "type": "button", + "label": "Get started", + "href": "/getting-started" + } + }, + "footer": { + "socials": { + "github": "https://github.com/exospherehost/failproofai", + "x": "https://x.com/exospherehost" + } + } +} diff --git a/docs/favicon.ico b/docs/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..efd8c27cf56d8252051cd6e7138b2c74fd62d460 GIT binary patch literal 15406 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 JE%3+|_%}9dHv<3w literal 0 HcmV?d00001 diff --git a/docs/logo/exosphere-dark.png b/docs/logo/exosphere-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..2f567459cec132840616a35c243c53f7d36eb35b GIT binary patch literal 39773 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 o{8SlQy>Bc0@EzeY|=um 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 literal 0 HcmV?d00001 diff --git a/docs/logo/exosphere-light.png b/docs/logo/exosphere-light.png new file mode 100644 index 0000000000000000000000000000000000000000..c154ac9f12f93bda8fd67a2f4706ce414f0a245d GIT binary patch literal 49126 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 literal 0 HcmV?d00001 diff --git a/docs/mint.json b/docs/mint.json deleted file mode 100644 index 88b03099..00000000 --- a/docs/mint.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "$schema": "https://mintlify.com/schema.json", - "name": "Failproof AI", - "logo": { - "dark": "/logo/dark.svg", - "light": "/logo/light.svg" - }, - "favicon": "/favicon.svg", - "colors": { - "primary": "#6366F1", - "light": "#818CF8", - "dark": "#4F46E5", - "anchors": { - "from": "#6366F1", - "to": "#4F46E5" - } - }, - "topbarLinks": [ - { - "name": "GitHub", - "url": "https://github.com/exospherehost/failproofai" - } - ], - "topbarCtaButton": { - "name": "Get Started", - "url": "https://www.npmjs.com/package/failproofai" - }, - "anchors": [ - { - "name": "GitHub", - "icon": "github", - "url": "https://github.com/exospherehost/failproofai" - }, - { - "name": "npm", - "icon": "npm", - "url": "https://www.npmjs.com/package/failproofai" - } - ], - "navigation": [ - { - "group": "Getting Started", - "pages": ["introduction", "getting-started"] - }, - { - "group": "Core Concepts", - "pages": ["configuration", "built-in-policies", "custom-hooks"] - }, - { - "group": "Tools", - "pages": ["cli-reference", "dashboard"] - }, - { - "group": "Advanced", - "pages": ["architecture", "testing", "package-aliases"] - } - ], - "footerSocials": { - "github": "https://github.com/exospherehost/failproofai" - } -} From 678d04eb91f7fd7f53f813da12f7758474b6451d Mon Sep 17 00:00:00 2001 From: NiveditJain Date: Tue, 7 Apr 2026 23:26:47 +0000 Subject: [PATCH 4/4] fix: use static license badge for MIT + Commons Clause GitHub API can't detect the license due to Commons Clause addendum. Use a static shields.io badge instead. Co-Authored-By: Claude Opus 4.6 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 91999afd..b86b4753 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ [![Docs](https://img.shields.io/badge/docs-befailproof.ai-002CA7?style=flat-square)](https://befailproof.ai) [![npm](https://img.shields.io/npm/v/failproofai?style=flat-square&color=CB3837)](https://www.npmjs.com/package/failproofai) -[![License](https://img.shields.io/github/license/exospherehost/failproofai?style=flat-square)](LICENSE) +[![License](https://img.shields.io/badge/license-MIT%20%2B%20Commons%20Clause-blue?style=flat-square)](LICENSE) [![CI](https://img.shields.io/github/actions/workflow/status/exospherehost/failproofai/ci.yml?branch=main&style=flat-square&label=CI)](https://github.com/exospherehost/failproofai/actions) [![Discord](https://img.shields.io/discord/1234567890?style=flat-square&label=Discord&color=5865F2)](https://discord.com/invite/zT92CAgvkj)