Skip to content

Commit 8f05db1

Browse files
committed
Add an initial page for godot-cpp.
1 parent 268bf30 commit 8f05db1

File tree

3 files changed

+43
-0
lines changed

3 files changed

+43
-0
lines changed

engine/guidelines/index.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _doc_engine_guidelines:
2+
13
Engine contribution guidelines
24
==============================
35

index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,3 +80,4 @@ for your topic of interest. You can also use the search function in the top-left
8080
other/website
8181
other/demos
8282
other/benchmarks
83+
other/godot-cpp

other/godot-cpp.rst

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
Contributing to godot-cpp
2+
=========================
3+
4+
.. seealso::
5+
6+
You may also be interested in visiting godot-cpp's official documentation:
7+
`C++ (godot-cpp) on the Godot docs <https://docs.godotengine.org/en/latest/tutorials/scripting/cpp/index.html>`__
8+
9+
Thank you for your interest in contributing to `godot-cpp <https://github.com/godotengine/godot-cpp>`__,
10+
the official C++ GDExtension bindings maintained as part of the Godot project!
11+
We greatly appreciate help in maintaining and extending this project.
12+
13+
If you wish to help out, ensure you have an account on GitHub and create a "fork" of the
14+
`godot-cpp repository <https://github.com/godotengine/godot-cpp>`__.
15+
To contribute, please use our regular :ref:`PR workflow <doc_pr_workflow>`.
16+
The code should adhere to the same :ref:`code guidelines <doc_engine_guidelines>` as the engine itself.
17+
18+
Please install clang-format and the `pre-commit <https://pre-commit.com/>`__ Python framework so formatting is done
19+
before your changes are submitted. See the :ref:`code style guidelines <doc_code_style_guidelines>` for instructions.
20+
21+
Feature guidelines
22+
------------------
23+
24+
godot-cpp's API is modeled after Godot's API. We want writing godot-cpp code to be as similar as possible
25+
to writing a
26+
`module <https://docs.godotengine.org/en/latest/contributing/development/core_and_modules/custom_modules_in_cpp.html#doc-custom-modules-in-cpp>`__
27+
as possible. This means:
28+
29+
* The frameworks (templates, helper methods, etc.) are synchronized to Godot's frameworks regularly.
30+
* We will not add features that are not already present in Godot. If you want to add new features
31+
to godot-cpp's API, please consider proposing the feature to Godot itself first.
32+
33+
If you want to make changes to Godot's API, you can use one of two systems:
34+
35+
* `Core features <https://docs.godotengine.org/en/latest/tutorials/scripting/index.html#core-features>`__: You can add
36+
new methods and classes to Godot's core features. This exposes the new functionality on godot-cpp as well.
37+
To get started, please see :ref:`doc_intro_to_engine_contributions`.
38+
* `GDExtension API <https://docs.godotengine.org/en/latest/tutorials/scripting/gdextension/index.html>`__: You can add
39+
GDExtension lifecycle methods to the GDExtension API itself. We do not have an article for this kind of change as of
40+
yet.

0 commit comments

Comments
 (0)