# For the syntax of this file, see:
#
#    https://docs.gitlab.com/ee/user/project/code_owners.html#the-syntax-of-code-owners-files
#
# If more than one rule matches a given file, the latest rule is used.
# The file should be generally kept sorted, except when it is necessary
# to use a different order due to the fact above. In that case, use
# '# sort-order-reset' comment line to reset the sort order.
#
# Recipes for a few common cases:
#
# 1. Specific directory with all its contents:
#
#    /components/app_trace/
#
#    Note the trailing slash!
#
# 2. File with certain extension in any subdirectory of a certain directory:
#
#    /examples/**/*.py
#
#    This includes an *.py files in /examples/ directory as well.
#
# 3. Contents of a directory with a certain name, anywhere in the tree:
#
#    test_*_host/
#
#    Will match everything under components/efuse/test_efuse_host/,
#    components/heap/test_multi_heap_host/, components/lwip/test_afl_host/, etc.
#
# 4. Same as above, except limited to a specific place in the tree:
#
#    /components/esp32*/
#
#    Matches everything under /components/esp32, /components/esp32s2, etc.
#    Doesn't match /tools/some-test/components/esp32s5.
#
# 5. Specific file:
#
#    /tools/tools.json
#
# 6. File with a certain name anywhere in the tree
#
#    .gitignore
#

* @esp-idf-codeowners/other

/.*                                   @esp-idf-codeowners/tools
/.codespellrc                         @esp-idf-codeowners/ci
/.github/workflows/                   @esp-idf-codeowners/ci
/.gitlab-ci.yml                       @esp-idf-codeowners/ci
/.gitlab/ci/                          @esp-idf-codeowners/ci
/.idf_build_apps.toml                 @esp-idf-codeowners/ci
/.idf_ci.toml                         @esp-idf-codeowners/ci
/.pre-commit-config.yaml              @esp-idf-codeowners/ci
/.vale.ini                            @esp-idf-codeowners/docs
/CMakeLists.txt                       @esp-idf-codeowners/build-config
/COMPATIBILITY*.md                    @esp-idf-codeowners/peripherals
/CONTRIBUTING.md                      @esp-idf-codeowners/docs
/Kconfig                              @esp-idf-codeowners/build-config
/README*.md                           @esp-idf-codeowners/docs
/ROADMAP*.md                          @esp-idf-codeowners/docs
/SUPPORT_POLICY*.md                   @esp-idf-codeowners/docs
/add_path.sh                          @esp-idf-codeowners/tools
/conftest.py                          @esp-idf-codeowners/ci
/export.*                             @esp-idf-codeowners/tools
/install.*                            @esp-idf-codeowners/tools
/pytest.ini                           @esp-idf-codeowners/ci
/ruff.toml                            @esp-idf-codeowners/tools
/sdkconfig.rename                     @esp-idf-codeowners/build-config
/sonar-project.properties             @esp-idf-codeowners/ci

# sort-order-reset

/components/app_trace/                @esp-idf-codeowners/debugging
/components/app_update/               @esp-idf-codeowners/system @esp-idf-codeowners/app-utilities
/components/bootloader*/              @esp-idf-codeowners/system @esp-idf-codeowners/security
/components/bootloader_support/bootloader_flash/    @esp-idf-codeowners/peripherals
/components/bt/                       @esp-idf-codeowners/bluetooth
/components/cmock/                    @esp-idf-codeowners/system
/components/console/                  @esp-idf-codeowners/system @esp-idf-codeowners/app-utilities/console
/components/cxx/                      @esp-idf-codeowners/system
/components/driver/                   @esp-idf-codeowners/peripherals
/components/efuse/                    @esp-idf-codeowners/system
/components/esp_adc/                  @esp-idf-codeowners/peripherals
/components/esp_app_format/           @esp-idf-codeowners/system @esp-idf-codeowners/app-utilities
/components/esp_blockdev/             @esp-idf-codeowners/storage
/components/esp_bootloader_format/    @esp-idf-codeowners/system @esp-idf-codeowners/app-utilities
/components/esp_coex/                 @esp-idf-codeowners/wifi @esp-idf-codeowners/bluetooth @esp-idf-codeowners/ieee802154
/components/esp_common/               @esp-idf-codeowners/system
/components/esp_driver_*/             @esp-idf-codeowners/peripherals
/components/esp_driver_sdmmc/         @esp-idf-codeowners/peripherals @esp-idf-codeowners/storage
/components/esp_eth/                  @esp-idf-codeowners/network
/components/esp_event/                @esp-idf-codeowners/system
/components/esp_gdbstub/              @esp-idf-codeowners/debugging
/components/esp_hal_*/                @esp-idf-codeowners/peripherals
/components/esp_hid/                  @esp-idf-codeowners/bluetooth
/components/esp_http_client/          @esp-idf-codeowners/app-utilities
/components/esp_http_server/          @esp-idf-codeowners/app-utilities
/components/esp_https_ota/            @esp-idf-codeowners/app-utilities
/components/esp_https_server/         @esp-idf-codeowners/app-utilities
/components/esp_hw_support/           @esp-idf-codeowners/system @esp-idf-codeowners/peripherals
/components/esp_hw_support/lowpower/  @esp-idf-codeowners/power-management
/components/esp_hw_support/usb_phy/   @esp-idf-codeowners/peripherals/usb
/components/esp_lcd/                  @esp-idf-codeowners/peripherals
/components/esp_libc/                 @esp-idf-codeowners/system @esp-idf-codeowners/toolchain
/components/esp_local_ctrl/           @esp-idf-codeowners/app-utilities
/components/esp_mm/                   @esp-idf-codeowners/peripherals
/components/esp_netif/                @esp-idf-codeowners/network
/components/esp_netif_stack/          @esp-idf-codeowners/network
/components/esp_partition/            @esp-idf-codeowners/storage
/components/esp_phy/                  @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi @esp-idf-codeowners/ieee802154
/components/esp_pm/                   @esp-idf-codeowners/power-management @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi @esp-idf-codeowners/system
/components/esp_psram/                @esp-idf-codeowners/peripherals
/components/esp_psram/system_layer/   @esp-idf-codeowners/peripherals @esp-idf-codeowners/system
/components/esp_ringbuf/              @esp-idf-codeowners/system
/components/esp_rom/                  @esp-idf-codeowners/system @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi
/components/esp_security/             @esp-idf-codeowners/security
/components/esp_system/               @esp-idf-codeowners/system
/components/esp_tee/                  @esp-idf-codeowners/security
/components/esp_timer/                @esp-idf-codeowners/system
/components/esp-tls/                  @esp-idf-codeowners/app-utilities
/components/esp_usb_cdc_rom_console/  @esp-idf-codeowners/system @esp-idf-codeowners/peripherals/usb
/components/esp_vfs_*/                @esp-idf-codeowners/storage
/components/esp_vfs_console/          @esp-idf-codeowners/storage @esp-idf-codeowners/system
/components/esp_wifi/                 @esp-idf-codeowners/wifi
/components/espcoredump/              @esp-idf-codeowners/debugging
/components/esptool_py/               @esp-idf-codeowners/tools
/components/fatfs/                    @esp-idf-codeowners/storage
/components/freertos/                 @esp-idf-codeowners/system
/components/hal/                      @esp-idf-codeowners/peripherals
/components/hal/test_apps/crypto/     @esp-idf-codeowners/peripherals @esp-idf-codeowners/security
/components/hal/test_apps/tee/        @esp-idf-codeowners/peripherals @esp-idf-codeowners/security
/components/heap/                     @esp-idf-codeowners/system
/components/http_parser/              @esp-idf-codeowners/app-utilities
/components/idf_test/                 @esp-idf-codeowners/peripherals @esp-idf-codeowners/system
/components/ieee802154/               @esp-idf-codeowners/ieee802154
/components/json/                     @esp-idf-codeowners/app-utilities
/components/linux/                    @esp-idf-codeowners/system
/components/log/                      @esp-idf-codeowners/system
/components/lwip/                     @esp-idf-codeowners/lwip
/components/mbedtls/                  @esp-idf-codeowners/app-utilities/mbedtls @esp-idf-codeowners/security
/components/mqtt/                     @esp-idf-codeowners/network
/components/nvs_flash/                @esp-idf-codeowners/storage
/components/nvs_sec_provider/         @esp-idf-codeowners/storage @esp-idf-codeowners/security
/components/openthread/               @esp-idf-codeowners/ieee802154
/components/partition_table/          @esp-idf-codeowners/system
/components/perfmon/                  @esp-idf-codeowners/debugging
/components/protobuf-c/               @esp-idf-codeowners/app-utilities
/components/protocomm/                @esp-idf-codeowners/app-utilities/provisioning
/components/pthread/                  @esp-idf-codeowners/system
/components/riscv/                    @esp-idf-codeowners/system
/components/rt/                       @esp-idf-codeowners/system
/components/sdmmc/                    @esp-idf-codeowners/storage
/components/soc/                      @esp-idf-codeowners/peripherals @esp-idf-codeowners/system
/components/spi_flash/                @esp-idf-codeowners/peripherals
/components/spiffs/                   @esp-idf-codeowners/storage
/components/tcp_transport/            @esp-idf-codeowners/network
/components/ulp/                      @esp-idf-codeowners/system
/components/unity/                    @esp-idf-codeowners/peripherals @esp-idf-codeowners/system
/components/vfs/                      @esp-idf-codeowners/storage
/components/wear_levelling/           @esp-idf-codeowners/storage
/components/wpa_supplicant/           @esp-idf-codeowners/wifi @esp-idf-codeowners/app-utilities/mbedtls
/components/xtensa/                   @esp-idf-codeowners/system

/docs/                                      @esp-idf-codeowners/docs
/docs/docs_not_updated/                     @esp-idf-codeowners/all-maintainers
/docs/**/api-guides/tools/                  @esp-idf-codeowners/tools
/docs/en/api-guides/core_dump.rst           @esp-idf-codeowners/debugging
/docs/**/api-guides/wifi*                   @esp-idf-codeowners/wifi
/docs/**/api-guides/esp-wifi-mesh.rst       @esp-idf-codeowners/wifi
/docs/en/api-guides/jtag-debugging/         @esp-idf-codeowners/debugging
/docs/**/api-reference/bluetooth/           @esp-idf-codeowners/bluetooth
/docs/**/api-reference/network/             @esp-idf-codeowners/network @esp-idf-codeowners/wifi
/docs/**/api-reference/peripherals/         @esp-idf-codeowners/peripherals
/docs/**/api-reference/peripherals/usb*     @esp-idf-codeowners/peripherals @esp-idf-codeowners/peripherals/usb
/docs/**/api-reference/peripherals/usb*/    @esp-idf-codeowners/peripherals @esp-idf-codeowners/peripherals/usb
/docs/**/api-reference/protocols/           @esp-idf-codeowners/network @esp-idf-codeowners/app-utilities
/docs/**/api-reference/provisioning/        @esp-idf-codeowners/app-utilities/provisioning
/docs/**/api-reference/storage/             @esp-idf-codeowners/storage
/docs/**/api-reference/system/              @esp-idf-codeowners/system
/docs/**/security/                          @esp-idf-codeowners/security
/docs/**/migration-guides/                  @esp-idf-codeowners/docs @esp-idf-codeowners/all-maintainers
/docs/**/contribute/install-pre-commit-hook.rst @esp-idf-codeowners/ci @esp-idf-codeowners/tools

/examples/README.md           @esp-idf-codeowners/docs @esp-idf-codeowners/ci
/examples/**/*.py             @esp-idf-codeowners/ci @esp-idf-codeowners/tools
/examples/bluetooth/          @esp-idf-codeowners/bluetooth
/examples/build_system/       @esp-idf-codeowners/build-config
/examples/common_components/  @esp-idf-codeowners/system @esp-idf-codeowners/wifi @esp-idf-codeowners/lwip @esp-idf-codeowners/network
/examples/custom_bootloader/  @esp-idf-codeowners/system
/examples/cxx/                @esp-idf-codeowners/system
/examples/ethernet/           @esp-idf-codeowners/network
/examples/get-started/        @esp-idf-codeowners/system
/examples/ieee802154/         @esp-idf-codeowners/ieee802154
/examples/lowpower/           @esp-idf-codeowners/power-management @esp-idf-codeowners/system
/examples/mesh/               @esp-idf-codeowners/wifi
/examples/network/            @esp-idf-codeowners/network @esp-idf-codeowners/wifi
/examples/openthread/         @esp-idf-codeowners/ieee802154
/examples/peripherals/        @esp-idf-codeowners/peripherals
/examples/peripherals/usb/    @esp-idf-codeowners/peripherals @esp-idf-codeowners/peripherals/usb
/examples/phy/                @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi @esp-idf-codeowners/ieee802154
/examples/protocols/          @esp-idf-codeowners/network @esp-idf-codeowners/app-utilities
/examples/security/           @esp-idf-codeowners/security
/examples/storage/            @esp-idf-codeowners/storage
/examples/system/             @esp-idf-codeowners/system
/examples/system/ota/         @esp-idf-codeowners/app-utilities
/examples/wifi/               @esp-idf-codeowners/wifi
/examples/zigbee/             @esp-idf-codeowners/ieee802154

/tools/                       @esp-idf-codeowners/tools
/tools/ble/                   @esp-idf-codeowners/app-utilities
/tools/bt/                    @esp-idf-codeowners/bluetooth
/tools/ci/                    @esp-idf-codeowners/ci
/tools/cmake/                 @esp-idf-codeowners/build-config
/tools/cmake/toolchain-*.cmake      @esp-idf-codeowners/toolchain
/tools/esp_app_trace/         @esp-idf-codeowners/debugging
/tools/gdb_panic_server.py    @esp-idf-codeowners/debugging
/tools/kconfig*/              @esp-idf-codeowners/build-config
/tools/ldgen/                 @esp-idf-codeowners/build-config
/tools/mass_mfg/              @esp-idf-codeowners/app-utilities
/tools/mocks/                 @esp-idf-codeowners/system

/tools/test_apps/                    @esp-idf-codeowners/ci
/tools/test_apps/README.md           @esp-idf-codeowners/docs @esp-idf-codeowners/ci

## Note: owners here should be the same as the owners for the same example subdir, above
/tools/test_apps/build_system/          @esp-idf-codeowners/build-config
/tools/test_apps/components/test_utils/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/system
/tools/test_apps/configs/               @esp-idf-codeowners/system
/tools/test_apps/linux_compatible/      @esp-idf-codeowners/system
/tools/test_apps/phy/                   @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi @esp-idf-codeowners/ieee802154
/tools/test_apps/protocols/             @esp-idf-codeowners/network @esp-idf-codeowners/app-utilities
/tools/test_apps/security/              @esp-idf-codeowners/security
/tools/test_apps/storage/               @esp-idf-codeowners/storage
/tools/test_apps/system/                @esp-idf-codeowners/system

/tools/test_apps/**/*.py             @esp-idf-codeowners/ci @esp-idf-codeowners/tools

/tools/test_build_system/     @esp-idf-codeowners/tools @esp-idf-codeowners/build-config

/tools/tools.json             @esp-idf-codeowners/tools @esp-idf-codeowners/toolchain @esp-idf-codeowners/debugging

# sort-order-reset

/components/**/test_apps/**/*.py     @esp-idf-codeowners/ci @esp-idf-codeowners/tools

# ignore lists
/tools/ci/check_copyright_config.yaml                   @esp-idf-codeowners/all-maintainers
/tools/ci/check_copyright_ignore.txt                    @esp-idf-codeowners/all-maintainers
/tools/ci/mypy_ignore_list.txt                          @esp-idf-codeowners/tools
