Read Anthropic’s case study about Graphite Reviewer

Best practices for GitHub pull request descriptions

Sara Verdi
Sara Verdi
Graphite software engineer
Try Graphite


Note

This guide explains this concept in vanilla Git. For Graphite documentation, see our CLI docs.


PR descriptions provide context to code reviewers, making it easier for them to understand the changes and provide meaningful feedback. This guide will take a look into the best practices for crafting PR descriptions that are clear, concise, and informative.

A well-crafted PR description should include several key elements to serve its purpose, including:

  • Summary of changes: Provide a high-level overview of what changes are included in the PR and why these changes were made.
  • Related issues/PRs: Mention any related issues or PRs to help link the changes to broader project goals or ongoing work.
  • Visuals if applicable: Include screenshots or gifs if the PR involves UI changes to provide a visual context.
  • Steps to test: Clearly outline the steps to test the changes, which can include commands to run, pages to visit, or scripts to execute.
  • Additional notes: Add any additional information that might help the reviewers, such as known issues, limitations, and areas of particular concern.

Here are some targeted strategies to enhance the clarity and effectiveness of your PR descriptions:

The title of your PR should be concise and informative. It should give an immediate insight into the nature of the changes. For example, "Fix overflow bug in user profile modal" is more informative than "Bug fix."

To maintain consistency and make sure that all necessary information is included, use a template for your PR descriptions. Here’s a simple template to get started:

Terminal
### What does this PR do?
(describe the changes here)
### Related tickets
(link any related issues or past PRs here)
### Screenshots
(if applicable, add screenshots here)
### How to test
(steps for testing the changes)
### Additional notes
(any other information, optional)

Provide enough detail to give reviewers a good understanding of the context without overwhelming them with too much information. Also, be sure to break down large changes into digestible sections if necessary.

  • Context is key: Always explain the 'why' behind a PR. What problem are you solving, and why is it important?
  • Keep your audience in mind: Write for someone who might not be familiar with the background of the project.
  • Use bullet points for clarity: Bullet points can help organize the information and make it easier to digest.

The features of Graphite's PR inbox directly support the creation and management of strong, clear pull request (PR) descriptions in several ways:

  1. Organized context for review: The segmentation into various sections (like "Needs your review," "Approved," etc.) allows for better context when writing PR descriptions. Knowing where your PR will appear for others, and under what category, can guide you to include the most pertinent information tailored to that segment's audience or purpose. For instance, if a PR is in the "Needs your review" section, emphasizing the urgency and key changes in the description can help prioritize the review process.

  2. Customizable filters for relevance: By creating custom sections with specific filters, authors can write PR descriptions that are directly relevant to those filters. This ensures that when someone views a PR in a custom section, the description is tailored to highlight the aspects most relevant to that section’s focus, improving the immediacy and clarity of the information provided.

  3. Enhanced searchability: The PR inbox's advanced search feature helps write PR descriptions that are easier to find. Including keywords, project names, or identifiers in PRs makes them easier to find, which is useful in large projects to help clarify and speed up decisions.s

  4. Sharing and consistency: Sharing section configurations among team members promotes consistency in how PRs are described and organized. When team members use shared filters, it’s easier to standardize the structure and content of PR descriptions to ensure that everyone writes descriptions that meet the team's expectations and needs.

Graphite's PR inbox features help ensure that PR descriptions are not just documents in isolation but are integrated parts of a broader workflow. They facilitate the creation of descriptions that are informative, contextually appropriate, and directly beneficial to the review process.

Crafting meaningful PR descriptions is a skill that enhances the efficiency of code reviews and the quality of the code base. By following these guidelines and utilizing tools like Graphite's PR inbox, you can ensure that your team has all the information they need to perform effective reviews.

Built for the world's fastest engineering teams, now available for everyone