Shared guidance for anyone developing or reviewing gh. For installation and
usage, see the GitHub CLI manual.
Before starting an external contribution, read CONTRIBUTING for eligibility and scope. Report security concerns through the private disclosure process, not public issues or pull requests.
| Task | Guide |
|---|---|
| Find the relevant source package | Project layout |
| Set up and build locally | Building the project and Go toolchain |
| Design command syntax and terminal interactions | Command-line syntax and Primer |
| Implement or review commands, flags, help, and output | Command development |
| Write tests and validate changes | Testing |
| Work with API clients, host selection, and GHES capabilities | API and hosts |
| Change API gateway routing | api_host and its test harness |
| Run or change live acceptance tests | Acceptance README; running these requires explicitly authorized resources and credentials |
| Prepare a pull request | PR template |
Acceptance tests create and modify real GitHub resources. They are not part of the ordinary unit-test loop; read their setup and cleanup requirements before running them.