{
  "nodeFrameworks": [
    { "language": "react", "packages": ["react", "react-dom", "next"] },
    { "language": "vue", "packages": ["vue", "nuxt"] },
    { "language": "angular", "packages": ["@angular/core"] },
    { "language": "svelte", "packages": ["svelte", "@sveltejs/kit"] },
    { "language": "solid", "packages": ["solid-js"] },
    { "language": "express", "packages": ["express"] },
    { "language": "fastify", "packages": ["fastify"] },
    { "language": "hono", "packages": ["hono"] },
    { "language": "nestjs", "packages": ["@nestjs/core"] },
    { "language": "remix", "packages": ["@remix-run/node", "@remix-run/react"] },
    { "language": "astro", "packages": ["astro"] }
  ],
  "nodeTestFrameworks": [
    { "name": "cypress", "packages": ["cypress"] },
    { "name": "playwright", "packages": ["@playwright/test", "playwright"] },
    { "name": "jest", "packages": ["jest", "ts-jest"] },
    { "name": "vitest", "packages": ["vitest"] },
    { "name": "mocha", "packages": ["mocha"] }
  ],
  "extraLanguageSignals": [
    { "language": "blade", "paths": [], "globs": ["**/*.blade.php"] },
    { "language": "twig", "paths": [], "globs": ["**/*.twig"] },
    { "language": "erb", "paths": [], "globs": ["**/*.erb", "**/*.html.erb"] },
    { "language": "jinja", "paths": [], "globs": ["**/*.jinja2", "**/*.j2"] },
    {
      "language": "swift",
      "paths": ["Package.swift"],
      "globs": ["**/*.xcodeproj", "**/*.swift"]
    },
    { "language": "blazor", "paths": [], "globs": ["**/*.razor"] },
    { "language": "dart", "paths": ["pubspec.yaml"], "globs": ["**/*.dart"] },
    { "language": "kotlin", "paths": [], "globs": ["**/*.kt", "**/*.kts"] },
    { "language": "elixir", "paths": ["mix.exs"], "globs": ["**/*.ex", "**/*.exs"] }
  ],
  "codeGenSignals": [
    { "tool": "sqlc", "paths": ["sqlc.yaml", "sqlc.yml"], "globs": [] },
    { "tool": "hygen", "paths": ["_templates"], "globs": ["**/.hygen.js"] },
    { "tool": "protobuf", "paths": ["buf.yaml", "buf.gen.yaml"], "globs": [] },
    {
      "tool": "openapi",
      "paths": [],
      "globs": ["**/openapi-generator*", "**/openapi*.yaml"]
    },
    { "tool": "graphql-codegen", "paths": ["codegen.ts", "codegen.yml"], "globs": [] },
    { "tool": "prisma", "paths": [], "globs": ["**/schema.prisma"] },
    { "tool": "drizzle", "paths": ["drizzle.config.ts"], "globs": [] }
  ],
  "deploySignals": [
    { "tool": "amplify", "paths": ["amplify.yml", "amplify"], "globs": [] },
    {
      "tool": "docker",
      "paths": ["Dockerfile", "docker-compose.yml", "docker-compose.yaml", "compose.yaml", "compose.yml"],
      "globs": []
    },
    { "tool": "fly", "paths": ["fly.toml"], "globs": [] },
    { "tool": "vercel", "paths": ["vercel.json"], "globs": [] },
    { "tool": "netlify", "paths": ["netlify.toml"], "globs": [] },
    { "tool": "cloudflare", "paths": ["wrangler.toml", "wrangler.jsonc"], "globs": [] },
    { "tool": "render", "paths": ["render.yaml"], "globs": [] },
    {
      "tool": "terraform",
      "paths": ["terraform"],
      "globs": ["**/main.tf", "**/*.tf"]
    },
    { "tool": "pulumi", "paths": ["Pulumi.yaml"], "globs": [] },
    {
      "tool": "kubernetes",
      "paths": [],
      "globs": ["**/k8s/**/*.yaml", "**/kubernetes/**/*.yaml", "**/kustomization.yaml"]
    },
    { "tool": "packer", "paths": ["packer.json"], "globs": ["**/*.pkr.hcl"] },
    { "tool": "aws-cdk", "paths": ["cdk.json"], "globs": [] }
  ],
  "setupFrameworkMarkers": [
    { "name": "Next.js", "files": ["package.json"], "markers": ["\"next\""] },
    { "name": "Nuxt", "files": ["package.json"], "markers": ["\"nuxt\""] },
    { "name": "Remix", "files": ["package.json"], "markers": ["\"@remix-run/"] },
    { "name": "Astro", "files": ["package.json"], "markers": ["\"astro\""] },
    { "name": "Laravel", "files": ["composer.json"], "markers": ["laravel/framework"] },
    { "name": "Symfony", "files": ["composer.json"], "markers": ["symfony/framework-bundle"] },
    {
      "name": "Django",
      "files": ["requirements.txt", "pyproject.toml"],
      "markers": ["django"]
    },
    {
      "name": "FastAPI",
      "files": ["requirements.txt", "pyproject.toml"],
      "markers": ["fastapi"]
    },
    {
      "name": "Flask",
      "files": ["requirements.txt", "pyproject.toml"],
      "markers": ["flask"]
    },
    { "name": "Rails", "files": ["Gemfile"], "markers": ["rails"] },
    { "name": "Spring Boot", "files": ["pom.xml", "build.gradle", "build.gradle.kts"], "markers": ["spring-boot"] },
    {
      "name": "Actix",
      "files": ["Cargo.toml"],
      "markers": ["actix-web"]
    },
    { "name": "Gin", "files": ["go.mod"], "markers": ["gin-gonic"] },
    { "name": "Echo", "files": ["go.mod"], "markers": ["labstack/echo"] },
    { "name": "Phoenix", "files": ["mix.exs"], "markers": ["phoenix"] },
    { "name": "Flutter", "files": ["pubspec.yaml"], "markers": ["flutter"] }
  ],
  "rootPythonFiles": ["pyproject.toml", "setup.py", "requirements.txt", "setup.cfg"],
  "subdirPythonGlobs": ["*/pyproject.toml", "*/requirements.txt"],
  "javaManifestPaths": ["pom.xml", "build.gradle", "build.gradle.kts"],
  "llmEnvFiles": [".env.example", ".env.sample", ".env"],
  "llmDepFiles": ["requirements.txt", "pyproject.toml", "package.json", "go.mod", "Cargo.toml"],
  "complianceDocs": [
    "README.md",
    ".goat-flow/architecture.md",
    ".github/instructions/security.instructions.md"
  ],
  "formatterMap": {
    "typescript": ["prettier", "biome", "dprint"],
    "javascript": ["prettier", "biome", "dprint"],
    "php": ["php-cs-fixer", "phpcbf", "pint"],
    "python": ["black", "ruff", "yapf", "autopep8"],
    "rust": ["rustfmt"],
    "go": ["gofmt", "goimports"],
    "bash": ["shfmt"],
    "ruby": ["rubocop"],
    "java": ["google-java-format", "spotless"],
    "kotlin": ["ktlint", "detekt"],
    "csharp": ["dotnet-format", "csharpier"],
    "swift": ["swiftformat"],
    "dart": ["dart format"]
  }
}
