{
  "schema_version": "1.0.0",
  "scanner": {
    "name": "global-capability-catalog",
    "version": "0.1.0"
  },
  "repo": {
    "id": "github-recent__mbarbine__platphorm-quake",
    "name": "mbarbine__platphorm-quake",
    "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-quake",
    "relative_path": "github-recent/mbarbine__platphorm-quake",
    "remote_url": "git@github.com:mbarbine/platphorm-quake.git",
    "default_branch": "main",
    "current_commit": "c64073798a4f40535840546667e11536a5fbb319"
  },
  "languages": [
    {
      "language": "TypeScript",
      "files": 297,
      "bytes": 978993
    },
    {
      "language": "YAML",
      "files": 2,
      "bytes": 376026
    },
    {
      "language": "Markdown",
      "files": 6,
      "bytes": 39809
    },
    {
      "language": "CSS",
      "files": 2,
      "bytes": 12081
    },
    {
      "language": "JSON",
      "files": 5,
      "bytes": 5569
    },
    {
      "language": "JavaScript",
      "files": 3,
      "bytes": 2213
    },
    {
      "language": "Dockerfile",
      "files": 1,
      "bytes": 1218
    }
  ],
  "frameworks": [
    {
      "name": "Jest",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    },
    {
      "name": "Next.js",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    },
    {
      "name": "React",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    },
    {
      "name": "Tailwind CSS",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    }
  ],
  "packages": {
    "package_manager": "pnpm",
    "manifests": [
      {
        "path": "package.json",
        "name": "platphorm-quake",
        "version": "0.1.0",
        "scripts": {
          "test": "jest",
          "test:watch": "jest --watch",
          "dev": "next dev",
          "build": "next build",
          "start": "next start",
          "lint": "eslint ."
        },
        "dependencies": {
          "@hookform/resolvers": "^3.10.0",
          "@libsql/client": "^0.17.2",
          "@opentelemetry/api": "^1.9.1",
          "@opentelemetry/core": "1.30.1",
          "@opentelemetry/exporter-trace-otlp-http": "^0.213.0",
          "@opentelemetry/resources": "^2.6.1",
          "@opentelemetry/sdk-node": "^0.213.0",
          "@opentelemetry/sdk-trace-base": "^2.6.1",
          "@opentelemetry/semantic-conventions": "^1.40.0",
          "@radix-ui/react-accordion": "1.2.12",
          "@radix-ui/react-alert-dialog": "1.1.15",
          "@radix-ui/react-aspect-ratio": "1.1.8",
          "@radix-ui/react-avatar": "1.1.11",
          "@radix-ui/react-checkbox": "1.3.3",
          "@radix-ui/react-collapsible": "1.1.12",
          "@radix-ui/react-context-menu": "2.2.16",
          "@radix-ui/react-dialog": "1.1.15",
          "@radix-ui/react-dropdown-menu": "2.1.16",
          "@radix-ui/react-hover-card": "1.1.15",
          "@radix-ui/react-label": "2.1.8",
          "@radix-ui/react-menubar": "1.1.16",
          "@radix-ui/react-navigation-menu": "1.2.14",
          "@radix-ui/react-popover": "1.1.15",
          "@radix-ui/react-progress": "1.1.8",
          "@radix-ui/react-radio-group": "1.3.8",
          "@radix-ui/react-scroll-area": "1.2.10",
          "@radix-ui/react-select": "2.2.6",
          "@radix-ui/react-separator": "1.1.8",
          "@radix-ui/react-slider": "1.3.6",
          "@radix-ui/react-slot": "1.2.4",
          "@radix-ui/react-switch": "1.2.6",
          "@radix-ui/react-tabs": "1.1.13",
          "@radix-ui/react-toast": "1.2.15",
          "@radix-ui/react-toggle": "1.1.10",
          "@radix-ui/react-toggle-group": "1.1.11",
          "@radix-ui/react-tooltip": "1.2.8",
          "@react-three/drei": "^10.7.7",
          "@react-three/fiber": "^9.5.0",
          "@react-three/rapier": "^2.2.0",
          "@upstash/redis": "^1.37.0",
          "@vercel/analytics": "1.6.1",
          "autoprefixer": "^10.4.27",
          "class-variance-authority": "^0.7.1",
          "clsx": "^2.1.1",
          "cmdk": "1.1.1",
          "date-fns": "4.1.0",
          "embla-carousel-react": "8.6.0",
          "input-otp": "1.4.2",
          "lucide-react": "^0.564.0",
          "next": "^16.2.2",
          "next-themes": "^0.4.6",
          "react": "19.2.4",
          "react-day-picker": "9.13.2",
          "react-dom": "19.2.4",
          "react-hook-form": "^7.72.1",
          "react-resizable-panels": "^2.1.9",
          "recharts": "2.15.0",
          "sonner": "^1.7.4",
          "tailwind-merge": "^3.5.0",
          "three": "^0.172.0",
          "vaul": "^1.1.2",
          "vercel-plugin": "github:vercel/vercel-plugin",
          "zod": "^3.25.76",
          "zustand": "^5.0.12"
        },
        "dev_dependencies": {
          "@playwright/test": "^1.59.1",
          "@tailwindcss/postcss": "^4.2.2",
          "@testing-library/dom": "^10.4.1",
          "@testing-library/jest-dom": "^6.9.1",
          "@testing-library/react": "^16.3.2",
          "@testing-library/user-event": "^14.6.1",
          "@types/jest": "^30.0.0",
          "@types/node": "^22.19.17",
          "@types/react": "19.2.14",
          "@types/react-dom": "19.2.3",
          "@types/three": "^0.172.0",
          "eslint": "^9.39.4",
          "eslint-config-next": "^16.2.2",
          "jest": "^30.3.0",
          "jest-environment-jsdom": "^30.3.0",
          "postcss": "^8.5.9",
          "tailwindcss": "^4.2.2",
          "ts-node": "^10.9.2",
          "tw-animate-css": "1.3.3",
          "typescript": "5.7.3"
        }
      }
    ]
  },
  "routes": {
    "api_routes": [
      {
        "route": "/docs",
        "source_path": "app/api/docs/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/errors",
        "source_path": "app/api/errors/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/events",
        "source_path": "app/api/events/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/health",
        "source_path": "app/api/health/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/mcp",
        "source_path": "app/api/mcp/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/multiplayer/sessions/[sessionId]/events",
        "source_path": "app/api/multiplayer/sessions/[sessionId]/events/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/multiplayer/sessions/[sessionId]/join",
        "source_path": "app/api/multiplayer/sessions/[sessionId]/join/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/multiplayer/sessions/[sessionId]/leave",
        "source_path": "app/api/multiplayer/sessions/[sessionId]/leave/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/multiplayer/sessions/[sessionId]",
        "source_path": "app/api/multiplayer/sessions/[sessionId]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/bots",
        "source_path": "app/api/v1/bots/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/events",
        "source_path": "app/api/v1/events/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/game/config",
        "source_path": "app/api/v1/game/config/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/game/manifest",
        "source_path": "app/api/v1/game/manifest/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/health",
        "source_path": "app/api/v1/health/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/leaderboard",
        "source_path": "app/api/v1/leaderboard/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/maps/[id]",
        "source_path": "app/api/v1/maps/[id]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/maps",
        "source_path": "app/api/v1/maps/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/matches/[id]/events",
        "source_path": "app/api/v1/matches/[id]/events/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/matches/[id]/join",
        "source_path": "app/api/v1/matches/[id]/join/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/matches/[id]/leave",
        "source_path": "app/api/v1/matches/[id]/leave/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/matches/[id]/record",
        "source_path": "app/api/v1/matches/[id]/record/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/matches/[id]",
        "source_path": "app/api/v1/matches/[id]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/matches",
        "source_path": "app/api/v1/matches/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/v1/model/status",
        "source_path": "app/api/v1/model/status/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/modes",
        "source_path": "app/api/v1/modes/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/performance/status",
        "source_path": "app/api/v1/performance/status/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/player/local-schema",
        "source_path": "app/api/v1/player/local-schema/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/practice/[id]/record",
        "source_path": "app/api/v1/practice/[id]/record/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/practice/[id]",
        "source_path": "app/api/v1/practice/[id]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/practice",
        "source_path": "app/api/v1/practice/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/servers/[id]/heartbeat",
        "source_path": "app/api/v1/servers/[id]/heartbeat/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/servers/[id]",
        "source_path": "app/api/v1/servers/[id]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "DELETE",
          "GET",
          "PATCH"
        ]
      },
      {
        "route": "/v1/servers",
        "source_path": "app/api/v1/servers/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/v1/stats",
        "source_path": "app/api/v1/stats/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/weapons",
        "source_path": "app/api/v1/weapons/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/webhooks",
        "source_path": "app/api/v1/webhooks/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/webhooks/status",
        "source_path": "app/api/v1/webhooks/status/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/webhooks",
        "source_path": "app/api/webhooks/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      }
    ],
    "app_routes": [
      {
        "route": "/disclaimer",
        "source_path": "app/disclaimer/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/faq",
        "source_path": "app/faq/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/leaderboard",
        "source_path": "app/leaderboard/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/maps/[id]",
        "source_path": "app/maps/[id]/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/maps",
        "source_path": "app/maps/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/matches",
        "source_path": "app/matches/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/modes",
        "source_path": "app/modes/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/play",
        "source_path": "app/play/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/privacy",
        "source_path": "app/privacy/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/servers",
        "source_path": "app/servers/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/settings",
        "source_path": "app/settings/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/stats",
        "source_path": "app/stats/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/terms",
        "source_path": "app/terms/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/weapons",
        "source_path": "app/weapons/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      }
    ]
  },
  "components": [
    {
      "name": "end-screen.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/game/end-screen.test.tsx"
    },
    {
      "name": "game-canvas.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/game/game-canvas.test.tsx"
    },
    {
      "name": "crosshair.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/game/hud/crosshair.test.tsx"
    },
    {
      "name": "hud-overlay.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/game/hud/hud-overlay.test.tsx"
    },
    {
      "name": "kill-feed.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/game/hud/kill-feed.test.tsx"
    },
    {
      "name": "minimap.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/game/hud/minimap.test.tsx"
    },
    {
      "name": "scoreboard.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/game/hud/scoreboard.test.tsx"
    },
    {
      "name": "screen-effects.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/game/hud/screen-effects.test.tsx"
    },
    {
      "name": "mobile-controller.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/game/mobile/mobile-controller.test.tsx"
    },
    {
      "name": "player-controller.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/game/player-controller.test.tsx"
    },
    {
      "name": "hero-section.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/landing/hero-section.test.tsx"
    },
    {
      "name": "footer.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/layout/footer.test.tsx"
    },
    {
      "name": "quake-logo.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/layout/quake-logo.test.tsx"
    },
    {
      "name": "top-bar.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/layout/top-bar.test.tsx"
    },
    {
      "name": "server-list.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/server-browser/server-list.test.tsx"
    },
    {
      "name": "settings-panel.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/settings/settings-panel.test.tsx"
    },
    {
      "name": "settings-sections.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/settings/settings-sections.test.tsx"
    },
    {
      "name": "ui-components.test",
      "kind": "ui-component",
      "source_path": "__tests__/components/settings/ui-components.test.tsx"
    },
    {
      "name": "quake-page-shell",
      "kind": "ui-component",
      "source_path": "components/content/quake-page-shell.tsx"
    },
    {
      "name": "bot-manager",
      "kind": "ui-component",
      "source_path": "components/game/ai/bot-manager.tsx"
    },
    {
      "name": "arena-map",
      "kind": "ui-component",
      "source_path": "components/game/arena-map.tsx"
    },
    {
      "name": "end-screen",
      "kind": "ui-component",
      "source_path": "components/game/end-screen.tsx"
    },
    {
      "name": "jump-pad",
      "kind": "ui-component",
      "source_path": "components/game/environment/jump-pad.tsx"
    },
    {
      "name": "kill-volume",
      "kind": "ui-component",
      "source_path": "components/game/environment/kill-volume.tsx"
    },
    {
      "name": "skybox",
      "kind": "ui-component",
      "source_path": "components/game/environment/skybox.tsx"
    },
    {
      "name": "teleporter",
      "kind": "ui-component",
      "source_path": "components/game/environment/teleporter.tsx"
    },
    {
      "name": "game-canvas",
      "kind": "ui-component",
      "source_path": "components/game/game-canvas.tsx"
    },
    {
      "name": "crosshair",
      "kind": "ui-component",
      "source_path": "components/game/hud/crosshair.tsx"
    },
    {
      "name": "hud-overlay",
      "kind": "ui-component",
      "source_path": "components/game/hud/hud-overlay.tsx"
    },
    {
      "name": "kill-feed",
      "kind": "ui-component",
      "source_path": "components/game/hud/kill-feed.tsx"
    },
    {
      "name": "minimap",
      "kind": "ui-component",
      "source_path": "components/game/hud/minimap.tsx"
    },
    {
      "name": "scoreboard",
      "kind": "ui-component",
      "source_path": "components/game/hud/scoreboard.tsx"
    },
    {
      "name": "screen-effects",
      "kind": "ui-component",
      "source_path": "components/game/hud/screen-effects.tsx"
    },
    {
      "name": "mobile-controller",
      "kind": "ui-component",
      "source_path": "components/game/mobile/mobile-controller.tsx"
    },
    {
      "name": "remote-player-manager",
      "kind": "ui-component",
      "source_path": "components/game/multiplayer/remote-player-manager.tsx"
    },
    {
      "name": "pickup-manager",
      "kind": "ui-component",
      "source_path": "components/game/pickups/pickup-manager.tsx"
    },
    {
      "name": "player-controller",
      "kind": "ui-component",
      "source_path": "components/game/player-controller.tsx"
    },
    {
      "name": "projectile-manager",
      "kind": "ui-component",
      "source_path": "components/game/weapons/projectile-manager.tsx"
    },
    {
      "name": "weapon-viewmodel",
      "kind": "ui-component",
      "source_path": "components/game/weapons/weapon-viewmodel.tsx"
    },
    {
      "name": "hero-section",
      "kind": "ui-component",
      "source_path": "components/landing/hero-section.tsx"
    },
    {
      "name": "footer",
      "kind": "ui-component",
      "source_path": "components/layout/footer.tsx"
    },
    {
      "name": "quake-logo",
      "kind": "ui-component",
      "source_path": "components/layout/quake-logo.tsx"
    },
    {
      "name": "top-bar",
      "kind": "ui-component",
      "source_path": "components/layout/top-bar.tsx"
    },
    {
      "name": "leaderboard-table",
      "kind": "ui-component",
      "source_path": "components/leaderboard/leaderboard-table.tsx"
    },
    {
      "name": "breadcrumb-jsonld",
      "kind": "ui-component",
      "source_path": "components/seo/breadcrumb-jsonld.tsx"
    },
    {
      "name": "loading-console",
      "kind": "ui-component",
      "source_path": "components/server-browser/loading-console.tsx"
    },
    {
      "name": "server-list",
      "kind": "ui-component",
      "source_path": "components/server-browser/server-list.tsx"
    },
    {
      "name": "crosshair-preview",
      "kind": "ui-component",
      "source_path": "components/settings/crosshair-preview.tsx"
    },
    {
      "name": "settings-panel",
      "kind": "ui-component",
      "source_path": "components/settings/settings-panel.tsx"
    },
    {
      "name": "settings-sections",
      "kind": "ui-component",
      "source_path": "components/settings/settings-sections.tsx"
    },
    {
      "name": "ui-components",
      "kind": "ui-component",
      "source_path": "components/settings/ui-components.tsx"
    },
    {
      "name": "theme-provider",
      "kind": "ui-component",
      "source_path": "components/theme-provider.tsx"
    },
    {
      "name": "accordion",
      "kind": "ui-component",
      "source_path": "components/ui/accordion.tsx"
    },
    {
      "name": "alert-dialog",
      "kind": "ui-component",
      "source_path": "components/ui/alert-dialog.tsx"
    },
    {
      "name": "alert",
      "kind": "ui-component",
      "source_path": "components/ui/alert.tsx"
    },
    {
      "name": "aspect-ratio",
      "kind": "ui-component",
      "source_path": "components/ui/aspect-ratio.tsx"
    },
    {
      "name": "avatar",
      "kind": "ui-component",
      "source_path": "components/ui/avatar.tsx"
    },
    {
      "name": "badge",
      "kind": "ui-component",
      "source_path": "components/ui/badge.tsx"
    },
    {
      "name": "breadcrumb",
      "kind": "ui-component",
      "source_path": "components/ui/breadcrumb.tsx"
    },
    {
      "name": "button-group",
      "kind": "ui-component",
      "source_path": "components/ui/button-group.tsx"
    },
    {
      "name": "button",
      "kind": "ui-component",
      "source_path": "components/ui/button.tsx"
    },
    {
      "name": "calendar",
      "kind": "ui-component",
      "source_path": "components/ui/calendar.tsx"
    },
    {
      "name": "card",
      "kind": "ui-component",
      "source_path": "components/ui/card.tsx"
    },
    {
      "name": "carousel",
      "kind": "ui-component",
      "source_path": "components/ui/carousel.tsx"
    },
    {
      "name": "chart",
      "kind": "ui-component",
      "source_path": "components/ui/chart.tsx"
    },
    {
      "name": "chart-container",
      "kind": "ui-component",
      "source_path": "components/ui/chart/chart-container.tsx"
    },
    {
      "name": "chart-context",
      "kind": "ui-component",
      "source_path": "components/ui/chart/chart-context.tsx"
    },
    {
      "name": "chart-legend",
      "kind": "ui-component",
      "source_path": "components/ui/chart/chart-legend.tsx"
    },
    {
      "name": "chart-style",
      "kind": "ui-component",
      "source_path": "components/ui/chart/chart-style.tsx"
    },
    {
      "name": "chart-tooltip",
      "kind": "ui-component",
      "source_path": "components/ui/chart/chart-tooltip.tsx"
    },
    {
      "name": "checkbox",
      "kind": "ui-component",
      "source_path": "components/ui/checkbox.tsx"
    },
    {
      "name": "collapsible",
      "kind": "ui-component",
      "source_path": "components/ui/collapsible.tsx"
    },
    {
      "name": "command",
      "kind": "ui-component",
      "source_path": "components/ui/command.tsx"
    },
    {
      "name": "context-menu",
      "kind": "ui-component",
      "source_path": "components/ui/context-menu.tsx"
    },
    {
      "name": "dialog",
      "kind": "ui-component",
      "source_path": "components/ui/dialog.tsx"
    },
    {
      "name": "drawer",
      "kind": "ui-component",
      "source_path": "components/ui/drawer.tsx"
    },
    {
      "name": "dropdown-menu",
      "kind": "ui-component",
      "source_path": "components/ui/dropdown-menu.tsx"
    },
    {
      "name": "empty",
      "kind": "ui-component",
      "source_path": "components/ui/empty.tsx"
    },
    {
      "name": "field",
      "kind": "ui-component",
      "source_path": "components/ui/field.tsx"
    },
    {
      "name": "form",
      "kind": "ui-component",
      "source_path": "components/ui/form.tsx"
    },
    {
      "name": "hover-card",
      "kind": "ui-component",
      "source_path": "components/ui/hover-card.tsx"
    },
    {
      "name": "input-group",
      "kind": "ui-component",
      "source_path": "components/ui/input-group.tsx"
    },
    {
      "name": "input-otp",
      "kind": "ui-component",
      "source_path": "components/ui/input-otp.tsx"
    },
    {
      "name": "input",
      "kind": "ui-component",
      "source_path": "components/ui/input.tsx"
    },
    {
      "name": "item",
      "kind": "ui-component",
      "source_path": "components/ui/item.tsx"
    },
    {
      "name": "kbd",
      "kind": "ui-component",
      "source_path": "components/ui/kbd.tsx"
    },
    {
      "name": "label",
      "kind": "ui-component",
      "source_path": "components/ui/label.tsx"
    },
    {
      "name": "menubar",
      "kind": "ui-component",
      "source_path": "components/ui/menubar.tsx"
    },
    {
      "name": "navigation-menu",
      "kind": "ui-component",
      "source_path": "components/ui/navigation-menu.tsx"
    },
    {
      "name": "pagination",
      "kind": "ui-component",
      "source_path": "components/ui/pagination.tsx"
    },
    {
      "name": "popover",
      "kind": "ui-component",
      "source_path": "components/ui/popover.tsx"
    },
    {
      "name": "progress",
      "kind": "ui-component",
      "source_path": "components/ui/progress.tsx"
    },
    {
      "name": "radio-group",
      "kind": "ui-component",
      "source_path": "components/ui/radio-group.tsx"
    },
    {
      "name": "resizable",
      "kind": "ui-component",
      "source_path": "components/ui/resizable.tsx"
    },
    {
      "name": "scroll-area",
      "kind": "ui-component",
      "source_path": "components/ui/scroll-area.tsx"
    },
    {
      "name": "select",
      "kind": "ui-component",
      "source_path": "components/ui/select.tsx"
    },
    {
      "name": "separator",
      "kind": "ui-component",
      "source_path": "components/ui/separator.tsx"
    },
    {
      "name": "sheet",
      "kind": "ui-component",
      "source_path": "components/ui/sheet.tsx"
    },
    {
      "name": "sidebar",
      "kind": "ui-component",
      "source_path": "components/ui/sidebar.tsx"
    },
    {
      "name": "skeleton",
      "kind": "ui-component",
      "source_path": "components/ui/skeleton.tsx"
    },
    {
      "name": "slider",
      "kind": "ui-component",
      "source_path": "components/ui/slider.tsx"
    },
    {
      "name": "sonner",
      "kind": "ui-component",
      "source_path": "components/ui/sonner.tsx"
    },
    {
      "name": "spinner",
      "kind": "ui-component",
      "source_path": "components/ui/spinner.tsx"
    },
    {
      "name": "switch",
      "kind": "ui-component",
      "source_path": "components/ui/switch.tsx"
    },
    {
      "name": "table",
      "kind": "ui-component",
      "source_path": "components/ui/table.tsx"
    },
    {
      "name": "tabs",
      "kind": "ui-component",
      "source_path": "components/ui/tabs.tsx"
    },
    {
      "name": "textarea",
      "kind": "ui-component",
      "source_path": "components/ui/textarea.tsx"
    },
    {
      "name": "toast",
      "kind": "ui-component",
      "source_path": "components/ui/toast.tsx"
    },
    {
      "name": "toaster",
      "kind": "ui-component",
      "source_path": "components/ui/toaster.tsx"
    },
    {
      "name": "toggle-group",
      "kind": "ui-component",
      "source_path": "components/ui/toggle-group.tsx"
    },
    {
      "name": "toggle",
      "kind": "ui-component",
      "source_path": "components/ui/toggle.tsx"
    },
    {
      "name": "tooltip",
      "kind": "ui-component",
      "source_path": "components/ui/tooltip.tsx"
    },
    {
      "name": "use-mobile",
      "kind": "ui-component",
      "source_path": "components/ui/use-mobile.tsx"
    }
  ],
  "data_models": [],
  "database": {
    "databases": [
      "redis"
    ],
    "schemas": [],
    "migrations": []
  },
  "tests": [
    {
      "name": "mcp-json.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/.well-known/mcp-json.test.ts"
    },
    {
      "name": "docs.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/api/docs.test.ts"
    },
    {
      "name": "errors.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/api/errors.test.ts"
    },
    {
      "name": "events.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/api/events.test.ts"
    },
    {
      "name": "health.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/api/health.test.ts"
    },
    {
      "name": "matches.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/api/matches.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/api/mcp/route.test.ts"
    },
    {
      "name": "sessions.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/api/multiplayer/sessions.test.ts"
    },
    {
      "name": "catalog-routes.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/api/v1/catalog-routes.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/api/v1/leaderboard/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/api/v1/servers/[id]/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/api/v1/servers/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/api/v1/stats/route.test.ts"
    },
    {
      "name": "webhooks.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/api/webhooks.test.ts"
    },
    {
      "name": "breadcrumb-jsonld.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/breadcrumb-jsonld.test.ts"
    },
    {
      "name": "page.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/faq/page.test.tsx"
    },
    {
      "name": "page.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/leaderboard/page.test.tsx"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/llms-index.json/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/llms.txt/route.test.ts"
    },
    {
      "name": "page.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/page.test.tsx"
    },
    {
      "name": "robots.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/robots.test.ts"
    },
    {
      "name": "page.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/settings/page.test.tsx"
    },
    {
      "name": "sitemap.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/app/sitemap.test.ts"
    },
    {
      "name": "end-screen.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/game/end-screen.test.tsx"
    },
    {
      "name": "game-canvas.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/game/game-canvas.test.tsx"
    },
    {
      "name": "crosshair.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/game/hud/crosshair.test.tsx"
    },
    {
      "name": "hud-overlay.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/game/hud/hud-overlay.test.tsx"
    },
    {
      "name": "kill-feed.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/game/hud/kill-feed.test.tsx"
    },
    {
      "name": "minimap.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/game/hud/minimap.test.tsx"
    },
    {
      "name": "scoreboard.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/game/hud/scoreboard.test.tsx"
    },
    {
      "name": "screen-effects.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/game/hud/screen-effects.test.tsx"
    },
    {
      "name": "mobile-controller.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/game/mobile/mobile-controller.test.tsx"
    },
    {
      "name": "player-controller.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/game/player-controller.test.tsx"
    },
    {
      "name": "use-player-input-desktop.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/game/player/use-player-input-desktop.test.ts"
    },
    {
      "name": "use-player-input.mobile.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/game/player/use-player-input.mobile.test.ts"
    },
    {
      "name": "use-player-movement.mobile.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/game/player/use-player-movement.mobile.test.ts"
    },
    {
      "name": "use-player-physics.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/game/player/use-player-physics.test.ts"
    },
    {
      "name": "use-player-weapons.hitscan.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/game/player/use-player-weapons.hitscan.test.ts"
    },
    {
      "name": "use-player-weapons.mobile.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/game/player/use-player-weapons.mobile.test.ts"
    },
    {
      "name": "hero-section.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/landing/hero-section.test.tsx"
    },
    {
      "name": "footer.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/layout/footer.test.tsx"
    },
    {
      "name": "quake-logo.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/layout/quake-logo.test.tsx"
    },
    {
      "name": "top-bar.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/layout/top-bar.test.tsx"
    },
    {
      "name": "server-list.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/server-browser/server-list.test.tsx"
    },
    {
      "name": "settings-panel.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/settings/settings-panel.test.tsx"
    },
    {
      "name": "settings-sections.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/settings/settings-sections.test.tsx"
    },
    {
      "name": "ui-components.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/components/settings/ui-components.test.tsx"
    },
    {
      "name": "multiplayer.spec.ts",
      "kind": "e2e",
      "source_path": "__tests__/e2e/multiplayer.spec.ts"
    },
    {
      "name": "performance.spec.ts",
      "kind": "e2e",
      "source_path": "__tests__/e2e/performance.spec.ts"
    },
    {
      "name": "use-mobile.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/hooks/use-mobile.test.ts"
    },
    {
      "name": "use-multiplayer.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "__tests__/hooks/use-multiplayer.test.tsx"
    },
    {
      "name": "audio-engine.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/game/audio-engine.test.ts"
    },
    {
      "name": "bot-positions.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/game/bot-positions.test.ts"
    },
    {
      "name": "bot-states.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/game/bot-states.test.ts"
    },
    {
      "name": "catalog.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/game/catalog.test.ts"
    },
    {
      "name": "constants.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/game/constants.test.ts"
    },
    {
      "name": "gameplay-scenarios.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/game/gameplay-scenarios.test.ts"
    },
    {
      "name": "forge.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/game/maps/forge.test.ts"
    },
    {
      "name": "index.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/game/maps/index.test.ts"
    },
    {
      "name": "q3dm17.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/game/maps/q3dm17.test.ts"
    },
    {
      "name": "mobile-input.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/game/mobile-input.test.ts"
    },
    {
      "name": "player-position.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/game/player-position.test.ts"
    },
    {
      "name": "settings.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/game/settings.test.ts"
    },
    {
      "name": "client.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/mcp/client.test.ts"
    },
    {
      "name": "hn.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/mcp/hn.test.ts"
    },
    {
      "name": "methods.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/mcp/methods.test.ts"
    },
    {
      "name": "jsonld.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/seo/jsonld.test.ts"
    },
    {
      "name": "servers.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/server-browser/servers.test.ts"
    },
    {
      "name": "game-store.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/stores/game-store.test.ts"
    },
    {
      "name": "multiplayer-slice.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/stores/multiplayer-slice.test.ts"
    },
    {
      "name": "telemetry.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/telemetry.test.ts"
    },
    {
      "name": "utils.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/utils.test.ts"
    },
    {
      "name": "logger.test.ts",
      "kind": "unit-or-integration",
      "source_path": "__tests__/lib/utils/logger.test.ts"
    },
    {
      "name": "playwright.config.ts",
      "kind": "playwright",
      "source_path": "playwright.config.ts"
    },
    {
      "name": "jest.env.ts",
      "kind": "unit-or-integration",
      "source_path": "test/jest.env.ts"
    },
    {
      "name": "react-dom-test-utils.ts",
      "kind": "unit-or-integration",
      "source_path": "test/react-dom-test-utils.ts"
    }
  ],
  "ci": {
    "workflows": []
  },
  "containers": {
    "dockerfiles": [
      {
        "path": "Dockerfile"
      }
    ],
    "compose_files": []
  },
  "env": {
    "example_files": [],
    "variables": [
      {
        "name": "DATABASE_URL",
        "source_paths": [
          "lib/game/arena-state.ts",
          "lib/platform/metadata.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "KV_REST_API_TOKEN",
        "source_paths": [
          "lib/multiplayer/session-store.ts",
          "lib/platform/metadata.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "KV_REST_API_URL",
        "source_paths": [
          "__tests__/e2e/multiplayer.spec.ts",
          "lib/multiplayer/session-store.ts",
          "lib/platform/metadata.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "LIBSQL_URL",
        "source_paths": [
          "lib/game/arena-state.ts",
          "lib/platform/metadata.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NEXT_RUNTIME",
        "source_paths": [
          "instrumentation.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NODE_ENV",
        "source_paths": [
          "app/api/health/route.ts",
          "lib/game/audio-engine.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "PLATPHORM_API_KEY",
        "source_paths": [
          "__tests__/app/api/matches.test.ts",
          "__tests__/app/api/v1/servers/[id]/route.test.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "PLATPHORM_REQUIRE_API_KEY",
        "source_paths": [
          "app/llms-index.json/route.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "POSTGRES_URL",
        "source_paths": [
          "lib/game/arena-state.ts",
          "lib/platform/metadata.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "QUAKE_MODEL_PROVIDER_ENABLED",
        "source_paths": [
          "lib/model/quake-model.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "TURSO_DATABASE_URL",
        "source_paths": [
          "lib/game/arena-state.ts",
          "lib/platform/metadata.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "UPSTASH_REDIS_REST_TOKEN",
        "source_paths": [
          "lib/multiplayer/session-store.ts",
          "lib/platform/metadata.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "UPSTASH_REDIS_REST_URL",
        "source_paths": [
          "__tests__/e2e/multiplayer.spec.ts",
          "lib/multiplayer/session-store.ts",
          "lib/platform/metadata.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VERCEL_ENV",
        "source_paths": [
          "app/api/health/route.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "WEBHOOK_SECRET",
        "source_paths": [
          "__tests__/app/api/webhooks.test.ts",
          "app/api/webhooks/route.ts"
        ],
        "likely_secret": true
      }
    ]
  },
  "configs": [
    {
      "path": "eslint.config.mjs"
    },
    {
      "path": "next.config.mjs"
    },
    {
      "path": "package.json"
    },
    {
      "path": "pnpm-workspace.yaml"
    },
    {
      "path": "postcss.config.mjs"
    },
    {
      "path": "tsconfig.json"
    }
  ],
  "docs": {
    "readme_paths": [
      {
        "path": "README.md"
      }
    ],
    "doc_paths": [],
    "llms_context_paths": []
  },
  "discovery_files": {
    "openapi": [
      {
        "path": "app/api/docs/openapi.json"
      }
    ],
    "mcp": [
      {
        "path": "__tests__/app/api/mcp/route.test.ts"
      },
      {
        "path": "app/api/mcp/route.ts"
      }
    ],
    "llms": [],
    "sitemaps": [],
    "feeds": [],
    "well_known": [
      {
        "path": "__tests__/app/.well-known/mcp-json.test.ts"
      },
      {
        "path": "app/.well-known/agent.json/route.ts"
      },
      {
        "path": "app/.well-known/agents.json/route.ts"
      },
      {
        "path": "app/.well-known/ai-plugin.json/route.ts"
      },
      {
        "path": "app/.well-known/mcp.json/route.ts"
      },
      {
        "path": "app/.well-known/security.txt/route.ts"
      },
      {
        "path": "app/.well-known/trust-policy.json/route.ts"
      },
      {
        "path": "app/.well-known/trust.json/route.ts"
      }
    ],
    "robots": [],
    "manifests": []
  },
  "integrations": [
    {
      "name": "PlatPhorm",
      "confidence": "medium",
      "evidence_paths": [
        "__tests__/app/api/docs.test.ts",
        "__tests__/app/api/events.test.ts",
        "__tests__/app/api/matches.test.ts",
        "__tests__/app/api/v1/catalog-routes.test.ts",
        "__tests__/app/api/v1/servers/[id]/route.test.ts",
        "app/.well-known/agents.json/route.ts",
        "app/.well-known/ai-plugin.json/route.ts",
        "app/.well-known/trust.json/route.ts",
        "app/llms-index.json/route.ts",
        "lib/platform/auth.ts",
        "package.json"
      ]
    },
    {
      "name": "Postgres",
      "confidence": "medium",
      "evidence_paths": [
        "app/api/health/route.ts",
        "lib/game/arena-state.ts",
        "lib/game/catalog.ts",
        "lib/platform/metadata.ts",
        "package.json"
      ]
    },
    {
      "name": "Redis",
      "confidence": "medium",
      "evidence_paths": [
        "__tests__/e2e/multiplayer.spec.ts",
        "lib/multiplayer/session-store.ts",
        "lib/platform/metadata.ts",
        "package.json",
        "pnpm-lock.yaml",
        "README.md"
      ]
    },
    {
      "name": "Vercel",
      "confidence": "medium",
      "evidence_paths": [
        "app/api/health/route.ts",
        "app/layout.tsx",
        "package.json",
        "pnpm-lock.yaml"
      ]
    }
  ],
  "license": {
    "spdx": null,
    "paths": [
      {
        "path": "LICENSE.txt"
      }
    ]
  },
  "comments": [
    {
      "kind": "deprecated",
      "source_path": "__tests__/hooks/use-mobile.test.ts",
      "line": 18,
      "text": "addListener: jest.fn(), // Deprecated but might be needed"
    },
    {
      "kind": "deprecated",
      "source_path": "__tests__/hooks/use-mobile.test.ts",
      "line": 19,
      "text": "removeListener: jest.fn(), // Deprecated"
    },
    {
      "kind": "security",
      "source_path": "app/.well-known/ai-plugin.json/route.ts",
      "line": 16,
      "text": "contact_email: \"security@platphormnews.com\","
    },
    {
      "kind": "security",
      "source_path": "app/.well-known/security.txt/route.ts",
      "line": 4,
      "text": "const body = `Contact: mailto:security@platphormnews.com"
    },
    {
      "kind": "security",
      "source_path": "app/.well-known/security.txt/route.ts",
      "line": 7,
      "text": "Canonical: https://quake.platphormnews.com/.well-known/security.txt"
    },
    {
      "kind": "security",
      "source_path": "app/.well-known/trust.json/route.ts",
      "line": 54,
      "text": "securityContact: \"security@platphormnews.com\","
    },
    {
      "kind": "security",
      "source_path": "app/api/docs/route.ts",
      "line": 19,
      "text": "...(protectedAction ? { security: [{ PlatPhormApiKey: [] }, { PlatPhormBearer: [] }] } : {}),"
    },
    {
      "kind": "security",
      "source_path": "app/api/docs/route.ts",
      "line": 110,
      "text": "\"/.well-known/security.txt\": { get: pathSummary(\"Security contact and policy\") },"
    },
    {
      "kind": "security",
      "source_path": "app/llms.txt/route.ts",
      "line": 46,
      "text": "- GET /.well-known/mcp.json, /.well-known/agents.json, /.well-known/ai-plugin.json, /.well-known/security.txt, /.well-known/trust.json"
    },
    {
      "kind": "security",
      "source_path": "lib/mcp/server.ts",
      "line": 230,
      "text": "\"/.well-known/security.txt\","
    },
    {
      "kind": "security",
      "source_path": "lib/mcp/server.ts",
      "line": 256,
      "text": "wellKnown: [\"mcp\", \"agents\", \"ai-plugin\", \"security\", \"trust\"],"
    },
    {
      "kind": "security",
      "source_path": "License FAQ.md",
      "line": 23,
      "text": "Yes, if your use is non-commercial as defined by the license. Internal evaluation, research, development, testing, security review, accessibility work, and internal experimentation are generally allowed if you are not directly or indirectly"
    },
    {
      "kind": "security",
      "source_path": "LICENSE.txt",
      "line": 13,
      "text": "“Non-commercial purposes” include personal use by an individual, academic research and development, journalism, testing, evaluation, interoperability work, security review, accessibility work, and internal use by your own organization where"
    },
    {
      "kind": "security",
      "source_path": "next.config.mjs",
      "line": 25,
      "text": "key: 'Content-Security-Policy',"
    },
    {
      "kind": "unsafe",
      "source_path": "next.config.mjs",
      "line": 26,
      "text": "value: \"default-src 'self' *.platphormnews.com platphormnews.com claws.platphormnews.com; script-src 'self' 'unsafe-eval' 'unsafe-inline' *.platphormnews.com platphormnews.com claws.platphormnews.com; style-src 'self' 'unsafe-inline' *.plat"
    },
    {
      "kind": "deprecated",
      "source_path": "pnpm-lock.yaml",
      "line": 3266,
      "text": "deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by cont"
    },
    {
      "kind": "deprecated",
      "source_path": "pnpm-lock.yaml",
      "line": 3271,
      "text": "deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by cont"
    },
    {
      "kind": "deprecated",
      "source_path": "pnpm-lock.yaml",
      "line": 3391,
      "text": "deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful."
    },
    {
      "kind": "deprecated",
      "source_path": "pnpm-lock.yaml",
      "line": 4028,
      "text": "deprecated: Use your platform's native DOMException instead"
    },
    {
      "kind": "deprecated",
      "source_path": "pnpm-lock.yaml",
      "line": 4862,
      "text": "deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation"
    }
  ],
  "security": {
    "secret_risks": [],
    "unsafe_patterns": [
      {
        "name": "dangerously-set-html",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/app/breadcrumb-jsonld.test.ts",
          "app/faq/page.tsx",
          "app/layout.tsx",
          "components/seo/breadcrumb-jsonld.tsx",
          "components/ui/chart/chart-style.tsx"
        ]
      },
      {
        "name": "sql-injection-review-needed",
        "confidence": "medium",
        "evidence_paths": [
          "app/feed.xml/route.ts",
          "components/server-browser/server-list.tsx"
        ]
      }
    ],
    "sensitive_data_indicators": [
      {
        "name": "api_key",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/app/api/docs.test.ts",
          "__tests__/app/api/events.test.ts",
          "__tests__/app/api/matches.test.ts",
          "__tests__/app/api/v1/catalog-routes.test.ts",
          "__tests__/app/api/v1/servers/[id]/route.test.ts",
          "app/.well-known/agents.json/route.ts",
          "app/.well-known/ai-plugin.json/route.ts",
          "app/.well-known/trust.json/route.ts",
          "app/api/docs/openapi.json",
          "app/api/docs/route.ts",
          "app/faq/page.tsx",
          "app/llms-full.txt/route.ts",
          "app/llms-index.json/route.ts",
          "app/llms.txt/route.ts",
          "app/matches/page.tsx",
          "app/privacy/page.tsx",
          "app/terms/page.tsx",
          "components/landing/hero-section.tsx",
          "lib/game/arena-state.ts",
          "lib/game/catalog.ts"
        ]
      },
      {
        "name": "card",
        "confidence": "medium",
        "evidence_paths": [
          "app/api/health/route.ts",
          "app/globals.css",
          "app/layout.tsx",
          "components/game/end-screen.tsx",
          "components/game/hud/scoreboard.tsx",
          "components/landing/hero-section.tsx",
          "components/leaderboard/leaderboard-table.tsx",
          "components/settings/ui-components.tsx",
          "components/ui/alert.tsx",
          "components/ui/calendar.tsx",
          "components/ui/card.tsx",
          "components/ui/hover-card.tsx",
          "package.json",
          "pnpm-lock.yaml",
          "ROADMAP.md",
          "styles/globals.css"
        ]
      },
      {
        "name": "email",
        "confidence": "medium",
        "evidence_paths": [
          "app/.well-known/ai-plugin.json/route.ts"
        ]
      },
      {
        "name": "health",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/app/api/health.test.ts",
          "__tests__/components/game/game-canvas.test.tsx",
          "__tests__/components/game/hud/hud-overlay.test.tsx",
          "__tests__/components/game/hud/screen-effects.test.tsx",
          "__tests__/components/game/player/use-player-movement.mobile.test.ts",
          "__tests__/components/server-browser/server-list.test.tsx",
          "__tests__/hooks/use-multiplayer.test.tsx",
          "__tests__/lib/game/audio-engine.test.ts",
          "__tests__/lib/game/constants.test.ts",
          "__tests__/lib/game/gameplay-scenarios.test.ts",
          "__tests__/lib/stores/game-store.test.ts",
          "__tests__/lib/stores/multiplayer-slice.test.ts",
          "app/.well-known/agents.json/route.ts",
          "app/.well-known/trust.json/route.ts",
          "app/api/docs/route.ts",
          "app/api/health/route.ts",
          "app/api/v1/health/route.ts",
          "app/llms-full.txt/route.ts",
          "app/llms-index.json/route.ts",
          "app/llms.txt/route.ts"
        ]
      },
      {
        "name": "location",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/app/api/matches.test.ts",
          ".Jules/bolt.md",
          "app/api/v1/matches/route.ts",
          "app/faq/page.tsx",
          "app/maps/[id]/page.tsx",
          "app/play/page.tsx",
          "components/game/ai/bot-manager.tsx",
          "components/game/hud/hud-overlay.tsx",
          "components/game/hud/minimap.tsx",
          "components/game/mobile/mobile-controller.tsx",
          "components/game/multiplayer/remote-player-manager.tsx",
          "components/game/player/use-player-movement.ts",
          "components/game/player/use-player-weapons.ts",
          "components/game/weapons/projectile-manager.tsx",
          "components/server-browser/server-list.tsx",
          "hooks/use-multiplayer.tsx",
          "lib/game/maps/types.ts"
        ]
      },
      {
        "name": "oauth",
        "confidence": "medium",
        "evidence_paths": [
          "README.md",
          "ROADMAP.md"
        ]
      },
      {
        "name": "password",
        "confidence": "medium",
        "evidence_paths": [
          "__tests__/app/page.test.tsx",
          "__tests__/components/server-browser/server-list.test.tsx",
          "__tests__/lib/server-browser/servers.test.ts",
          "components/server-browser/server-list.tsx",
          "lib/game/arena-state.ts",
          "lib/mcp/constants.ts",
          "lib/multiplayer/session-store.ts",
          "lib/server-browser/servers.ts"
        ]
      },
      {
        "name": "pii",
        "confidence": "medium",
        "evidence_paths": [
          "pnpm-lock.yaml"
        ]
      },
      {
        "name": "secret-like environment variables",
        "confidence": "medium",
        "evidence_paths": [
          "package.json"
        ]
      },
      {
        "name": "token",
        "confidence": "medium",
        "evidence_paths": [
          "app/.well-known/trust.json/route.ts",
          "app/api/webhooks/route.ts",
          "lib/game/catalog.ts",
          "lib/multiplayer/session-store.ts",
          "lib/platform/auth.ts",
          "lib/platform/metadata.ts",
          "pnpm-lock.yaml",
          "README.md"
        ]
      }
    ]
  },
  "generated_at": "2026-05-16T16:44:19.771Z"
}
