Reword and add more information to the contributing guide

This commit is contained in:
David Capello 2024-06-07 14:22:14 -03:00
parent 9b50f0bbd5
commit a41644f6b5
2 changed files with 61 additions and 58 deletions

View File

@ -1,7 +1,7 @@
# Code of Conduct # Code of Conduct
We have a [code of conduct](CODE_OF_CONDUCT.md) that we all must We have a [code of conduct](CODE_OF_CONDUCT.md) that we all must
read. Be polite to everyone. If you are not in your best day, take a follow. Be polite to everyone. If you are not in your best day, take a
deep breath and try again. Smile :smile: deep breath and try again. Smile :smile:
# New Issues # New Issues
@ -24,31 +24,33 @@ check the following items:
* See how to get the source code correctly in the [INSTALL](INSTALL.md) guide. * See how to get the source code correctly in the [INSTALL](INSTALL.md) guide.
* Check if you are using the latest repository clone. * Check if you are using the latest repository clone.
* Remember that we use submodules, so you need to initialize and update them. * Remember that we use submodules, so you need to initialize and update them.
* Search in the [GitHub issues about compilation](https://github.com/aseprite/aseprite/issues?q=is%3Aissue+label%3Acompilation)
if someone else had the same problem.
* Remember that might be some [pull requests](https://github.com/aseprite/aseprite/pulls) * Remember that might be some [pull requests](https://github.com/aseprite/aseprite/pulls)
being reviewed to fix your same problem. being reviewed to fix your same issue.
If you have a compilation problem, you can ask in the If you have a compilation problem, you can ask in the
[Development category](https://community.aseprite.org/c/development) [Development category](https://community.aseprite.org/c/development)
in the [Community site](https://community.aseprite.org/) for help in the [Community site](https://community.aseprite.org/) for help
or creating a [GitHub issue](https://github.com/aseprite/aseprite/issues/new). or create a [new GitHub issue](https://github.com/aseprite/aseprite/issues/new).
# Contributing # Contributing
One of the easiest ways to contribute is writing articles, One of the easiest ways to contribute is writing articles, [Steam
[Steam reviews](https://steamcommunity.com/app/431730/reviews/), reviews](https://steamcommunity.com/app/431730/reviews/), blog posts,
blog posts, recording video tutorials, recording video tutorials, creating pixel art in social media with
[creating pixel art](https://aseprite.deviantart.com/), or showing your love [#aseprite](https://twitter.com/search?q=%23aseprite), or showing your
to Aseprite e.g. naming Aseprite in your website and linking it to love to Aseprite, e.g. naming Aseprite in your website and linking it
https://www.aseprite.org/, following to https://www.aseprite.org/, following [@aseprite](https://twitter.com/aseprite),
[@aseprite](https://twitter.com/aseprite) twitter account, or or [buying an extra Aseprite copy to your friends](https://www.aseprite.org/download/).
[buying an extra Aseprite copy to your friend](https://www.aseprite.org/download/).
Other ways to contribute require direct contact with us. For example: Other ways to contribute require direct contact with us. For example:
* [Writing documentation](https://github.com/aseprite/docs). * [Writing documentation](https://github.com/aseprite/docs).
* Making art with Aseprite and for Aseprite (logos, skins, mockups). * Making art (and fan art) with Aseprite and for Aseprite (logos, skins, mockups).
* Sending patches for features or bug fixes. * Sending patches for features or bug fixes.
* Reviewing issues in the [issue tracker](https://github.com/aseprite/aseprite/issues) and making comments. * Reviewing issues in the [issue tracker](https://github.com/aseprite/aseprite/issues)
and making comments.
* Helping other users in the [Community](https://community.aseprite.org/) site. * Helping other users in the [Community](https://community.aseprite.org/) site.
## Documentation ## Documentation
@ -56,15 +58,16 @@ Other ways to contribute require direct contact with us. For example:
You can start seeing the You can start seeing the
[documentation](https://www.aseprite.org/docs/), and [documentation](https://www.aseprite.org/docs/), and
[contact us](mailto:support@aseprite.org) if you want to help [contact us](mailto:support@aseprite.org) if you want to help
writting documentation writing documentation or recording [tutorials](https://www.aseprite.org/docs/tutorial/).
or recording [tutorials](https://www.aseprite.org/docs/tutorial/).
If you are going to write documentation, we recommend you to take If you are going to write some docs, we recommend you to take
screenshots or record a GIF animations to show steps: screenshots or record a GIF animations to showcase the feature your
are documenting or the steps to follow:
* As screen recording software, on Windows you can generate GIF files * As screen recording software, on Windows you can generate GIF files
using [LICEcap](http://www.cockos.com/licecap/). using [LICEcap](http://www.cockos.com/licecap/).
* You can upload the PNG/GIF images to [Imgur](http://imgur.com/). * PNG/GIF images can be uploaded in the same docs repository
[with a pull request](https://github.com/aseprite/docs/pulls)
## Reviewing Issues ## Reviewing Issues
@ -74,54 +77,54 @@ new [features](https://community.aseprite.org/c/features),
[bug reports](https://community.aseprite.org/c/bugs), etc. You are [bug reports](https://community.aseprite.org/c/bugs), etc. You are
encouraged to create mockups for any issue you see and attach them. encouraged to create mockups for any issue you see and attach them.
## Hacking ## Code submission policy
The first thing to keep in mind if you want to modify the source code: We have some rules for the changes and commits that are contributed:
checkout the **main** branch. It is the branch that we use to
develop new features and fix issues that are planned for the next big
release. See the [INSTALL](INSTALL.md) guide to know how to compile.
To start looking the source code, see how it is organized in * First of all you will need to sign our
[src/README.md](https://github.com/aseprite/aseprite/tree/main/src/#aseprite-source-code) [Contributor License Agreement](https://github.com/igarastudio/cla) (CLA)
file. to submit your code.
* Split your changes in the most atomic commits possible: one commit
for feature, or fix.
* Rebase your commits to the `main` branch (or `beta` if you are
targeting the beta version).
* Wrap your commit messages at 72 characters.
* The first line of the commit message is the subject line.
* Write the subject line in the imperative mood, e.g. "Fix something",
not "Fixed something".
* For platform-specific commits start the subject line using
`[win]`, `[osx]`, or `[x11]` prefixes.
* For CLI related commits you can use the `[cli]` prefix in the
subject line.
* For Lua scripting related commits can use the `[lua]` prefix in
the subject line.
* Check the spelling of your code, comments and commit messages.
* Follow our [coding style guide](docs/CODING_STYLE.md). We're using
some C++17 features, targeting macOS 10.9 mainly as the oldest
platform (and the one limiting us to newer C++ standards),
## Forking & Pull Requests You can also take a look at the [src/README.md](https://github.com/aseprite/aseprite/tree/main/src/#aseprite-source-code)
guide which contains some information about how the code is structured.
You can fork the GitHub repository using the Fork button at # Community
[https://github.com/aseprite/aseprite](https://github.com/aseprite/aseprite).
The Pull Requests (PR) systems works in this way:
1. First of all you will need to sign our
[Contributor License Agreement](https://github.com/igarastudio/cla) (CLA).
1. Then you can start working on Aseprite. Create a new branch from `main`, e.g. `fix-8` to fix the issue 8.
Check this guide about [how to name your branch](https://github.com/agis/git-style-guide#branches).
1. Start working on that new branch, and push your commits to your fork.
1. Create a new PR to merge your `fix-8` branch to the official `main`.
1. If the PR is accepted (does not require review/comments/modifications),
your branch is merged into `main`.
1. You will need to pull changes from the official `main` branch, and
merge them in your own `main` branch. Finally you can discard your
own `fix-8` branch (because those changes should be already merged
into `main` if the PR was accepted).
1. Continue working from the new `main` head.
To keep in mind: **always** start working from the `main` head, if you
want to fix three different issues, create three different branches
from `main` and then send three different PR. Do not chain all the
fixes in one single branch. E.g. `fix-issues-3-and-8-and-25`.
## Community
You can use the [Development category](https://community.aseprite.org/c/development) You can use the [Development category](https://community.aseprite.org/c/development)
to ask question about the code, how to compile, etc. to ask questions about the code, how to compile, etc.
If you want to start working in something If you want to start working on something
([issue](https://github.com/aseprite/aseprite/issues), ([issue](https://github.com/aseprite/aseprite/issues),
[bug](https://community.aseprite.org/c/bugs), [bug](https://community.aseprite.org/c/bugs),
or [feature](https://community.aseprite.org/c/features)), or [feature](https://community.aseprite.org/c/features)),
post a comment asking if somebody is already working on that, post a comment asking if somebody is already working on that,
in that way you can avoid start programming in something that is already in that way you can avoid starting programming in something that is already
done for the next release or which someone else is working on. done for the next release or which someone else is working on.
And always remember to take a look at our # Future
[roadmap](http://www.aseprite.org/roadmap/).
If you want to contribute a new feature, I highly recommend trying to
contribute a couple of pull requests to fix some bugs first. After
that you can check what are the features we're planning for the
future:
* Our [roadmap](http://www.aseprite.org/roadmap/) and our [planning](https://github.com/orgs/aseprite/projects/10).
* The most liked [issues on GitHub](https://github.com/aseprite/aseprite/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc).
* [Features on the forum](https://community.aseprite.org/c/features/7/l/latest?order=votes) with the most votes.

2
laf

@ -1 +1 @@
Subproject commit 7c2f0304293f0e6a42059608558d012adc66f46c Subproject commit 3378f7cfd89455763e489d39708bb114a0e900e0