mirror of
https://github.com/godotengine/godot-contributing-docs.git
synced 2025-12-31 05:48:13 +03:00
41 lines
2.3 KiB
ReStructuredText
41 lines
2.3 KiB
ReStructuredText
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/stable/engine_details/architecture/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.
|