Skip to content

Commit 64e33cf

Browse files
authored
Add CONTRIBUTING.md (#121)
* Add CONTRIBUTING.md * More content * Add section Coding style * Add section File formats * Mention `pushing to main` --------- Co-authored-by: Uwe Fechner <[email protected]>
1 parent c98e193 commit 64e33cf

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

CONTRIBUTING.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
## How to contribute to this project
2+
3+
### Casual contributors
4+
5+
#### Create issues
6+
1. mention the version number of the package
7+
1. write at least one sentence describing the issue
8+
1. share the output of `versioninfo()`
9+
1. indicate if it is a bug report or feature request
10+
11+
### Regular contributors
12+
1. become member of the Telegram channel
13+
1. ask for write access
14+
15+
#### Creating pull requests
16+
1. create a new branch
17+
1. push your changes to the branch
18+
1. create a draft pull request
19+
1. when you think it is ready, mark it as "ready for review" and invite a reviewer
20+
1. address the remarks of the reviewer
21+
1. check that all tests passed
22+
1. merge the pull request, choosing the `squash` option
23+
24+
It is OK to merge your own pull request without review if you are very sure it will not cause any problems. If in doubt, ask on Telegram.
25+
26+
It is OK to push directly to the `main` branch for small changes for example fixing a typo in the documentation.
27+
28+
#### Commit messages
29+
1. shall start with capital letter
30+
1. imperative form
31+
32+
**Examples**
33+
- Fix division-by-zero error
34+
- Improve docstrings
35+
- Implement feature #23
36+
- Add function cool_feature()
37+
38+
#### Coding style
39+
1. variable and function names lower case, use underscore if needed
40+
1. Types and structs CamelCase
41+
1. indent with four spaces
42+
1. max 120 char per line
43+
1. do NOT use an automated code formatter
44+
45+
#### File formats
46+
1. input files: preferably `.yaml`format
47+
1. CAD geometries: `.obj` files
48+
1. multi-dimensional arrays: `.mat` files
49+
1. CSV files can be used for polars for example, but if the polars are part of wing description better have one `.yaml` file that describes all aspects of the wing
50+
51+
**Open questions**
52+
- what are `.dat` files?
53+
- shall we use `.bin` files?
54+
- shall we use `.JLD2` files?

0 commit comments

Comments
 (0)