{
  "repository": "supabase/supabase",
  "ref": "134a5baf722c46075b7065198e18d7f519d0adb5",
  "methods": [
    {
      "slug": "formal",
      "title": "Formal verification and model checking"
    },
    {
      "slug": "static_analysis",
      "title": "Static analysis"
    },
    {
      "slug": "testing",
      "title": "Testing"
    },
    {
      "slug": "formatting",
      "title": "Formatting and hygiene"
    },
    {
      "slug": "supply_chain",
      "title": "Supply chain"
    },
    {
      "slug": "unclassified",
      "title": "Unclassified"
    }
  ],
  "verifications": [
    {
      "tool": "eslint",
      "method": "static_analysis",
      "commands": [],
      "triggers": [],
      "evidence": [
        {
          "path": "package.json",
          "locator": "devDependencies: eslint"
        },
        {
          "path": "apps/design-system/eslint.config.cjs",
          "locator": "config file"
        },
        {
          "path": "apps/design-system/registry/.eslintrc.json",
          "locator": "config file"
        },
        {
          "path": "apps/docs/eslint.config.cjs",
          "locator": "config file"
        },
        {
          "path": "apps/learn/eslint.config.cjs",
          "locator": "config file"
        },
        {
          "path": "apps/studio/eslint.config.cjs",
          "locator": "config file"
        },
        {
          "path": "apps/ui-library/eslint.config.cjs",
          "locator": "config file"
        },
        {
          "path": "apps/www/eslint.config.cjs",
          "locator": "config file"
        },
        {
          "path": "examples/auth/expo-social-auth/eslint.config.js",
          "locator": "config file"
        },
        {
          "path": "examples/auth/quickstarts/expo-react-native-social-auth/eslint.config.js",
          "locator": "config file"
        },
        {
          "path": "examples/caching/with-nextjs-13-server-components/.eslintrc.json",
          "locator": "config file"
        },
        {
          "path": "examples/caching/with-nextjs-13/.eslintrc.json",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/eslint/eslint",
      "docs": "https://eslint.org/docs/latest/use/command-line-interface#exit-codes",
      "exit_codes": {
        "0": "no errors",
        "1": "linting errors found",
        "2": "configuration problem or internal error"
      },
      "autofix": true,
      "declared_only": true
    },
    {
      "tool": "tsc",
      "method": "static_analysis",
      "commands": [],
      "triggers": [],
      "evidence": [
        {
          "path": "package.json",
          "locator": "devDependencies: typescript"
        }
      ],
      "upstream": "https://github.com/microsoft/TypeScript",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": true
    },
    {
      "tool": "vitest",
      "method": "testing",
      "commands": [
        "vitest run --update --dir scripts"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/docs-js-libs-update.yml",
          "locator": "jobs.update-docs.steps[5] (Refresh reference-content snapshot)"
        },
        {
          "path": "apps/docs/vitest.config.ts",
          "locator": "config file"
        },
        {
          "path": "apps/studio/vitest.config.ts",
          "locator": "config file"
        },
        {
          "path": "apps/ui-library/vitest.config.ts",
          "locator": "config file"
        },
        {
          "path": "apps/www/vitest.config.ts",
          "locator": "config file"
        },
        {
          "path": "packages/ai-commands/vitest.config.ts",
          "locator": "config file"
        },
        {
          "path": "packages/dev-tools/vitest.config.ts",
          "locator": "config file"
        },
        {
          "path": "packages/ui-patterns/vitest.config.ts",
          "locator": "config file"
        },
        {
          "path": "packages/ui/vitest.config.ts",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/vitest-dev/vitest",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "jest",
      "method": "testing",
      "commands": [],
      "triggers": [],
      "evidence": [
        {
          "path": "examples/user-management/ionic-vue-user-management/jest.config.js",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/jestjs/jest",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": true
    },
    {
      "tool": "playwright",
      "method": "testing",
      "commands": [],
      "triggers": [],
      "evidence": [
        {
          "path": "e2e/docs/playwright.config.ts",
          "locator": "config file"
        },
        {
          "path": "e2e/kb/playwright.config.ts",
          "locator": "config file"
        },
        {
          "path": "e2e/studio/playwright.config.ts",
          "locator": "config file"
        },
        {
          "path": "e2e/www/playwright.config.ts",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/microsoft/playwright",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": true
    },
    {
      "tool": "prettier",
      "method": "formatting",
      "commands": [
        "prettier --config prettier.config.mjs --cache --write {apps,packages,blocks,examples,i18n}/**/*.{js,jsx,ts,tsx,css,md,mdx,json}",
        "prettier --config prettier.config.mjs --cache --check {apps,packages,blocks,examples,i18n}/**/*.{js,jsx,ts,tsx,css,md,mdx,json}"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/autofix_linters.yml",
          "locator": "jobs.format.steps[5] (Run Prettier in fix mode)"
        },
        {
          "path": "package.json",
          "locator": "scripts.format"
        },
        {
          "path": ".github/workflows/prettier.yml",
          "locator": "jobs.format.steps[4] (Run prettier)"
        },
        {
          "path": "package.json",
          "locator": "scripts.test:prettier"
        },
        {
          "path": "package.json",
          "locator": "devDependencies: prettier"
        },
        {
          "path": "examples/user-management/react-user-management/.prettierrc",
          "locator": "config file"
        },
        {
          "path": "examples/user-management/solid-user-management/.prettierrc",
          "locator": "config file"
        },
        {
          "path": "examples/user-management/svelte-user-management/.prettierrc",
          "locator": "config file"
        },
        {
          "path": "examples/user-management/sveltekit-user-management/.prettierrc",
          "locator": "config file"
        },
        {
          "path": "examples/user-management/vue3-user-management/.prettierrc",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/prettier/prettier",
      "docs": "https://prettier.io/docs/cli#exit-codes",
      "exit_codes": {
        "0": "everything formatted",
        "1": "something was not formatted (--check)",
        "2": "prettier error"
      },
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node --experimental-strip-types e2e/docs/scripts/resolve-docs-scope.ts"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/docs-e2e.yml",
          "locator": "jobs.e2e.steps[3] (Resolve docs E2E scope)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node --experimental-strip-types e2e/www/scripts/resolve-www-scope.ts"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/www-e2e.yml",
          "locator": "jobs.e2e.steps[3] (Resolve www E2E scope)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node scripts/check-case-hazards.mjs"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/typecheck.yml",
          "locator": "jobs.typecheck.steps[3] (Check for case-sensitivity hazards)"
        },
        {
          "path": "package.json",
          "locator": "scripts.test:case-hazards"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node scripts/generateLocalEnv.js"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.e2e:setup:cli"
        },
        {
          "path": "package.json",
          "locator": "scripts.e2e:setup:selfhosted"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "playwright merge-reports --config=e2e/studio/playwright.merge.config.ts -- e2e/studio/blob-report"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/studio-e2e-test.yml",
          "locator": "jobs.merge-reports.steps[3] (Merge Playwright reports)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "sh tests/test-auth-keys.sh"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/self-host-tests-smoke.yml",
          "locator": "jobs.build.steps[6] (Run API keys and asymmetric auth tests)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "sh tests/test-container-logs.sh"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/self-host-tests-smoke.yml",
          "locator": "jobs.build.steps[4] (Run container log tests)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "sh tests/test-s3.sh"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/self-host-tests-smoke.yml",
          "locator": "jobs.build.steps[7] (Run S3 protocol tests)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "sh tests/test-self-hosted.sh"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/self-host-tests-smoke.yml",
          "locator": "jobs.build.steps[5] (Run smoke tests)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "supabase gen types typescript --local > ./supabase/functions/common/database-types.ts"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.generate:types"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "supabase start --exclude studio,mailpit --workdir ./e2e/studio"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.e2e:setup:cli"
        },
        {
          "path": "package.json",
          "locator": "scripts.e2e:setup:selfhosted"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "supabase status --output json --workdir ./e2e/studio > keys.json"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.e2e:setup:cli"
        },
        {
          "path": "package.json",
          "locator": "scripts.e2e:setup:selfhosted"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "supabase stop --all --no-backup --workdir ./e2e/studio"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.e2e:setup:cli"
        },
        {
          "path": "package.json",
          "locator": "scripts.e2e:setup:selfhosted"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "turbo --continue typecheck"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ai-tests.yml",
          "locator": "jobs.test.steps[4] (Type check)"
        },
        {
          "path": "package.json",
          "locator": "scripts.typecheck"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "turbo run build --filter=docs"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.build:docs"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "turbo run dev --filter=docs --parallel"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.dev:docs"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "turbo run lint"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.lint"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "turbo run test --filter=docs --filter=docs-search"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/docs-tests.yml",
          "locator": "jobs.build.steps[5] (Run tests)"
        },
        {
          "path": "package.json",
          "locator": "scripts.test:docs"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "turbo run test --filter=kb"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.test:kb"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "turbo run test --filter=studio"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.test:studio"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "turbo run test --filter=studio -- watch"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.test:studio:watch"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "turbo run test --filter=ui"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "package.json",
          "locator": "scripts.test:ui"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "turbo run test --filter=ui-patterns"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ui-patterns-tests.yml",
          "locator": "jobs.build.steps[5] (Run tests)"
        },
        {
          "path": "package.json",
          "locator": "scripts.test:ui-patterns"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    }
  ]
}
