Skip to content

Commit e624d7f

Browse files
authored
docs: add contributing guide to library (#164)
* docs: add contributing guide to library * docs: address comments
1 parent eef6ec2 commit e624d7f

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

CONTRIBUTING.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Contributing to the github-java-client
2+
3+
Thanks for your interest in the github-java-client. Our goal is to bring a reliable Java-based
4+
alternative to the GitHub API.
5+
6+
## Getting Started
7+
8+
The Github Java Clients's [open issues are here](https://github.com/github-java-client/github-java-client/issues).
9+
In time, we'll tag issues that would make a good first pull request for new contributors. An easy
10+
way to get started helping the project is to *file an issue*. Issues can include bugs to fix,
11+
features to add, or documentation that looks outdated.
12+
13+
## Contributions
14+
15+
This project welcomes contributions from everyone.
16+
17+
Contributions to github-java-client should be made in the form of GitHub pull requests. Each pull
18+
request will be reviewed by a maintainer of the library and either merged and released or given
19+
feedback for changes that would be required.
20+
21+
## Pull Request Checklist
22+
23+
- Branch from the master branch and, if needed, rebase to the current master branch before
24+
submitting your pull request. If it doesn't merge cleanly with master you may be asked to rebase
25+
your changes.
26+
- Commits should be as small as possible while ensuring that each commit is valid independently
27+
(i.e. each commit should compile and the tests should pass).
28+
- Add tests relevant to the fixed bug or new feature. We love to increase our test coverage so any
29+
contributions made to improving that will be very welcomed.
30+
31+
## Coding Standards
32+
33+
- This library is modelled after the [GitHub API](https://docs.github.com/en/rest?apiVersion=2022-11-28) and it has been structured to mimic that.
34+
For example, to access the Teams endpoints, you need to instantiate an `OrganisationClient`
35+
and then a `TeamsClient` as [seen here](./src/main/java/com/spotify/github/v3/clients/OrganisationClient.java). This mirrors the nested structure of the API endpoints such as the
36+
[/orgs/{org}/teams/{team_slug}](https://docs.github.com/en/rest/teams/teams?apiVersion=2022-11-28#list-teams) endpoint
37+
- We operate a monkey see, monkey do approach to this library. We understand that there are some inconsistencies in the library
38+
in terms of how the tests and/or endpoints are written but we, with your help, are working on creating a more consistent codebase.
39+
- All bug fixes and new features need to be fully tested.

0 commit comments

Comments
 (0)