Skip to content

Commit ca5012b

Browse files
committed
Contributing
1 parent 44e5b0b commit ca5012b

File tree

1 file changed

+95
-0
lines changed

1 file changed

+95
-0
lines changed

CONTRIBUTING.md

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# 💁 Contributing to this project
2+
3+
4+
> First off, thank you for considering contributing to this project.
5+
> It’s [people like you][ref-contributors] that keep this project alive and make it great!
6+
> Thank you! 🙏💜🎉👍
7+
8+
The following is a set of **guidelines for contributing** to this project.
9+
Use your best judgment and feel free to propose changes to this document in a pull request.
10+
11+
**Working on your first Pull Request?** You can learn how from this *free* series [How to Contribute to an Open Source Project on GitHub](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github)
12+
13+
### 💡 Your contribution - the sky is the limit 🌈
14+
15+
This is an open source project and we love to receive contributions from our community — [**you**][ref-contributors]!
16+
17+
There are many ways to contribute, from writing __tutorials__ or __blog posts__, improving the [__documentation__][ref-documentation], submitting [__bug reports__][ref-issues-new] and [__enhancement__][ref-pull-request-new] or
18+
[__writing code__][ref-pull-request-new] which can be incorporated into the repository itself.
19+
20+
When contributing to this project, please feel free to discuss the changes and ideas you wish to contribute with the repository owners before making a change by opening a [new issue][ref-issues-new] and add the **feature request** tag to that issue.
21+
22+
Note that we have a [code of conduct][ref-code-of-conduct], please follow it in all your interactions with the project.
23+
24+
### 🐞 You want to report a bug or file an issue?
25+
26+
1. Ensure that it was **not already reported** and is being worked on by checking [open issues][ref-issues].
27+
2. Create a [new issue][ref-issues-new] with a **clear and descriptive title**
28+
3. Write a **detailed comment** with as much relevant information as possible including
29+
- *how to reproduce* the bug
30+
- a *code sample* or an *executable test case* demonstrating the expected behavior that is not occurring
31+
- any *files that could help* trace it down (i.e. logs)
32+
33+
### 🩹 You wrote a patch that fixes an issue?
34+
35+
1. Open a [new pull request (PR)][ref-pull-request-new] with the patch.
36+
2. Ensure the PR description clearly describes the problem and solution.
37+
3. Link the relevant **issue** if applicable ([how to link issues in PRs][ref-pull-request-how-to]).
38+
4. Ensure that [**no tests are failing**][ref-gh-actions] and **coding conventions** are met
39+
5. Submit the patch and await review.
40+
41+
### 🎁 You want to suggest or contribute a new feature?
42+
43+
That's great, thank you! You rock 🤘
44+
45+
If you want to dive deep and help out with development on this project, then first get the project [installed locally][ref-readme].
46+
After that is done we suggest you have a look at tickets in our [issue tracker][ref-issues].
47+
You can start by looking through the beginner or help-wanted issues:
48+
- [__Good first issues__][ref-issues-first] are issues which should only require a few lines of code, and a test or two.
49+
- [__Help wanted issues__][ref-issues-help] are issues which should be a bit more involved than beginner issues.
50+
These are meant to be a great way to get a smooth start and won't put you in front of the most complex parts of the system.
51+
52+
If you are up to more challenging tasks with a bigger scope, then there are a set of tickets with a __feature__, __enhancement__ or __improvement__ tag.
53+
These tickets have a general overview and description of the work required to finish.
54+
If you want to start somewhere, this would be a good place to start.
55+
That said, these aren't necessarily the easiest tickets.
56+
57+
For any new contributions please consider these guidelines:
58+
59+
1. Open a [new pull request (PR)][ref-pull-request-new] with a **clear and descriptive title**
60+
2. Write a **detailed comment** with as much relevant information as possible including:
61+
- What your feature is intended to do?
62+
- How it can be used?
63+
- What alternatives where considered, if any?
64+
- Has this feature impact on performance or stability of the project?
65+
66+
#### Your contribution responsibilities
67+
68+
Don't be intimidated by these responsibilities, they are easy to meet if you take your time to develop your feature 😌
69+
70+
- [x] Create issues for any major changes and enhancements that you wish to make. Discuss things transparently and get community feedback.
71+
- [x] Ensure (cross-)platform compatibility for every change that's accepted. An addition should not reduce the number of platforms that the project supports.
72+
- [x] Ensure **coding conventions** are met. Lint your code with the project's default tools. Project wide commands are available through the [Makefile][ref-makefile] in the repository root.
73+
- [x] Add tests for your feature that prove it's working as expected. Code coverage should not drop below its previous value.
74+
- [x] Ensure none of the existing tests are failing after adding your changes.
75+
- [x] Document your public API code and ensure to add code comments where necessary.
76+
77+
78+
### ⚙️ How to set up the environment
79+
80+
Please consult the [README][ref-readme] for installation instructions.
81+
82+
<!-- REFERENCES -->
83+
84+
[ref-code-of-conduct]: https://github.com/ctreffs/SwiftAssimp/blob/master/CODE_OF_CONDUCT.md
85+
[ref-contributors]: https://github.com/ctreffs/SwiftAssimp/graphs/contributors
86+
[ref-documentation]: https://github.com/ctreffs/SwiftAssimp/wiki
87+
[ref-gh-actions]: https://github.com/ctreffs/SwiftAssimp/actions
88+
[ref-issues-first]: https://github.com/ctreffs/SwiftAssimp/issues?q=is%3Aopen+is%3Aissue+label%3A"good+first+issue"
89+
[ref-issues-help]: https://github.com/ctreffs/SwiftAssimp/issues?q=is%3Aopen+is%3Aissue+label%3A"help+wanted"
90+
[ref-issues-new]: https://github.com/ctreffs/SwiftAssimp/issues/new/choose
91+
[ref-issues]: https://github.com/ctreffs/SwiftAssimp/issues
92+
[ref-pull-request-how-to]: https://docs.github.com/github/writing-on-github/autolinked-references-and-urls
93+
[ref-pull-request-new]: https://github.com/ctreffs/SwiftAssimp/compare
94+
[ref-readme]: https://github.com/ctreffs/SwiftAssimp/blob/master/README.md
95+
[ref-makefile]: https://github.com/ctreffs/SwiftAssimp/blob/master/Makefile

0 commit comments

Comments
 (0)