Here's our template for what should go in a pull request. This seems overly-verbose, but will help us:
- manage technical debt
- link pull requests to sprint tasks
- give future developers a lot more context
- give reviewers the context they need to understand the problem you're trying to solve and the acceptance criteria you're trying to meet.
It's nice, but not required to fill everything out when you first open your pull request. This template shouldn't be a barrier to contributing code - and you can open a PR with the words WIP in front, to let us know it's not quite there yet, then go back and update information at any time.
[for PRs that haven't been fully implemented yet]
Describe the code diff using human friendly language.
Explain the reason and motivation behind this change.
Running the test suite (inv test
) is implied so listing it as a step is optional.
pip install
?- migrations?
grunt
?- http://localhost:8000/ url?
If adding JS can it be done async? Do images/CSS/JS have cache headers set? Are queries optimized? Is there anything else that will affect performance?
List related basecamp and github issues.
Describe followup steps.
- list code smells
- list UX smells
- list anti-patterns
- todo item
If you've made a change that affects how other team members deploy/run the project, it should be recorded somewhere. If you there is no documentation update, explicitly opt out with a "Not necessary".
Document how this PR increases or decreases technical debt. Like how bills come with a fiscal note to document how much they cost.
You can copy paste this:
#### What's the plan?
[for PRs that haven't been fully implemented yet]
#### What's this PR do?
#### Why are we doing this? How does it help us?
#### How should this be manually tested?
#### Are there performance implications? If adding JS can it be done async? Do images/CSS/JS have cache headers set?
#### What are the relevant tickets?
#### Next steps?
#### Smells?
#### TODOs:
* [ ] your TODO here
#### Has the relevant documentation/wiki been updated?
#### Technical debt note