codecov:
  require_ci_to_pass: true

coverage:
  status:
    project:
      platform-backend:
        target: auto
        threshold: 1%
        flags:
          - platform-backend
      platform-frontend:
        target: auto
        threshold: 1%
        informational: true
        flags:
          - platform-frontend
    patch:
      platform-backend:
        target: 80%
        flags:
          - platform-backend
      platform-frontend:
        target: 70%
        flags:
          - platform-frontend
      autogpt-libs:
        target: 80%
        informational: true
        flags:
          - autogpt-libs
      classic:
        target: 80%
        informational: true
        flags:
          - autogpt-agent

flags:
  platform-backend:
    paths:
      - autogpt_platform/backend/
    carryforward: true
  platform-frontend:
    paths:
      - autogpt_platform/frontend/src/
    carryforward: true
  platform-frontend-e2e:
    paths:
      - autogpt_platform/frontend/src/
    carryforward: true
  autogpt-libs:
    paths:
      - autogpt_platform/autogpt_libs/
    carryforward: true
  autogpt-agent:
    paths:
      - classic/
    carryforward: true

component_management:
  default_rules:
    statuses:
      - type: project
        target: auto
        informational: true
      - type: patch
        target: 80%
        informational: true
  individual_components:
    - component_id: platform-backend
      name: "Platform Backend"
      paths:
        - autogpt_platform/backend/**
    - component_id: platform-frontend
      name: "Platform Frontend"
      paths:
        - autogpt_platform/frontend/src/**
      statuses:
        - type: project
          target: auto
          informational: true
        - type: patch
          target: 70%
          informational: true
    - component_id: autogpt-libs
      name: "AutoGPT Libs"
      paths:
        - autogpt_platform/autogpt_libs/**
    - component_id: classic
      name: "Classic AutoGPT"
      paths:
        - classic/**

comment:
  layout: "header,diff,flags,components"
  behavior: default
  require_changes: false
