|
| 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