Skip to content

Commit 09cd37e

Browse files
committed
Added CONTRIBUTING.md
1 parent ad19fcf commit 09cd37e

1 file changed

Lines changed: 82 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# Contributing to Material Maker
2+
3+
Thank you for your interest in contributing to Material Maker!
4+
Please take a look below before making your first contribution.
5+
6+
## Table of Contents
7+
8+
- [Bug reports and feature suggestions](#bug-reports-and-feature-suggestions)
9+
- [Contributing pull requests](#contributing-pull-requests)
10+
- [Translations](#translations)
11+
- [Financial contributions](#contributing-financially)
12+
- [Contacting the developer](#contacting-the-developer)
13+
14+
## Bug reports and feature suggestions
15+
16+
Bug reports and feature suggestions should be made [here](https://github.com/RodZill4/material-maker/issues).
17+
18+
Before creating a new issue, check if your problem/proposal is already mentioned by using the search function to avoid creating duplicates.
19+
20+
When reporting a bug, make sure to follow the template and provide the following(when possible/if required):
21+
- Material Maker version
22+
- System information(OS, GPU)
23+
- What is expected and what happened instead
24+
- Outputs from the terminal
25+
- A screenshot/video showing the problem
26+
- Project file(if you believe the issue relates to a specific setup)
27+
28+
## Contributing pull requests
29+
30+
Using AI/LLM or any form of agentic coding for your pull request is not allowed.
31+
32+
Use your own words when writing the description. If English is a barrier, consider using a dedicated language service(i.e. [Google Translate](https://translate.google.com/), [DeepL](https://www.deepl.com/en/translator)).
33+
34+
**Using Godot Engine**
35+
36+
Material Maker is built using the Godot Engine using GDScript. As such, it is required to [download the software](https://godotengine.org/) in order to open/test the project. The version used for development can be seen in the [project.godot](https://github.com/RodZill4/material-maker/blob/master/project.godot) file under the `config/features` key.
37+
38+
If you are opening the project in Godot Engine for the first time, Game Embedding must be disabled or else the app may not launch in the editor.
39+
40+
This can be set from the editor settings:
41+
42+
`Run > Window Placement > Game Embed Mode` and setting it to `Disabled`
43+
44+
**Formatting**
45+
46+
Follow the [Godot Style Guide](https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_styleguide.html) when formatting your code. Consider looking at surrounding code to copy their patterns and style.
47+
48+
Additionally,
49+
- Explictly type over inferred typing, i.e. `var my_button : Button = Button.new()` instead of `var my_button := Button.new()`.
50+
51+
**PR Workflow**
52+
1. Fork the repository.
53+
2. Setup Git and clone the repository.
54+
2. Create a new branch: `git checkout -b feat-new-panel`
55+
3. Make your changes, and add them using `git add .`
56+
4. Commit your changes: `git commit -m "Implemented new panel"`
57+
5. Push your branch: `git push origin feat-new-panel`
58+
6. Create a new pull request and describe your changes.
59+
60+
If your contribution resolves an existing issue, please add a [Github closing keyword](https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue) in the description of your pull request (e.g. - Closes #1234). This will make linked issue(s) to close automatically if your PR is merged.
61+
62+
## Translations
63+
64+
Material Maker provides translation files via an [online registry](https://rodzill4.github.io/material-maker/languages.json) which users can download from within the software.
65+
66+
To contribute to this registry, create your translation file, host it somewhere linkable(i.e. in a github repository) and contact RodZill4 directly, via [Discord](https://discord.gg/PF5V3mFwFM).
67+
68+
Both .csv and .po format are supported. You can use [this script](https://github.com/RodZill4/material-maker/blob/master/material_maker/locale/generate_po_template.gd) to generate a po template and edit your translation using [poedit](https://poedit.com/). Also see this [README.md](https://github.com/RodZill4/material-maker/blob/master/material_maker/locale/README.md).
69+
70+
It might also help to use an existing translation as a basis.
71+
72+
## Contributing financially
73+
74+
Although Material Maker is provided for free, it is still possible to contribute financially to help other costs(such as website hosting) and allow more time to be spent on developing/maintaining the software.
75+
76+
- Joining the [Patreon](https://www.patreon.com/rodzlabs)
77+
- Donating on [Itch.io](https://rodzilla.itch.io/material-maker/purchase)
78+
- Getting a [Steam copy](https://store.steampowered.com/app/4110830/Material_Maker/) and leaving a review
79+
80+
## Contacting the developer
81+
82+
For casual discussion around Material Maker or about contributing, you can find RodZill4 (`@rodzlabs`) on the [Discord](https://discord.gg/PF5V3mFwFM) server.

0 commit comments

Comments
 (0)