1
0
mirror of https://github.com/luanti-org/luanti.git synced 2025-10-20 19:45:22 +02:00

Refactor CONTRIBUTING.md

This commit is contained in:
Bradley Pierce
2024-01-17 19:35:17 -05:00
parent 4078078767
commit 7a8d43d222

View File

@@ -1,12 +1,10 @@
# Contributing
Contributions are welcome! Here's how you can help: Contributions are welcome! Here's how you can help:
- [Contributing code](#code) * [Contributing code](#code)
- [Reporting issues](#issues) * [Reporting issues](#issues)
- [Requesting features](#feature-requests) * [Requesting features](#feature-requests)
- [Translating](#translations) * [Translating](#translations)
- [Donating](#donations) * [Donating](#donations)
## Code ## Code
@@ -14,55 +12,56 @@ Contributions are welcome! Here's how you can help:
[clone](https://help.github.com/articles/cloning-a-repository/) your fork. [clone](https://help.github.com/articles/cloning-a-repository/) your fork.
2. Before you start coding, consider opening an 2. Before you start coding, consider opening an
[issue at Github](https://github.com/minetest/minetest/issues) to discuss the [issue at GitHub](https://github.com/minetest/minetest/issues) to discuss the
suitability and implementation of your intended contribution with the core suitability and implementation of your intended contribution with the core
developers. developers.
Any Pull Request that isn't a bug fix and isn't covered by Any pull request that isn't a bug fix and isn't covered by
[the roadmap](../doc/direction.md) will be closed within a month unless it [the roadmap](../doc/direction.md) will be closed within a month unless it
receives a concept approval from a Core Developer. For this reason, it is receives a concept approval from a Core Developer. For this reason, it is
recommended that you open an issue for any such pull requests before doing recommended that you open an issue for any such pull requests before doing
the work, to avoid disappointment. the work, to avoid disappointment.
You may also benefit from discussing on our IRC development channel You may also benefit from discussing on one of our IRC development channels
[#minetest-dev](http://www.minetest.net/irc/). Note that a proper IRC client [listed here](https://wiki.minetest.net/IRC). Note that a proper IRC client
is required to speak on this channel. is required to speak on these channels.
3. Start coding! 3. Start coding!
- Refer to the * Refer to the
[Lua API](https://github.com/minetest/minetest/blob/master/doc/lua_api.md), [Lua API](https://github.com/minetest/minetest/blob/master/doc/lua_api.md),
[Developer Wiki](http://dev.minetest.net/Main_Page) and other [Developer Wiki](https://dev.minetest.net/Main_Page) and other
[documentation](https://github.com/minetest/minetest/tree/master/doc). [documentation](https://github.com/minetest/minetest/tree/master/doc).
- Follow the [C/C++](http://dev.minetest.net/Code_style_guidelines) and * Follow the [C/C++](https://dev.minetest.net/Code_style_guidelines) and
[Lua](http://dev.minetest.net/Lua_code_style_guidelines) code style guidelines. [Lua](https://dev.minetest.net/Lua_code_style_guidelines) code style guidelines.
- Check your code works as expected and document any changes to the Lua API. * Check your code works as expected and document any changes to the Lua API.
4. Commit & [push](https://help.github.com/articles/pushing-to-a-remote/) your changes to a new branch (not `master`, one change per branch) 4. Commit and [push](https://help.github.com/articles/pushing-to-a-remote/) your changes
- Commit messages should: to a new branch (not `master`, one change per branch)
- Use the present tense. * Commit messages should:
- Be descriptive. See the commit messages by core developers for examples. * Use the present tense.
- The first line should: * Be descriptive. See the commit messages by core developers for examples.
- Start with a capital letter. * The first line should:
- Be a compact summary of the commit. * Start with a capital letter.
- Preferably have less than 70 characters. * Be a compact summary of the commit.
- Have no full stop at the end. * Preferably have less than 70 characters.
- The second line should be empty. * Have no full stop at the end.
- The following lines should describe the commit, starting a new line for each point. * The second line should be empty.
* The following lines should describe the commit, starting a new line for each point.
5. Once you are happy with your changes, submit a pull request. 5. Once you are happy with your changes, submit a pull request.
- Open the [pull-request form](https://github.com/minetest/minetest/pull/new/master). * Open the [pull request form](https://github.com/minetest/minetest/pull/new/master).
- Add a description explaining what you've done (or if it's a * Add a description explaining what you've done (or if it's a work-in-progress -
work-in-progress - what you need to do). what you need to do).
- Make sure to fill out the pull request template. * Make sure to fill out the pull request template.
### A pull-request is considered merge-able when: ### A pull request is Considered Mergeable When:
1. It follows [the roadmap](../doc/direction.md) in some way and fits the whole 1. It follows [the roadmap](../doc/direction.md) in some way and fits the whole
picture of the project. picture of the project.
2. It works. 2. It works.
3. It follows the code style for 3. It follows the code style for
[C/C++](http://dev.minetest.net/Code_style_guidelines) or [C/C++](https://dev.minetest.net/Code_style_guidelines) or
[Lua](http://dev.minetest.net/Lua_code_style_guidelines). [Lua](https://dev.minetest.net/Lua_code_style_guidelines).
4. The code's interfaces are well designed, regardless of other aspects that 4. The code's interfaces are well designed, regardless of other aspects that
might need more work in the future. might need more work in the future.
5. It uses protocols and formats which include the required compatibility. 5. It uses protocols and formats which include the required compatibility.
@@ -73,18 +72,18 @@ If you experience an issue, we would like to know the details - especially when
a stable release is on the way. a stable release is on the way.
1. Do a quick search on GitHub to check if the issue has already been reported. 1. Do a quick search on GitHub to check if the issue has already been reported.
2. Is it an issue with the Minetest *engine*? If not, report it 2. Is it an issue with the Minetest *engine*? If not, report it.
[elsewhere](http://www.minetest.net/development/#reporting-issues). [elsewhere](https://www.minetest.net/development/#reporting-issues).
3. [Open an issue](https://github.com/minetest/minetest/issues/new) and describe 3. [Open an issue](https://github.com/minetest/minetest/issues/new) and describe
the issue you are having - you could include: the issue you are having - you could include:
- Error logs (check the bottom of the `debug.txt` file). * Error logs (check the bottom of the `debug.txt` file).
- Screenshots. * Screenshots.
- Ways you have tried to solve the issue, and whether they worked or not. * Ways you have tried to solve the issue, and whether they worked or not.
- Your Minetest version and the content (games, mods or texture packs) you have installed. * Your Minetest version and the content (games, mods or texture packs) you have installed.
- Your platform (e.g. Windows 10 or Ubuntu 15.04 x64). * Your platform (e.g. Windows 10 or Ubuntu 15.04 x64).
After reporting you should aim to answer questions or clarifications as this After reporting, you should aim to answer questions or clarifications as this
helps pinpoint the cause of the issue (if you don't do this your issue may be helps pinpoint the cause of the issue (if you don't do this, your issue may be
closed after 1 month). closed after 1 month).
## Feature requests ## Feature requests
@@ -108,20 +107,20 @@ translated by editing a `.tr` text file. See
## Donations ## Donations
If you'd like to monetarily support Minetest development, you can find donation If you'd like to monetarily support Minetest development, you can find donation
methods on [our website](http://www.minetest.net/development/#donate). methods on [our website](https://www.minetest.net/get-involved/#donate).
# Maintaining # Maintaining
* This is a concise version of the * This is a concise version of the
[Rules & Guidelines](http://dev.minetest.net/Category:Rules_and_Guidelines) on the developer wiki.* [Rules & Guidelines](https://dev.minetest.net/Category:Rules_and_Guidelines) on the developer wiki.*
These notes are for those who have push access Minetest (core developers / maintainers). These notes are for those who have push access Minetest (core developers / maintainers).
- See the [project organisation](http://dev.minetest.net/Organisation) for the people involved. * See the [project organization](https://dev.minetest.net/Organisation) for the people involved.
## Concept approvals and roadmaps ## Concept Approvals and Roadmaps
If a Pull Request is not a bug fix: If a pull request is not a bug fix:
* If it matches a goal in [the roadmap](../doc/direction.md), then the PR should * If it matches a goal in [the roadmap](../doc/direction.md), then the PR should
be labeled as "Roadmap" and the goal stated by number in the description. be labeled as "Roadmap" and the goal stated by number in the description.
@@ -137,33 +136,33 @@ Pull requests should be reviewed and, if appropriate, checked if they achieve
their intended purpose. You can show that you are in the process of, or will their intended purpose. You can show that you are in the process of, or will
review the pull request by commenting *"Looks good"* or something similar. review the pull request by commenting *"Looks good"* or something similar.
**If the pull-request is not [merge-able](#a-pull-request-is-considered-merge-able-when):** **If the pull request is not [mergeable](#a-pull-request-is-considered-mergeable-when):**
Submit a comment explaining to the author what they need to change to make the Submit a comment explaining to the author what they need to change to make the
pull-request merge-able. pull request merge-able.
- If the author comments or makes changes to the pull-request, it can be * If the author comments or makes changes to the pull request, it can be
reviewed again. reviewed again.
- If no response is made from the author within 1 month (when improvements are * If no response is made from the author within 1 month (when improvements are
suggested or a question is asked), it can be closed. suggested or a question is asked), it can be closed.
**If the pull-request is [merge-able](#a-pull-request-is-considered-merge-able-when):** **If the pull request is [mergeable](#a-pull-request-is-considered-mergeable-when):**
Submit a :+1: (+1) or "Looks good" comment to show you believe the pull-request should be merged. "Looks good" comments often signify that the patch might require (more) testing. Submit a :+1: (+1) or "Looks good" comment to show you believe the pull request should be merged. "Looks good" comments often signify that the patch might require (more) testing.
- Two core developers must agree to the merge before it is carried out and both should +1 the pull request. * Two core developers must agree to the merge before it is carried out and both should +1 the pull request.
- Who intends to merge the pull-request should follow the commit rules: * Who intends to merge the pull request should follow the commit rules:
- The title should follow the commit guidelines (title starts with a capital letter, present tense, descriptive). * The title should follow the commit guidelines (title starts with a capital letter, present tense, descriptive).
- Don't modify history older than 10 minutes. * Don't modify history older than 10 minutes.
- Use rebase, not merge to get linear history: * Use rebase, not merge to get linear history:
- `curl https://github.com/minetest/minetest/pull/1.patch | git am` `curl https://github.com/minetest/minetest/pull/1.patch | git am`
## Reviewing issues and feature requests ## Reviewing Issues and Feature Requests
- If an issue does not get a response from its author within 1 month (when requiring more details), it can be closed. * If an issue does not get a response from its author within 1 month (when requiring more details), it can be closed.
- When an issue is a duplicate, refer to the first ones and close the later ones. * When an issue is a duplicate, refer to the first ones and close the later ones.
- Tag issues with the appropriate [labels](https://github.com/minetest/minetest/labels) for devices, platforms etc. * Tag issues with the appropriate [labels](https://github.com/minetest/minetest/labels) for devices, platforms etc.
## Releasing a new version ## Releasing a New Version
*Refer to [dev.minetest.net/Releasing_Minetest](http://dev.minetest.net/Releasing_Minetest)* *Refer to [dev.minetest.net/Releasing_Minetest](https://dev.minetest.net/Releasing_Minetest)*