mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2024-11-29 10:24:20 +01:00
152 lines
6.6 KiB
Markdown
152 lines
6.6 KiB
Markdown
# Contributing to Fab-manager
|
|
|
|
♥ [Fab-manager](http://www.fab-manager.com) and want to get involved?
|
|
Thanks! There are plenty of ways you can help!
|
|
|
|
Please take a moment to review this document in order to make the contribution process easy and effective for everyone
|
|
involved.
|
|
|
|
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 or assessing
|
|
patches and features.
|
|
|
|
|
|
## Using the issue tracker
|
|
|
|
The [issue tracker](https://github.com/sleede/fab-manager/issues) is the preferred channel for [bug reports](#bugs)
|
|
and [submitting pull requests](#pull-requests), but please respect the following restrictions:
|
|
|
|
* Please **do not** use the issue tracker for personal support requests (use [the forum](https://forum.fab-manager.com)).
|
|
|
|
* Please **do not** derail or troll issues. Keep the discussion on topic and respect the opinions of others.
|
|
|
|
* Please **do not** open issues or pull requests regarding the code in plugins or third parties software, (open them
|
|
in their respective repositories).
|
|
|
|
|
|
<a name="bugs"></a>
|
|
## Bug reports
|
|
|
|
A bug is a _demonstrable problem_ that is caused by the code in the repository. Good bug reports are extremely
|
|
helpful - thank you!
|
|
|
|
Guidelines for bug reports:
|
|
|
|
1. **Use the GitHub issue search** — check if the issue has already been reported.
|
|
|
|
2. **Check if the issue has been fixed** — try to reproduce it using the latest `master` or development
|
|
branch in the repository.
|
|
|
|
3. **Isolate the problem** — ideally create a [reduced test case](https://css-tricks.com/reduced-test-cases/)
|
|
and a live example.
|
|
|
|
A good bug report shouldn't leave others needing to chase you up for more information. Please try to be as detailed
|
|
as possible in your report. What is your environment? What steps will reproduce the issue? What browser(s) and OS
|
|
experience the problem? What would you expect to be the outcome? All these details will help people to fix any potential
|
|
bugs.
|
|
|
|
Example:
|
|
|
|
> Short and descriptive example bug report title
|
|
>
|
|
> A summary of the issue and the browser/OS environment in which it occurs. If suitable, include the steps required
|
|
> to reproduce the bug.
|
|
>
|
|
> 1. This is the first step
|
|
> 2. This is the second step
|
|
> 3. Further steps, etc.
|
|
>
|
|
> `<url>` - a link to your instance, demonstrating the problem
|
|
>
|
|
> Any other information you want to share that is relevant to the issue being reported. This might include the lines of
|
|
> code that you have identified as causing the bug, and potential solutions (and your opinions on their merits).
|
|
|
|
|
|
<a name="features"></a>
|
|
## Feature requests
|
|
|
|
Feature requests are welcome. But take a moment to find out whether your idea fits with the scope and aims of the
|
|
project. It's up to *you* to make a strong case to convince the project's developers of the merits of this feature.
|
|
Please provide as much detail and context as possible.
|
|
|
|
Please note also that [the feedback tool](https://feedback.fab-manager.com) is probably a better place for discussing
|
|
about feature requests.
|
|
|
|
|
|
<a name="pull-requests"></a>
|
|
## Pull requests
|
|
|
|
Good pull requests - patches, improvements, new features - are a fantastic help. They should remain focused in scope
|
|
and avoid containing unrelated commits.
|
|
|
|
**Please ask first** before embarking on any significant pull request (e.g. implementing features, refactoring code,
|
|
porting to a different language), otherwise you risk spending a lot of time working on something that the project's
|
|
developers might not want to merge into the project.
|
|
|
|
Please adhere to the coding conventions used throughout a project (indentation, accurate comments, etc.) and any other
|
|
requirements (such as test coverage).
|
|
|
|
Adhering to the following process is the best way to get your work included in the project:
|
|
|
|
1. [Fork](https://help.github.com/articles/fork-a-repo/) the project, clone your fork, and configure the remotes:
|
|
|
|
```bash
|
|
# Clone your fork of the repo into the current directory
|
|
git clone https://github.com/<your-username>/fab-manager.git
|
|
# Navigate to the newly cloned directory
|
|
cd fab-manager
|
|
# Assign the original repo to a remote called "upstream"
|
|
git remote add upstream https://github.com/sleede/fab-manager.git
|
|
```
|
|
|
|
2. If you cloned a while ago, get the latest changes from upstream:
|
|
|
|
```bash
|
|
git checkout master
|
|
git pull upstream master
|
|
```
|
|
|
|
3. Create a new topic branch (off the main project development branch) to contain your feature, change, or fix:
|
|
|
|
```bash
|
|
git checkout -b <topic-branch-name>
|
|
```
|
|
|
|
4. Commit your changes in logical chunks. Please adhere to these [git commit message guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
|
|
or your code is unlikely be merged into the main project. Use Git's [interactive rebase](https://help.github.com/articles/about-git-rebase/)
|
|
feature to tidy up your commits before making them public.
|
|
|
|
5. Locally merge (or rebase) the upstream development branch into your topic branch:
|
|
|
|
```bash
|
|
git pull [--rebase] upstream master
|
|
```
|
|
|
|
6. Push your topic branch up to your fork:
|
|
|
|
```bash
|
|
git push origin <topic-branch-name>
|
|
```
|
|
|
|
7. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/) with a clear title and description.
|
|
|
|
**IMPORTANT**: By submitting a patch, you agree to allow the project owners to license your work under the terms of
|
|
the [GNU Affero General Public License](LICENSE.md).
|
|
|
|
<a name="translations"></a>
|
|
## Translations
|
|
|
|
Event without any technical skills, you can contribute to translate Fab-manager to your local language.
|
|
This is possible using a [Translation Management System](https://en.wikipedia.org/wiki/Translation_management_system)
|
|
known as [Crowdin](https://crowdin.com/). This tool helps the community to contribute to the translation of Fab-Manager
|
|
into their favorite local languages.
|
|
|
|
You can access it at [translate.fab-manager.com](https://translate.fab-manager.com/) and start translating.
|
|
If you want to translate Fab-Manager to a new unlisted language, just post a comment [on the forum](https://forum.fab-manager.com/)
|
|
or [create an issue on GitHub](https://github.com/sleede/fab-manager/issues) and we'll be happy to add it
|
|
to the list of supported languages.
|
|
|
|
If you know where an untranslated sentence is located and you can't find it on Crowdin, you can use
|
|
the "in-context translation": [in-context.translate.fab-manager.com](https://in-context.translate.fab-manager.com/).
|
|
From there, you'll be able to browse the application interface and select in one click the sentences you want to translate.
|