diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6e6e0b57..c20ece26 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -40,6 +40,31 @@ easiest way to do this. You can then clone down your fork instead: After doing that, run the `.\build.cmd` script at the root of the repository to ensure all the tests pass. +## How is the codebase organised? + +The two main projects are the `Octokit` and `Octokit.Reactive` projects. + +The namespaces are organised so that the relevant components are easy to discover: + + - **Authentication** - everything related to authenticating requests + - **Clients** - the logic for interacting with various parts of the GitHub API + - **Exceptions** - types which represent exceptional behaviour from the API + - **Helpers** - assorted extensions and helpers to keep the code neat and tidy + - **Http** - the internal networking components which Octokit requires + - **Models** - types which represent request/response objects + +Unless you're modifying some core behaviour, the **Clients** and **Models** namespaces +are likely to be the most interesting areas. + +## What needs to be done? + +We have a [`easy-fix`](https://github.com/octokit/octokit.net/issues?labels=easy-fix&state=open) +tag on our issue tracker to indicate tasks which contributors can pick up. + +For v1 of the Octokit.net API, we're looking to support everything that v3 of the +GitHub API supports. As this is currently a pre-1.0 library, we're always looking +for ways to improve the API to make it easy to work with the GitHub API. + ## Making Changes When you're ready to make a change,