# This file associates maintainer teams to each component.
# See CONTRIBUTING.md

########## Contributing process ##########

/.github/                   @rocq-prover/contributing-process-maintainers

/CONTRIBUTING.md            @rocq-prover/contributing-process-maintainers

########## Build system ##########

/Makefile                       @rocq-prover/build-maintainers
/dev/tools/make_git_revision.sh @rocq-prover/build-maintainers

/configure                      @rocq-prover/build-maintainers
/tools/configure/*              @rocq-prover/build-maintainers

/tools/coqdep/                  @rocq-prover/build-maintainers

/boot/                          @rocq-prover/build-maintainers

########## CI infrastructure ##########

/dev/ci/             @rocq-prover/ci-maintainers
/dev/lint-*.sh       @rocq-prover/ci-maintainers
/.travis.yml         @rocq-prover/ci-maintainers
/.gitlab-ci.yml      @rocq-prover/ci-maintainers
/.github/workflows   @rocq-prover/ci-maintainers
/dev/ci/platform/    @rocq-prover/windows-build-maintainers
/Makefile.ci         @rocq-prover/ci-maintainers

/dev/ci/nix          @rocq-prover/nix-maintainers
*.nix                @rocq-prover/nix-maintainers
/flake.lock          @rocq-prover/nix-maintainers

/dev/ci/user-overlays/*.sh
# Trick to avoid getting review requests
# each time someone adds an overlay

/dev/bench/            @rocq-prover/bench-maintainers

########## Documentation ##########

/README.md             @rocq-prover/doc-maintainers
/INSTALL.md            @rocq-prover/doc-maintainers

/CODE_OF_CONDUCT.md    @rocq-prover/code-of-conduct-team

/doc/                  @rocq-prover/doc-maintainers
/dev/doc/              @rocq-prover/doc-maintainers

/doc/changelog/*/*.rst
/dev/doc/changes.md
# Trick to avoid getting review requests
# each time someone modifies the changelog

/dev/doc/build-system.dune.md @rocq-prover/build-maintainers
/dev/doc/critical-bugs        @rocq-prover/kernel-maintainers
/dev/doc/econstr.md           @rocq-prover/engine-maintainers
/dev/doc/proof-engine.md      @rocq-prover/engine-maintainers
/dev/doc/release-process.md   @rocq-prover/contributing-process-maintainers
/dev/doc/shield-icon.png      @rocq-prover/contributing-process-maintainers
/dev/doc/SProp.md             @rocq-prover/universes-maintainers
/dev/doc/style.md             @rocq-prover/contributing-process-maintainers
/dev/doc/unification.txt      @rocq-prover/pretyper-maintainers
/dev/doc/universes.md         @rocq-prover/universes-maintainers
/dev/doc/xml-protocol.md      @rocq-prover/stm-maintainers

/man/                  @rocq-prover/doc-maintainers

/doc/plugin_tutorial/  @rocq-prover/plugin-tutorial-maintainers

########## Coqchk ##########

/checker/              @rocq-prover/kernel-maintainers
/test-suite/coqchk/    @rocq-prover/kernel-maintainers

########## Coq lib ##########

/clib/                       @rocq-prover/lib-maintainers
/test-suite/unit-tests/clib/ @rocq-prover/lib-maintainers
/lib/                        @rocq-prover/lib-maintainers

########## Proof engine ##########

/engine/          @rocq-prover/engine-maintainers

/engine/univ*     @rocq-prover/universes-maintainers
/engine/uState.*  @rocq-prover/universes-maintainers

########## CoqIDE ##########

/ide/             @rocq-prover/coqide-maintainers
/ide/protocol/    @rocq-prover/stm-maintainers
/test-suite/ide/  @rocq-prover/stm-maintainers

########## Desugaring ##########

/interp/          @rocq-prover/extensible-syntax-maintainers

########## Kernel ##########

/kernel/          @rocq-prover/kernel-maintainers

/kernel/byterun/  @rocq-prover/vm-native-maintainers
/kernel/native*   @rocq-prover/vm-native-maintainers
/kernel/vm*       @rocq-prover/vm-native-maintainers
/kernel/vconv.*   @rocq-prover/vm-native-maintainers
/kernel/genOpcodeFiles.* @rocq-prover/vm-native-maintainers

/kernel/sorts.*   @rocq-prover/universes-maintainers
/kernel/uGraph.*  @rocq-prover/universes-maintainers
/kernel/univ.*    @rocq-prover/universes-maintainers

########## Library ##########

/library/         @rocq-prover/library-maintainers

########## Parser ##########

/coqpp/           @rocq-prover/parsing-maintainers
/gramlib/         @rocq-prover/parsing-maintainers
/parsing/         @rocq-prover/parsing-maintainers

########## Standard library and plugins ##########

/theories/Corelib/         @rocq-prover/stdlib-maintainers

/theories/Corelib/Classes/        @rocq-prover/typeclasses-maintainers


/theories/Corelib/Compat/  @rocq-prover/compat-maintainers

/plugins/btauto/          @rocq-prover/btauto-maintainers

/plugins/cc/           @rocq-prover/cc-maintainers

/plugins/derive/       @rocq-prover/derive-maintainers
/theories/Corelib/derive/      @rocq-prover/derive-maintainers

/plugins/extraction/         @rocq-prover/extraction-maintainers
/theories/Corelib/extraction/        @rocq-prover/extraction-maintainers

/plugins/firstorder/          @rocq-prover/firstorder-maintainers

/plugins/funind/       @rocq-prover/funind-maintainers

/plugins/ltac/         @rocq-prover/ltac-maintainers

/plugins/micromega/    @rocq-prover/micromega-maintainers

/plugins/nsatz/        @rocq-prover/nsatz-maintainers

/plugins/ring/  @rocq-prover/ring-maintainers

/plugins/ssrmatching/  @rocq-prover/ssreflect-maintainers
/theories/Corelib/ssrmatching/ @rocq-prover/ssreflect-maintainers

/plugins/ssr/          @rocq-prover/ssreflect-maintainers
/theories/Corelib/ssr/         @rocq-prover/ssreflect-maintainers

/test-suite/ssr/       @rocq-prover/ssreflect-maintainers

/plugins/syntax/       @rocq-prover/parsing-maintainers

/plugins/rtauto/       @rocq-prover/rtauto-maintainers

/plugins/ltac2/        @rocq-prover/ltac2-maintainers
/theories/Ltac2    @rocq-prover/ltac2-maintainers

########## Pretyper ##########

/pretyping/             @rocq-prover/pretyper-maintainers

/pretyping/vnorm.*      @rocq-prover/vm-native-maintainers
/pretyping/nativenorm.* @rocq-prover/vm-native-maintainers

########## Pretty printer ##########

/printing/        @rocq-prover/extensible-syntax-maintainers

########## Proof infrastructure ##########

/proofs/          @rocq-prover/engine-maintainers

########## STM ##########

/stm/                    @rocq-prover/stm-maintainers
/test-suite/interactive/ @rocq-prover/stm-maintainers
/test-suite/stm/         @rocq-prover/stm-maintainers
/test-suite/vio/         @rocq-prover/stm-maintainers

########## Tactics ##########

/tactics/         @rocq-prover/tactics-maintainers

/tactics/class_tactics.* @rocq-prover/typeclasses-maintainers

########## Number ##########

/interp/numTok.*                     @rocq-prover/number-maintainers
/kernel/float64*                     @rocq-prover/number-maintainers
/kernel/uint63*                      @rocq-prover/number-maintainers
/plugins/syntax/g_number_string.mlg  @rocq-prover/number-maintainers
/plugins/syntax/int63_syntax_plugin.mllib  @rocq-prover/number-maintainers
/plugins/syntax/number.ml            @rocq-prover/number-maintainers
/plugins/syntax/number_string_notation_plugin.mllib  @rocq-prover/number-maintainers
/test-suite/output/*Number*          @rocq-prover/number-maintainers
/test-suite/primitive/float/         @rocq-prover/number-maintainers
/test-suite/primitive/sint63/        @rocq-prover/number-maintainers
/test-suite/primitive/uint63/        @rocq-prover/number-maintainers
/theories/Corelib/Init/Decimal.v             @rocq-prover/number-maintainers
/theories/Corelib/Init/Hexadecimal.v         @rocq-prover/number-maintainers
/theories/Corelib/Init/Nat.v                 @rocq-prover/number-maintainers
/theories/Corelib/Init/Number.v              @rocq-prover/number-maintainers
/theories/Corelib/Numbers/                   @rocq-prover/number-maintainers
/theories/Corelib/Floats/                    @rocq-prover/number-maintainers

########## Tools ##########

/tools/coqdoc/            @rocq-prover/coqdoc-maintainers
/test-suite/coqdoc/       @rocq-prover/coqdoc-maintainers
/tools/coqwc*             @rocq-prover/coqdoc-maintainers
/test-suite/coqwc/        @rocq-prover/coqdoc-maintainers

/tools/coq_makefile*      @rocq-prover/coq-makefile-maintainers
/tools/CoqMakefile*       @rocq-prover/coq-makefile-maintainers
/test-suite/coq-makefile/ @rocq-prover/coq-makefile-maintainers

/tools/TimeFileMaker.py   @rocq-prover/coq-makefile-maintainers
/tools/make-*-tim*.py     @rocq-prover/coq-makefile-maintainers

/tools/coq_tex*        @silene
# Secondary maintainer @gares

########## Toplevel ##########

/toplevel/   @rocq-prover/toplevel-maintainers
/topbin/     @rocq-prover/toplevel-maintainers
/sysinit/    @rocq-prover/toplevel-maintainers

########## Vernacular ##########

/vernac/              @rocq-prover/vernac-maintainers

/vernac/metasyntax.*  @rocq-prover/parsing-maintainers

/vernac/classes.*     @rocq-prover/typeclasses-maintainers

########## Test suite ##########

/test-suite/Makefile        @rocq-prover/test-suite-maintainers
/test-suite/README.md       @rocq-prover/test-suite-maintainers
/test-suite/report.sh       @rocq-prover/test-suite-maintainers
/test-suite/unit-tests/src/ @rocq-prover/test-suite-maintainers

/test-suite/success/Compat*.v @rocq-prover/compat-maintainers

########## Developer tools ##########

/dev/tools/ @rocq-prover/dev-tools-maintainers

########## Dune  ##########

/.ocamlinit  @rocq-prover/build-maintainers
*dune*       @rocq-prover/build-maintainers
*.opam       @rocq-prover/build-maintainers @erikmd
