Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
200 changes: 200 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
# Lines starting with '#' are comments.
# Each line is a file pattern followed by one or more owners.
# Owners can be @users, @org/teams or emails.

# buildsystem for all that isn't claimed in root, as well as all scripts.

/*.* @godotengine/buildsystem
*.py @godotengine/buildsystem

# Documentation to catch all otherwise unclaimed `.rst` files.

*.rst @godotengine/documentation

# ---------------- About ---------------------------

/about/ @godotengine/documentation

# ---------------- Classes -------------------------

## Note: Using "buildsystem" as well as the doc team for global ownerships as
## it's generally incorrect to modify this except by automated generation.

/classes/ @godotengine/documentation @godotengine/buildsystem

# ---------------- Community -----------------------

# TODO: Who should control this beyond documentation?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably the @godotengine/communication team?


## --------------- Asset Library -------------------

# TODO: Who should control this beyond documentation?

# ---------------- Engine Details ------------------

/engine_details/architecture/ @godotengine/documentation @godotengine/core
/engine_details/development/compiling/ @godotengine/documentation @godotengine/buildsystem
/engine_details/development/compiling/*android* @godotengine/documentation @godotengine/android
/engine_details/development/compiling/*ios* @godotengine/documentation @godotengine/ios
/engine_details/development/compiling/*linuxbsd* @godotengine/documentation @godotengine/linux-bsd
/engine_details/development/compiling/*macos* @godotengine/documentation @godotengine/macos
/engine_details/development/compiling/*visionos* @godotengine/documentation @godotengine/ios
/engine_details/development/compiling/*web* @godotengine/documentation @godotengine/web
/engine_details/development/compiling/*windows* @godotengine/documentation @godotengine/windows
/engine_details/editor/ @godotengine/documentation @godotengine/docks
/engine_details/file_formats/ @godotengine/documentation @godotengine/core

# TODO: Who should control the rest?

# ---------------- Getting Started -----------------

# TODO: Who should control this beyond documentation?

# ---------------- Tutorials -----------------------

## --------------- 2D ------------------------------

/tutorials/2d/ @godotengine/documentation @godotengine/2d-nodes

# TODO: Any additional ownership for particles and rendering?

## --------------- 3D ------------------------------

/tutorials/3d/ @godotengine/documentation @godotengine/3d-nodes

# TODO: Should any of these also have rendering ownership when rendering related?

## --------------- Animation -----------------------

/tutorials/animation/ @godotengine/documentation @godotengine/animation

## --------------- Assets Pipeline -----------------

/tutorials/assets_pipeline/ @godotengine/documentation @godotengine/import

# TODO: Any additional ownership for 3D and translations?

## --------------- Audio ---------------------------

/tutorials/audio/ @godotengine/documentation @godotengine/audio

## --------------- Best Practices ------------------

# TODO: Who should control this beyond documentation?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We probably need to do this either on a file-by-file basis, or case-by-case basis.


## --------------- Editor --------------------------

/tutorials/editor/ @godotengine/documentation @godotengine/docks
/tutorials/editor/*script* @godotengine/documentation @godotengine/script-editor

# TODO: Who should control this beyond docs?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd attribute it to docks, since that's the closest we have to an editor team.
But I'd also argue we should establish an editor team 😅


## --------------- Export --------------------------

/tutorials/export/*android* @godotengine/documentation @godotengine/android
/tutorials/export/*ios* @godotengine/documentation @godotengine/ios
/tutorials/export/*linux* @godotengine/documentation @godotengine/linux-bsd
/tutorials/export/*macos* @godotengine/documentation @godotengine/macos
/tutorials/export/*visionos* @godotengine/documentation @godotengine/ios
/tutorials/export/*web* @godotengine/documentation @godotengine/web
/tutorials/export/*windows* @godotengine/documentation @godotengine/windows

# TODO

## --------------- i18n ----------------------------

# TODO: Who should control this beyond documentation?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think translations has a dedicated team. Historically I think some maintainers have been contributing to this area more than others though, so there is certainly some 'inofficial ownership' here too.
In the main repo, PRs for translations end up in core, though I'm not sure it's a great fit. Perhaps this also needs a dedicated team?

Copy link
Member

@Mickeon Mickeon Oct 29, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We genuinely need to discuss more team subdivisions. See how some topics aren't a perfect match and some are missing, and you can understand why I have a personal tendency to bring this topic up where it doesn't fit.

When this specific section shows up, it's usually argued it belongs in usability.


## --------------- Inputs --------------------------

/tutorials/inputs/ @godotengine/documentation @godotengine/input

## --------------- IO ------------------------------

/tutorials/io/ @godotengine/documentation @godotengine/core

## --------------- Math ----------------------------

/tutorials/math/ @godotengine/documentation @godotengine/core

## --------------- Migrating -----------------------

/tutorials/migrating/ @godotengine/documentation

## --------------- Navigation ----------------------

/tutorials/navigation/ @godotengine/documentation @godotengine/navigation

## --------------- Networking ----------------------

/tutorials/networking/ @godotengine/documentation @godotengine/network

## --------------- Performance ---------------------

/tutorials/performance/ @godotengine/documentation @godotengine/core
/tutorials/performance/gpu_optimization.rst @godotengine/documentation @godotengine/rendering
/tutorials/performance/index.rst @godotengine/documentation
/tutorials/performance/optimizing_3d_performance.rst @godotengine/documentation @godotengine/rendering
/tutorials/performance/pipeline_compilations.rst @godotengine/documentation @godotengine/rendering
/tutorials/performance/using_multimesh.rst @godotengine/documentation @godotengine/rendering
/tutorials/performance/vertex_animation/ @godotengine/documentation @godotengine/rendering

# TODO: Who should control this beyond documentation?

## --------------- Physics -------------------------

/tutorials/physics/ @godotengine/documentation @godotengine/physics

## --------------- Platform ------------------------

/tutorials/platform/android/ @godotengine/documentation @godotengine/android
/tutorials/platform/ios/ @godotengine/documentation @godotengine/ios
/tutorials/platform/web/ @godotengine/documentation @godotengine/web

# TODO

## --------------- Plugins -------------------------

# TODO: Who should control this beyond documentation?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't have an 'editor' team right now (we should!); currently i'd say "Docks" is the closest match?


## --------------- Rendering -----------------------

/tutorials/rendering/ @godotengine/documentation @godotengine/rendering

## --------------- Scripting -----------------------

# TODO: Who should control this in general beyond documentation?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Scripting is technically owned by Core, but the gdscript and dotnet teams should be better familiar with the APIs. The information in here seems to be a mix of all, maybe we need to do it on a case by case basis.


### -------------- CPP -----------------------------

/tutorials/scripting/cpp/ @godotengine/documentation @godotengine/gdextension

### -------------- C# ------------------------------

/tutorials/scripting/c_sharp/ @godotengine/documentation @godotengine/dotnet

### -------------- Debug ---------------------------

# TODO: Who should control this beyond documentation?

### -------------- GDExtension ---------------------

/tutorials/scripting/gdextension/ @godotengine/documentation @godotengine/gdextension

### -------------- GDScript ------------------------

/tutorials/scripting/gdscript/ @godotengine/documentation @godotengine/gdscript

## --------------- Shaders -------------------------

/tutorials/shaders/ @godotengine/documentation @godotengine/shaders

## --------------- UI ------------------------------

/tutorials/ui/ @godotengine/documentation @godotengine/gui-nodes

## --------------- XR ------------------------------

/tutorials/xr/ @godotengine/documentation @godotengine/xr

# TODO: Should any of these also have rendering ownership when rendering related?
Loading