This is the GitHub Desktop development documentation.
If you are interested in contributing to the project, you should read these resources to get familiar with how things work:
- How Can I Contribute? - details about how you can participate
- Development Environment Setup - everything you need to know to get Desktop up and running
- Engineering Values - our high-level engineering values
- Style Guide - notes on the coding style
- Tooling - if you have a preferred IDE, there's some enhancements to make your life easier
- Troubleshooting - some additional known issues if you're having environment issues
Details about how the team is organizing and shipping GitHub Desktop:
- Roadmap - the future as planned so far
- Release Planning - how we plan and execute releases
- Issue Triage - how we address issues reported by users
- Pull Requests - how code contributions are submitted and reviewed
- Releasing Updates - how we deploy things
These documents contain more details about the internals of GitHub Desktop and how things work:
- Dialogs - details about the dialog component API
- Windows menu bar - Electron doesn't provide inbuilt support for styling the menu for Windows, so we've created our own custom components to achieve this.
- Developer OAuth App - GitHub Desktop ships with the ability to OAuth on behalf of a user. A developer OAuth app is bundled to reduce the friction of getting started.
- Building and Packaging Desktop - Outlines how Desktop is currently packaged for all platforms