- Notifications
You must be signed in to change notification settings - Fork1.1k
docs: add guidelines about PR size#19700
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Changes fromall commits
File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading.Please reload this page.
Jump to
Uh oh!
There was an error while loading.Please reload this page.
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -148,6 +148,32 @@ channel. | ||
| - [Frontend styling guide](./frontend.md#styling) | ||
| ## Pull Requests | ||
Contributor There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others.Learn more. This section feels like it could absorbhttps://coder.com/docs/about/contributing/CONTRIBUTING#reviews, and make it more concise. | ||
| We welcome pull requests (PRs) from community members including (but not limited to) open source users, enthusiasts, and enterprise customers. | ||
| We will ask that you sign a Contributor License Agreement before we accept any contributions into our repo. | ||
| Please keep PRs small and self-contained. This allows code reviewers (see below) to focus and fully understand the PR. A good rule of thumb is less than 1000 lines changed. (One exception is a mechanistic refactor, like renaming, that is conceptually trivial but might have a large line count.) | ||
| If your intended feature or refactor will be larger than this: | ||
| 1. Open an issue explaining what you intend to build, how it will work, and that you are volunteering to do the development. Include `@coder/community-triage` in the body. | ||
| 2. Give the maintainers a chance to respond. Changes to the visual, interaction, or software design are easier to adjust before you start laying down code. | ||
| 3. Break your work up into a series of smaller PRs. | ||
| Stacking tools like [Graphite](https://www.graphite.dev) are useful for keeping a series of PRs that build on each other up to date as they are reviewed and merged. | ||
| Each PR: | ||
| - Must individually build and pass all tests, including formatting and linting. | ||
| - Must not introduce regressions or backward-compatibility issues, even if a subsequent PR in your series would resolve the issue. | ||
| - Should be a conceptually coherent change set. | ||
johnstcn marked this conversation as resolved. Show resolvedHide resolvedUh oh!There was an error while loading.Please reload this page. | ||
| In practice, many of these smaller PRs will be invisible to end users, and that is ok. For example, you might introduce | ||
| a new Go package that implements the core business logic of a feature in one PR, but only later actually "wire it up" | ||
| to a new API route in a later PR. Or, you might implement a new React component in one PR, and only in a later PR place it on a page. | ||
dannykopping marked this conversation as resolved. Show resolvedHide resolvedUh oh!There was an error while loading.Please reload this page. | ||
| ## Reviews | ||
| The following information has been borrowed from [Go's review philosophy](https://go.dev/doc/contribute#reviews). | ||
Uh oh!
There was an error while loading.Please reload this page.