# Dependabot — weekly bumps, grouped PRs, major bumps ignored for high-churn tooling.
# Docs: https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
  # ── GitHub Actions (batch into one PR per week when possible) ─────────────
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 3
    groups:
      actions:
        patterns:
          - "*"

  # ── Shared ignore rules for TypeScript test/build stacks (major = manual) ─
  # Apply the same block under each npm directory below.

  - package-ecosystem: "npm"
    directory: "/packages/@eep-dev/gates"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 5
    groups:
      npm-production:
        dependency-type: "production"
        patterns:
          - "*"
      npm-development:
        dependency-type: "development"
        patterns:
          - "*"
    ignore:
      - dependency-name: "typescript"
        update-types: ["version-update:semver-major"]
      - dependency-name: "@types/node"
        update-types: ["version-update:semver-major"]
      - dependency-name: "vitest"
        update-types: ["version-update:semver-major"]
      - dependency-name: "@vitest/coverage-v8"
        update-types: ["version-update:semver-major"]

  - package-ecosystem: "npm"
    directory: "/packages/@eep-dev/signer"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 5
    groups:
      npm-production:
        dependency-type: "production"
        patterns:
          - "*"
      npm-development:
        dependency-type: "development"
        patterns:
          - "*"
    ignore:
      - dependency-name: "typescript"
        update-types: ["version-update:semver-major"]
      - dependency-name: "@types/node"
        update-types: ["version-update:semver-major"]
      - dependency-name: "vitest"
        update-types: ["version-update:semver-major"]
      - dependency-name: "@vitest/coverage-v8"
        update-types: ["version-update:semver-major"]

  - package-ecosystem: "npm"
    directory: "/packages/@eep-dev/validator"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 5
    groups:
      npm-production:
        dependency-type: "production"
        patterns:
          - "*"
      npm-development:
        dependency-type: "development"
        patterns:
          - "*"
    ignore:
      - dependency-name: "typescript"
        update-types: ["version-update:semver-major"]
      - dependency-name: "@types/node"
        update-types: ["version-update:semver-major"]
      - dependency-name: "vitest"
        update-types: ["version-update:semver-major"]
      - dependency-name: "@vitest/coverage-v8"
        update-types: ["version-update:semver-major"]

  - package-ecosystem: "npm"
    directory: "/packages/@eep-dev/compliance-cli"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 5
    groups:
      npm-production:
        dependency-type: "production"
        patterns:
          - "*"
      npm-development:
        dependency-type: "development"
        patterns:
          - "*"
    ignore:
      - dependency-name: "typescript"
        update-types: ["version-update:semver-major"]
      - dependency-name: "@types/node"
        update-types: ["version-update:semver-major"]
      - dependency-name: "vitest"
        update-types: ["version-update:semver-major"]
      - dependency-name: "@vitest/coverage-v8"
        update-types: ["version-update:semver-major"]

  - package-ecosystem: "npm"
    directory: "/packages/@eep-dev/discovery"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 5
    groups:
      npm-production:
        dependency-type: "production"
        patterns:
          - "*"
      npm-development:
        dependency-type: "development"
        patterns:
          - "*"
    ignore:
      - dependency-name: "typescript"
        update-types: ["version-update:semver-major"]
      - dependency-name: "@types/node"
        update-types: ["version-update:semver-major"]
      - dependency-name: "vitest"
        update-types: ["version-update:semver-major"]
      - dependency-name: "@vitest/coverage-v8"
        update-types: ["version-update:semver-major"]

  - package-ecosystem: "npm"
    directory: "/packages/@eep-dev/middleware"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 5
    groups:
      npm-production:
        dependency-type: "production"
        patterns:
          - "*"
      npm-development:
        dependency-type: "development"
        patterns:
          - "*"
    ignore:
      - dependency-name: "typescript"
        update-types: ["version-update:semver-major"]
      - dependency-name: "@types/node"
        update-types: ["version-update:semver-major"]
      - dependency-name: "vitest"
        update-types: ["version-update:semver-major"]
      - dependency-name: "@vitest/coverage-v8"
        update-types: ["version-update:semver-major"]

  - package-ecosystem: "npm"
    directory: "/packages/@eep-dev/mcp-bridge"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 5
    groups:
      npm-production:
        dependency-type: "production"
        patterns:
          - "*"
      npm-development:
        dependency-type: "development"
        patterns:
          - "*"
    ignore:
      - dependency-name: "typescript"
        update-types: ["version-update:semver-major"]
      - dependency-name: "@types/node"
        update-types: ["version-update:semver-major"]
      - dependency-name: "vitest"
        update-types: ["version-update:semver-major"]
      - dependency-name: "@vitest/coverage-v8"
        update-types: ["version-update:semver-major"]

  - package-ecosystem: "npm"
    directory: "/packages/@eep-dev/setup-cli"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 5
    groups:
      npm-production:
        dependency-type: "production"
        patterns:
          - "*"
      npm-development:
        dependency-type: "development"
        patterns:
          - "*"
    ignore:
      - dependency-name: "typescript"
        update-types: ["version-update:semver-major"]
      - dependency-name: "@types/node"
        update-types: ["version-update:semver-major"]
      - dependency-name: "vitest"
        update-types: ["version-update:semver-major"]
      - dependency-name: "@vitest/coverage-v8"
        update-types: ["version-update:semver-major"]

  - package-ecosystem: "npm"
    directory: "/packages/@eep-dev/agent-adopt"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 5
    groups:
      npm-production:
        dependency-type: "production"
        patterns:
          - "*"
      npm-development:
        dependency-type: "development"
        patterns:
          - "*"
    ignore:
      - dependency-name: "typescript"
        update-types: ["version-update:semver-major"]
      - dependency-name: "@types/node"
        update-types: ["version-update:semver-major"]
      - dependency-name: "vitest"
        update-types: ["version-update:semver-major"]

  - package-ecosystem: "npm"
    directory: "/tests"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 5
    groups:
      npm-development:
        dependency-type: "development"
        patterns:
          - "*"
    ignore:
      - dependency-name: "typescript"
        update-types: ["version-update:semver-major"]
      - dependency-name: "@types/node"
        update-types: ["version-update:semver-major"]
      - dependency-name: "vitest"
        update-types: ["version-update:semver-major"]

  - package-ecosystem: "npm"
    directory: "/examples/node-gate-publisher"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 5
    groups:
      npm-production:
        dependency-type: "production"
        patterns:
          - "*"
      npm-development:
        dependency-type: "development"
        patterns:
          - "*"
    ignore:
      - dependency-name: "typescript"
        update-types: ["version-update:semver-major"]
      - dependency-name: "@types/node"
        update-types: ["version-update:semver-major"]
      # Example app: allow hono minors; majors reviewed manually
      - dependency-name: "hono"
        update-types: ["version-update:semver-major"]
      - dependency-name: "@hono/node-server"
        update-types: ["version-update:semver-major"]

  # ── Python (patch/minor grouped; majors ignored for core libs) ────────────
  - package-ecosystem: "pip"
    directory: "/packages/eep-gates-python"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 5
    groups:
      pip-all:
        patterns:
          - "*"
    ignore:
      - dependency-name: "pydantic"
        update-types: ["version-update:semver-major"]

  - package-ecosystem: "pip"
    directory: "/packages/eep-signer-python"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 5
    groups:
      pip-all:
        patterns:
          - "*"

  - package-ecosystem: "pip"
    directory: "/packages/eep-validator-python"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 5
    groups:
      pip-all:
        patterns:
          - "*"

  - package-ecosystem: "pip"
    directory: "/packages/eep-compliance-cli-python"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 5
    groups:
      pip-all:
        patterns:
          - "*"

  - package-ecosystem: "pip"
    directory: "/packages/eep-discovery-python"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 5
    groups:
      pip-all:
        patterns:
          - "*"

  - package-ecosystem: "pip"
    directory: "/tests/cross-impl"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 5
    groups:
      pip-all:
        patterns:
          - "*"
