Skip to content

Latest commit

 

History

History
127 lines (98 loc) · 5.47 KB

CONTRIBUTING.md

File metadata and controls

127 lines (98 loc) · 5.47 KB

Code of Conduct

We have a code of conduct that we all must read. Be polite to everyone. If you are not in your best day, take a deep breath and try again. Smile 😄

New Issues

Before you submit an issue:

  • Search in the current list of issues, bug reports, or feature requests.
  • If the issue already exists, add a 👍 or a ❤️, and you can click the Subscribe or Watching button to get notifications via email.

Compilation problem

Before you submit an issue or a post about a compilation problem, check the following items:

  • See how to get the source code correctly in the INSTALL guide.
  • Check if you are using the latest repository clone.
  • Remember that we use submodules, so you need to initialize and update them.
  • Remember that might be some pull requests being reviewed to fix your same problem.

If you have a compilation problem, you can ask in the Development category in the Community site for help or creating a GitHub issue.

Contributing

One of the easiest ways to contribute is writing articles, Steam reviews, blog posts, recording video tutorials, creating pixel art, or showing your love to Aseprite e.g. naming Aseprite in your website and linking it to https://www.aseprite.org/, following @aseprite twitter account, or buying an extra Aseprite copy to your friend.

Other ways to contribute require direct contact with us. For example:

  • Writing documentation.
  • Making art with Aseprite and for Aseprite (logos, skins, mockups).
  • Sending patches for features or bug fixes.
  • Reviewing issues in the issue tracker and making comments.
  • Helping other users in the Community site.

Documentation

You can start seeing the documentation, and contact us if you want to help writting documentation or recording tutorials.

If you are going to write documentation, we recommend you to take screenshots or record a GIF animations to show steps:

  • As screen recording software, on Windows you can generate GIF files using LICEcap.
  • You can upload the PNG/GIF images to Imgur.

Reviewing Issues

You can review issues, make comments, or create new features, bug reports, etc. You are encouraged to create mockups for any issue you see and attach them.

Hacking

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 guide to know how to compile.

To start looking the source code, see how it is organized in src/README.md file.

Forking & Pull Requests

You can fork the GitHub repository using the Fork button at 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 (CLA).
  2. 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.
  3. Start working on that new branch, and push your commits to your fork.
  4. Create a new PR to merge your fix-8 branch to the official main.
  5. If the PR is accepted (does not require review/comments/modifications), your branch is merged into main.
  6. 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).
  7. 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 to ask question about the code, how to compile, etc. If you want to start working in something (issue, bug, or feature), post a comment asking if somebody is already working on that, in that way you can avoid start 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.