🎉 First off, thank you for considering contributing to Akira 🎉
Akira is an open source project and we love to receive contributions from our community — you! There are many ways to contribute, from submitting bug reports and feature requests or writing code which can be incorporated into Akira itself.
All members of our community are expected to follow our Code of Conduct. Please make sure you are welcoming and friendly in all of our spaces.
The following is a set of guidelines for contributing to Akira, which is hosted in the Akira UX Organization on GitHub. Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue, assessing changes, and helping you finalize your pull requests.
These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
- Getting started
- Reporting bugs and issues
- Feature requests
- Your first contributions
- Pull requests
- Code review process
-
Akira is written in Vala language.
-
To start learning how to program in Vala, check out the official tutorial
-
To follow up on general questions about development in GTK, head over to Gnome Wiki
-
Akira's main source repository is at Github.
-
Development happens in the
master
branch, thus all Pull Request should be opened against themaster
branch. -
Installing
You can install Akira by compiling it from the source
-
Install required dependencies:
gtk+-3.0>=3.18
granite>=6.0.0
glib-2.0
gee-0.8
gobject-2.0
libxml-2.0
cairo
meson
For non-elementary distros, (such as Arch, Debian etc) you are required to install "vala" as additional dependency.
-
Debian (Elementary/Ubuntu/Linux Mint)
sudo apt-get install gtk+-3.0 elementary-sdk glib-2.0 gee-0.8 gobject-2.0 libxml2 libjson-glib-1.0 libarchive-dev libcairo2-dev meson valac
- Building:
meson build --prefix=/usr -Dprofile=default|development cd build ninja && sudo ninja install
-
If you find a security vulnerability, do NOT open an issue. Email [email protected] instead.
In order to determine whether you are dealing with a security issue, ask yourself these two questions:
- Can I access something that's not mine, or something I shouldn't have access to?
- Can I disable something for other people? If the answer to either of those two questions are "yes", then you're probably dealing with a security issue. Note that even if you answer "no" to both questions, you may still be dealing with a security issue, so if you're unsure, just email us at [email protected].
If you think you have found a bug in Akira, first make sure that you are testing against the latest version of Akira (latest commit on master
branch) - your issue may already have been fixed. If not, search our issues list on GitHub in case a similar issue has already been opened.
If the issue has not been reported before, simply create a new issue via the Issues section
It is very helpful if you can prepare a reproduction of the bug. In other words, provide all the steps as well as a GIF demonstrating the bug. It makes it easier to find the problem and to fix it.
Please adhere to the issue template and make sure you have provided as much information as possible. This helps the maintainers in resolving these issues considerably.
Please be careful of publishing sensitive information you don't want other people to see, or images whose copyright does not allow redistribution; the bug tracker is a public resource and attachments are visible to everyone.
If you find yourself wishing for a feature that doesn't exist in Akira, you are probably not alone. There are bound to be others out there with similar needs. Many of the features that Akira has today have been added because our users saw the need.
To request a feature, open an issue on our issues list on GitHub which describes the feature you would like to see, why you need it, and how it should work.
Akira is maintained by a small team of individuals, who aim to provide good support as much as possible.
Unsure where to begin contributing to Akira? You can start by looking through the help-wanted issues:
- Help wanted issues - issues which the team has marked for some help.
Working on your first Pull Request? You can learn how from this link.
At this point, you're ready to make your changes! Feel free to ask for help; everyone is a beginner at first 😸
If a maintainer asks you to "rebase" your PR, they're saying that a lot of code has changed, and that you need to update your branch so it's easier to merge.
For something that is bigger than a one or two line fix:
- Create your own fork of the code
- Create a branch
- Commit your changes in the new branch
- If you like the change and think the project could use it:
- Be sure you have followed the code style for the project.
- Open a pull request with a good description (including issue number)
The core team looks at Pull Requests on a regular basis and they are dealt with on case by case basis and roadmap in mind.