You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/docs/contribution-guide.mdx
+56-7Lines changed: 56 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -87,16 +87,65 @@ Whenever you add a new feature or fix a bug, please add an entry to the top of t
87
87
When a new version is released, this section will be marked as released and a tag is created on the `main` branch.
88
88
</CustomAside>
89
89
90
-
## 3. Finally: Create a Pull Request
90
+
## 3. Make Sure All Tests Pass
91
91
92
-
Finally, when you are finished with your changes, push them to your fork and create a pull request to the `main` branch of Kando's repository.
93
-
94
-
Several checks will be performed automatically.
92
+
The CI jobs on GitHub will run several tests and checks.
95
93
Kando uses [Github Actions](https://github.com/kando-menu/kando/actions) for continuous integration.
94
+
You can also run some of tests locally before pushing your changes.
95
+
96
+
### Unit Tests
97
+
98
+
Kando does not yet have a lot of unit tests, but we are working on it.
99
+
You can run the unit tests by executing the following command:
100
+
101
+
```bash
102
+
npm run test
103
+
```
104
+
105
+
### Code Formatting
106
+
107
+
Kando uses [Prettier](https://prettier.io/) for code formatting.
108
+
You can test if your code is formatted correctly by running the following command:
109
+
110
+
```bash
111
+
npm run prettier
112
+
```
113
+
114
+
You can also automatically format your code by running:
115
+
116
+
```bash
117
+
npm run format
118
+
```
96
119
97
-
- For **each commit**, several checks are performed. These include code formatting, linting, [REUSE](https://reuse.software/) compliance and unit tests.
98
-
- For **pull requests**, it is checked in addition that the application can be packaged for Linux, Windows, and macOS.
120
+
### Linting
121
+
122
+
Kando uses [ESLint](https://eslint.org/) for linting the code.
123
+
You can run the linter by executing the following command:
124
+
125
+
```bash
126
+
npm run lint
127
+
```
128
+
129
+
### REUSE Compliance
130
+
131
+
Kando is compliant with the [REUSE](https://reuse.software/) standard.
132
+
This means that all source files must have a license header and all files must be properly attributed.
133
+
134
+
If you just added a small piece of code, you usually do not need to change any license headers.
135
+
However, if you contributed a significant piece of code, you should add yourself to the file header with a new `SPDX-FileCopyrightText` line.
136
+
You can read more about this in the [documentation for creating menu themes](../create-menu-themes/#-adding-proper-credits).
137
+
138
+
You can use the [**REUSE Tool**](https://github.com/fsfe/reuse-tool) to check if your code is compliant with the REUSE standard.
139
+
There are several ways to do this, but the easiest one is to use `pipx`:
140
+
141
+
```bash
142
+
pipx run reuse lint
143
+
```
144
+
145
+
## 4. Finally: Create a Pull Request
146
+
147
+
Finally, when you are finished with your changes, push them to your fork and create a pull request to the `main` branch of Kando's repository.
99
148
100
-
<CustomAsidetype="thanks"title="Time to Celebrate!">
149
+
<CustomAsidetype="thanks"title="And now: Time to Celebrate!">
101
150
Thank you very much for your contribution! You are awesome! 💞
0 commit comments