Skip to content

Commit c66ff0e

Browse files
authored
Add contributions.md and address comments from PR
1 parent f3d0f21 commit c66ff0e

File tree

2 files changed

+75
-16
lines changed

2 files changed

+75
-16
lines changed

.github/pull_request_template.md

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,10 @@ Please tick all options which are relevant.
1212
- [ ] New feature
1313
- [ ] Requires documentation updates
1414

15-
# Testing
15+
## Testing
1616

1717
Please describe the test(s) that you added and ran to verify your changes.
1818

19-
## Test(s) description
19+
## Checklist
2020

21-
**Test Configuration**:
22-
23-
* OS:
24-
25-
# Checklist:
26-
27-
- [ ] I have added tests that prove my fix is effective and/or that my feature works
28-
- [ ] New and existing unit tests pass locally with my changes
29-
- [ ] I have used understandable variable names
30-
- [ ] I have squashed my commits into a single commit ready for review
31-
- [ ] I have run `git-clang-format HEAD~` on my changes
32-
- [ ] I have made corresponding changes to the documentation
33-
- [ ] I have performed a self-review of my own code
34-
- [ ] I have commented my code, particularly in hard-to-understand areas
21+
- [ ] I have read the contribution guide recently

CONTRIBUTING.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Overview
2+
3+
Thank you for investing your time in contributing to our project! There are
4+
numbers of ways to contribute to the project and we appreciate all of them. If
5+
you like the project please give CppInterOp a star.
6+
7+
Any contribution to open source makes a difference!
8+
9+
## Are you new to open source, git or GitHub?
10+
11+
To get an overview of the project, read the [README](README.md). Here are some
12+
resources to help you get started with open source contributions:
13+
14+
- [Finding ways to contribute to open source on GitHub](https://docs.github.com/en/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github)
15+
- [Set up Git](https://docs.github.com/en/get-started/quickstart/set-up-git)
16+
- [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow)
17+
- [Collaborating with pull requests](https://docs.github.com/en/github/collaborating-with-pull-requests)
18+
19+
## Are you a contributor looking for a challenging summer project?
20+
21+
Various opportunities such as information about google summer of code is
22+
generally published on the [Compiler Research Open Projects page](https://compiler-research.org/open_projects).
23+
If you have used CppInterOp and you have particular project proposal please reach out.
24+
25+
## Ways to contribute
26+
27+
### Submit a bug report
28+
29+
If something does not seem right [search if an issue already exists](https://docs.github.com/en/github/searching-for-information-on-github/searching-on-github/searching-issues-and-pull-requests#search-by-the-title-body-or-comments) in [CppInterOps issue tracker](https://github.com/compiler-research/CppInterOp/issues). If a related issue doesn't exist, you can open a new issue using a relevant [issue form](https://github.com/compiler-research/CppInterOp/issues/new).
30+
31+
### Good first issues
32+
33+
Some issues have been marked as ["good first issues"](https://github.com/compiler-research/CppInterOp/labels/good%20first%20issue).
34+
These are intended to be a good place to start contributing.
35+
36+
### Write documentation
37+
38+
Documentation is critical for any open source project, especially for complex
39+
projects such as CppInterOp. We have our documentation in the repository which is then
40+
rendered in the [CppInterOp.readthedocs](https://cppinterop.readthedocs.io/en/latest/) website.
41+
Documentation modifications happen by proposing a pull request.
42+
43+
## Creating a successfull pull request
44+
45+
To propose a code modification we use the pull requests. Pull requests which
46+
review quickly and successfully share several common traits:
47+
48+
- Sharp -- intends to fix a concrete problem. Usually the pull request addresses
49+
an already opened issue;
50+
- Atomic -- has one or more commits that can be reverted without any unwanted
51+
side effects or regressions, aside from what you’d expect based on its
52+
message. [More on atomic commits in git](https://www.aleksandrhovhannisyan.com/blog/atomic-git-commits/).
53+
- Descriptive -- has a good description in what is being solved. This
54+
information is usually published as part of the pull request description and
55+
as part of the commit message. Writing good commit messages are critical. More
56+
[here](https://github.blog/2022-06-30-write-better-commits-build-better-projects/)
57+
and [here](https://cbea.ms/git-commit/). If your pull request fixes an existing
58+
issue from the bug tracker make sure that the commit log and the pull request
59+
description mentions `Fixes: #<ISSUE_NUMBER>`. That will link both and will
60+
close the issue automatically upon merging.
61+
- Tested -- has a set of tests making sure that the issue will not resurface
62+
without a notice. Usually the codecov bots annotate the code paths that are
63+
not tested in the pull request after being run.
64+
- Documented -- has good amount of code comment. The test cases are also a good
65+
source of documentation. [Here](https://stackoverflow.blog/2021/12/23/best-practices-for-writing-code-comments/)
66+
is a guideline about how write good code comments. [Here](https://stackoverflow.com/questions/184618/what-is-the-best-comment-in-source-code-you-have-ever-encountered)
67+
are examples of what *not* to write as a code comment.
68+
69+
### Developer Documentation
70+
71+
We have documented several useful hints that usually help when addressing issues
72+
as they come during developement time in our [developer documentation](https://cppinterop.readthedocs.io/en/latest/InstallationAndUsage.html).

0 commit comments

Comments
 (0)