diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bf85ec11b..c286b786a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,7 +1,7 @@ # Code of Conduct 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: # New Issues @@ -24,31 +24,33 @@ check the following items: * See how to get the source code correctly in the [INSTALL](INSTALL.md) guide. * Check if you are using the latest repository clone. * 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) - 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 [Development category](https://community.aseprite.org/c/development) 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 -One of the easiest ways to contribute is writing articles, -[Steam reviews](https://steamcommunity.com/app/431730/reviews/), -blog posts, recording video tutorials, -[creating pixel art](https://aseprite.deviantart.com/), or showing your love -to Aseprite e.g. naming Aseprite in your website and linking it to -https://www.aseprite.org/, following -[@aseprite](https://twitter.com/aseprite) twitter account, or -[buying an extra Aseprite copy to your friend](https://www.aseprite.org/download/). +One of the easiest ways to contribute is writing articles, [Steam +reviews](https://steamcommunity.com/app/431730/reviews/), blog posts, +recording video tutorials, creating pixel art in social media with +[#aseprite](https://twitter.com/search?q=%23aseprite), or showing your +love to Aseprite, e.g. naming Aseprite in your website and linking it +to https://www.aseprite.org/, following [@aseprite](https://twitter.com/aseprite), +or [buying an extra Aseprite copy to your friends](https://www.aseprite.org/download/). Other ways to contribute require direct contact with us. For example: * [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. -* 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. ## Documentation @@ -56,15 +58,16 @@ Other ways to contribute require direct contact with us. For example: You can start seeing the [documentation](https://www.aseprite.org/docs/), and [contact us](mailto:support@aseprite.org) if you want to help -writting documentation -or recording [tutorials](https://www.aseprite.org/docs/tutorial/). +writing documentation or recording [tutorials](https://www.aseprite.org/docs/tutorial/). -If you are going to write documentation, we recommend you to take -screenshots or record a GIF animations to show steps: +If you are going to write some docs, we recommend you to take +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 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 @@ -74,54 +77,54 @@ new [features](https://community.aseprite.org/c/features), [bug reports](https://community.aseprite.org/c/bugs), etc. You are 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: -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. +We have some rules for the changes and commits that are contributed: -To start looking the source code, see how it is organized in -[src/README.md](https://github.com/aseprite/aseprite/tree/main/src/#aseprite-source-code) -file. +* First of all you will need to sign our + [Contributor License Agreement](https://github.com/igarastudio/cla) (CLA) + 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 -[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 +# Community You can use the [Development category](https://community.aseprite.org/c/development) -to ask question about the code, how to compile, etc. -If you want to start working in something +to ask questions about the code, how to compile, etc. +If you want to start working on something ([issue](https://github.com/aseprite/aseprite/issues), [bug](https://community.aseprite.org/c/bugs), or [feature](https://community.aseprite.org/c/features)), 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. -And always remember to take a look at our -[roadmap](http://www.aseprite.org/roadmap/). +# Future + +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. diff --git a/laf b/laf index 7c2f03042..3378f7cfd 160000 --- a/laf +++ b/laf @@ -1 +1 @@ -Subproject commit 7c2f0304293f0e6a42059608558d012adc66f46c +Subproject commit 3378f7cfd89455763e489d39708bb114a0e900e0