Add an initial page for godot-cpp.

This commit is contained in:
Lukas Tenbrink
2025-09-09 17:12:01 +02:00
parent 268bf309b5
commit 8f05db17ba
3 changed files with 43 additions and 0 deletions

View File

@@ -1,3 +1,5 @@
.. _doc_engine_guidelines:
Engine contribution guidelines
==============================

View File

@@ -80,3 +80,4 @@ for your topic of interest. You can also use the search function in the top-left
other/website
other/demos
other/benchmarks
other/godot-cpp

40
other/godot-cpp.rst Normal file
View File

@@ -0,0 +1,40 @@
Contributing to godot-cpp
=========================
.. seealso::
You may also be interested in visiting godot-cpp's official documentation:
`C++ (godot-cpp) on the Godot docs <https://docs.godotengine.org/en/latest/tutorials/scripting/cpp/index.html>`__
Thank you for your interest in contributing to `godot-cpp <https://github.com/godotengine/godot-cpp>`__,
the official C++ GDExtension bindings maintained as part of the Godot project!
We greatly appreciate help in maintaining and extending this project.
If you wish to help out, ensure you have an account on GitHub and create a "fork" of the
`godot-cpp repository <https://github.com/godotengine/godot-cpp>`__.
To contribute, please use our regular :ref:`PR workflow <doc_pr_workflow>`.
The code should adhere to the same :ref:`code guidelines <doc_engine_guidelines>` as the engine itself.
Please install clang-format and the `pre-commit <https://pre-commit.com/>`__ Python framework so formatting is done
before your changes are submitted. See the :ref:`code style guidelines <doc_code_style_guidelines>` for instructions.
Feature guidelines
------------------
godot-cpp's API is modeled after Godot's API. We want writing godot-cpp code to be as similar as possible
to writing a
`module <https://docs.godotengine.org/en/latest/contributing/development/core_and_modules/custom_modules_in_cpp.html#doc-custom-modules-in-cpp>`__
as possible. This means:
* The frameworks (templates, helper methods, etc.) are synchronized to Godot's frameworks regularly.
* We will not add features that are not already present in Godot. If you want to add new features
to godot-cpp's API, please consider proposing the feature to Godot itself first.
If you want to make changes to Godot's API, you can use one of two systems:
* `Core features <https://docs.godotengine.org/en/latest/tutorials/scripting/index.html#core-features>`__: You can add
new methods and classes to Godot's core features. This exposes the new functionality on godot-cpp as well.
To get started, please see :ref:`doc_intro_to_engine_contributions`.
* `GDExtension API <https://docs.godotengine.org/en/latest/tutorials/scripting/gdextension/index.html>`__: You can add
GDExtension lifecycle methods to the GDExtension API itself. We do not have an article for this kind of change as of
yet.