{
  "$schema": "https://raw.githubusercontent.com/fallow-rs/fallow/main/schema.json",
  "ignorePatterns": [
    "**/node_modules/**",
    "**/dist/**",
    "**/.next/**",
    "**/.turbo/**",
    "**/storybook-static/**",
    "**/__snapshots__/**",
    "**/turbo/generators/templates/**",
    "**/*.generated.ts",
    "**/*.d.ts"
  ],
  "dynamicallyLoaded": [
    "packages/**/__factories__/**",
    "packages/**/__seeds__/**",
    "apps/**/instrumentation.ts",
    "apps/**/instrumentation-client.ts",
    "apps/storybook/test-runner.config.ts",
    "scripts/**/*.mjs"
  ],
  "publicPackages": ["@repo/core-*"],
  "ignoreDependencies": [
    "@payloadcms/ui",
    "sass",
    "sharp",
    "@tanstack/react-query",
    "@trpc/server",
    "superjson",
    "@repo/blog",
    "@repo/core-api",
    "@repo/marketing-pages",
    "@repo/navigation",
    "@repo/core-testing",
    "http-server",
    "wait-on",
    "@opentelemetry/api-logs",
    "@typescript-eslint/eslint-plugin",
    "@testing-library/user-event",
    "zod",
    "@eslint/js",
    "@opentelemetry/sdk-node",
    "@sentry/opentelemetry",
    "@stryker-mutator/core",
    "@stryker-mutator/vitest-runner"
  ],
  "ignoreExportsUsedInFile": true,
  "rules": {
    "unused-files": "warn",
    "unused-exports": "warn",
    "unused-types": "off",
    "unused-class-members": "warn",
    "unused-dependencies": "warn",
    "unused-dev-dependencies": "warn",
    "unlisted-dependencies": "warn",
    "circular-dependencies": "error",
    "duplicate-code": "warn"
  },
  "health": {
    "maxCyclomatic": 25,
    "maxCognitive": 30,
    "maxCrap": 400
  }
}
