version: 2
updates:
  - package-ecosystem: "pip"
    directory: "/"
    schedule:
      interval: "daily"
    cooldown:
      default-days: 7
    open-pull-requests-limit: 5
    groups:
      # put packages in their own group if they have a history of breaking the build or needing to be reverted
      pre-commit:
        patterns:
          - "pre-commit"
      browsergym:
        patterns:
          - "browsergym*"
      mcp-packages:
        patterns:
          - "mcp"
      security-all:
        applies-to: "security-updates"
        patterns:
          - "*"
      version-all:
        applies-to: "version-updates"
        patterns:
          - "*"

  - package-ecosystem: "npm"
    directory: "/frontend"
    schedule:
      interval: "daily"
    cooldown:
      default-days: 7
    open-pull-requests-limit: 5
    groups:
      docusaurus:
        patterns:
          - "*docusaurus*"
      eslint:
        patterns:
          - "*eslint*"
      security-all:
        applies-to: "security-updates"
        patterns:
          - "*"
      version-all:
        applies-to: "version-updates"
        patterns:
          - "*"

  - package-ecosystem: "npm"
    directory: "/docs"
    schedule:
      interval: "weekly"
      day: "wednesday"
    cooldown:
      default-days: 7
    open-pull-requests-limit: 5
    groups:
      docusaurus:
        patterns:
          - "*docusaurus*"
      eslint:
        patterns:
          - "*eslint*"
      security-all:
        applies-to: "security-updates"
        patterns:
          - "*"
      version-all:
        applies-to: "version-updates"
        patterns:
          - "*"

  - package-ecosystem: "github-actions"
    directories:
      - "/"
      - "/.github/actions/docker-image-tags"
      - "/.github/actions/docker-merge-manifest"
    schedule:
      interval: "weekly"
    cooldown:
      default-days: 7
    open-pull-requests-limit: 5

  - package-ecosystem: "docker"
    directories:
      - "containers/*"
    schedule:
      interval: "weekly"
    cooldown:
      default-days: 7
    open-pull-requests-limit: 5
