diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ad99ceda..63d38e63 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -44,6 +44,9 @@ to ensure all the tests pass. The two main projects are the `Octokit` and `Octokit.Reactive` projects. +The `Octokit.Reactive` library is a thin wrapper over the `Octokit` +library - for those who want to use Reactive Extensions (Rx) instead of tasks. + The namespaces are organised so that the relevant components are easy to discover: - **Authentication** - everything related to authenticating requests @@ -56,6 +59,20 @@ The namespaces are organised so that the relevant components are easy to discove Unless you're modifying some core behaviour, the **Clients** and **Models** namespaces are likely to be the most interesting areas. +The clients within a project are organized similarly to the endpoints in the +[GitHub API documentation](http://developer.github.com/v3/) + +Some clients are "sub-clients". For example, when you navigate to the +[Issues API](http://developer.github.com/v3/issues/) you'll notice there's an +endpoint for issues. But in the right navbar, there are other APIs such as +[Assignees](http://developer.github.com/v3/issues/assignees/) and +[Milestones](http://developer.github.com/v3/issues/milestones/). + +We've tried to mirror this structure. So the `IObservableMilestoneClient` isn't +a direct property of `IObservableGitHubClient`. Instead, it's a property of the +`IObservableIssuesClient`. And thus you can get to it by going to +`client.Issues.Milestones`. + ### What needs to be done? We have a [`easy-fix`](https://github.com/octokit/octokit.net/issues?labels=easy-fix&state=open)