CONTRIBUTING.md 3.15 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
## Contributing to Briar GTK

Thank you for looking in this file!

When contributing to the development of Briar GTK, please first discuss the change you wish to make via issue, email, or any other method with the maintainers before making a change.

If you have any questions regarding the use or development of Briar GTK,
want to discuss design or simply hang out, please join us in [Briar's Mattermost chat](https://chat.briarproject.org/), [#briar on freenode.net](irc://freenode.net/#briar) or [the bridge to the Matrix network](https://matrix.to/#/#freenode_#briar:matrix.org).

Please note we have a [code of conduct](/code-of-conduct.md), please follow it in all your interactions with the project.

## Source repository

Nico's avatar
Nico committed
14
Briar GTK's main source repository is at [code.briarproject.org/briar/briar-gtk](https://code.briarproject.org/briar/briar-gtk).
15

Nico's avatar
Nico committed
16
Development happens in the _main_ branch.
17
18
19
20
21
22
23
24
25
26
27

If you need to publish a branch, feel free to do it at any
publically-accessible Git hosting service, although code.briarproject.org
makes things easier for the maintainers.

## Style

We use pycodestyle and pylint for code formatting and we enforce it on the GitLab CI server.

## Running the test suite

Nico's avatar
Nico committed
28
You can run the tests with the script [`tools/run-tests.sh`](tools/run-tests.sh).
29
30
31
32

# Issues, issues and more issues!

There are many ways you can contribute to Briar GTK, and all of them involve creating issues
Nico's avatar
Nico committed
33
in [Briar GTK's issue tracker](https://code.briarproject.org/briar/briar-gtk/issues). This is the entry point for your contribution.
34
35
36
37
38

To create an effective and high quality ticket, try to put the following information on your
ticket:

 1. A detailed description of the issue or feature request
Nico's avatar
Nico committed
39
     - For issues, please note your version and add the necessary steps to reproduce the issue.
40
41
42
43
44
     - For feature requests, add a detailed description of your proposal.
 2. A checklist of Development tasks
 3. A checklist of Design tasks
 4. A checklist of QA tasks

Nico's avatar
Nico committed
45
46
Don't mind if you have nothing to say about point 2), 3) or 4).

47
48
49
50
51
52
53
## Issue template
```
[Title of the issue or feature request]

Detailed description of the issue. Put as much information as you can, potentially
with images showing the issue or mockups of the proposed feature.

Nico's avatar
Nico committed
54
If it's an issue, add the version and steps to reproduce like this:
55
56
57
58
59
60
61

Steps to reproduce:

1. Open Briar GTK
2. Do an Action
3. ...

Nico's avatar
Nico committed
62
63
Briar GTK version: 0.2.0-beta1

64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
## Design Tasks

* [ ]  design tasks

## Development Tasks

* [ ]  development tasks

## QA Tasks

* [ ]  qa (quality assurance) tasks
```

## Merge Request Process

1. Ensure your code compiles.
2. Ensure the test suit passes. Run `tools/run-tests.sh`.
3. If you're adding new API, it must be properly documented.
4. The commit message has to be formatted as follows:
   ```
Nico's avatar
Nico committed
84
   <summary>
85
86
87
88
89

   A paragraph explaining the problem and its context.

   Another one explaining how you solved that.

Nico's avatar
Nico committed
90
   Fixes <link to the bug ticket>
91
92
   ```
5. You may merge the merge request once you have the sign-off of the maintainers, or if you
Nico's avatar
Nico committed
93
   do not have permission to do that, you may request the reviewer to merge it for you.
94
95
96

## Code of Conduct

Nico's avatar
Nico committed
97
We follow the [Briar Code of Conduct](/code-of-conduct.md).