|
| 1 | +--- |
| 2 | +title: "Contributing" |
| 3 | +--- |
| 4 | + |
| 5 | +This is a short guide to get you started with contributing to the WeatherStack Core project. |
| 6 | +If this is your first (or one of your first) times contributing to an OSS (Open Source Software) |
| 7 | +project, please read the [new contributors guide](/docs/getting-started/new-contributors) before |
| 8 | +continuing any further. |
| 9 | + |
| 10 | +:::tip |
| 11 | +This is not the easiest project to get started with, as you need a lot of in-depth knowledge |
| 12 | +beforehand, look at the [new contributors guide](/docs/getting-started/new-contributors) to |
| 13 | +see what new contributors can add! |
| 14 | +::: |
| 15 | + |
| 16 | +## Prerequisites |
| 17 | +- Knowledge with CMake, C, and C++ |
| 18 | +- Git (Gittyup option but recommended) |
| 19 | +- A compiler of sorts |
| 20 | + - **Windows**: MinGW CLang |
| 21 | + - **Linux**: CLang |
| 22 | +- An IDE |
| 23 | + |
| 24 | +## Building WS Core |
| 25 | +1. Pull the repository |
| 26 | +```bash |
| 27 | +git pull https://github.com/WeatherStack/core.git |
| 28 | +``` |
| 29 | +2. Build |
| 30 | +<br /> |
| 31 | +**Windows**: |
| 32 | +```batch |
| 33 | +build_win.bat build (Debug/Release) "path/to/vcpkg/toolchain/file.cmake" |
| 34 | +``` |
| 35 | +**Linux**: |
| 36 | +```bash |
| 37 | +build_linux.sh build (Debug/Release) |
| 38 | +``` |
| 39 | +3. Binaries will appear in the newly created `bin` directory |
| 40 | + |
| 41 | +## Contributing to WS Core |
| 42 | +1. Find an unassigned (and not blocked) task in the |
| 43 | +[project](https://github.com/orgs/WeatherStack/projects/2), or |
| 44 | +[issues tab](https://github.com/WeatherStack/core/issues) |
| 45 | +2. Comment and ask for the issue to be assigned to you, and wait for a response from |
| 46 | +maintainers |
| 47 | +3. Fork the repository, if you haven't already |
| 48 | +4. Create a new branch in the fork you just created, and name it something like |
| 49 | +`username/add-cool-feature`, keep it small, and adding your username is optional |
| 50 | +5. Make the first commit |
| 51 | +6. Optionally, create a draft PR stating what you will add to the PR, and the issue it |
| 52 | +links to |
| 53 | +7. Finish the task |
| 54 | +8. Create (if you didn't do step 6), and submit the PR, filling in the PR contents |
| 55 | +with what you changed |
| 56 | +:::tip |
| 57 | +PRs with no description have a high likelyness of being rejected without any review |
| 58 | +::: |
| 59 | +9. Wait for a review |
| 60 | +10. Make any changes requested by other contributors, or maintainers, then resubmit, |
| 61 | +and back to step 9 |
| 62 | + |
| 63 | +:::note |
| 64 | +If you no longer want to work on a task, please comment and ask to be removed so that it can |
| 65 | +be taken by another contributor |
| 66 | +::: |
0 commit comments