import { FlatCompat } from "@eslint/eslintrc";
import js from "@eslint/js";
import tseslint from "typescript-eslint";

const compat = new FlatCompat({
  baseDirectory: import.meta.dirname,
  recommendedConfig: js.configs.recommended,
});

const eslintConfig = [
  {
    ignores: [
      ".next/**",
      "node_modules/**",
      "out/**",
      "next-env.d.ts",
      ".agents/**",
      ".claude/**",
      ".codex/**",
      ".cursor/**",
      ".pi/**",
      ".playwright-mcp/**",
      ".serena/**",
      ".spec-workflow/**",
      ".trae/**",
      ".trellis/**",
      "output/**",
      "tmp/**",
      "teatea-dashboard-*.png",
      "teatea-mobile-snapshot.md",
    ],
  },
  ...compat.extends("next/core-web-vitals"),
  ...tseslint.configs.recommended,
  {
    rules: {
      "@typescript-eslint/no-explicit-any": "error",
    },
  },
];

export default eslintConfig;
