From dda63a4324ae99182fc5e73cba64d12654254a96 Mon Sep 17 00:00:00 2001 From: Devin Foley Date: Thu, 2 Apr 2026 23:49:30 -0700 Subject: [PATCH] Update CONTRIBUTING.md to require PR template, Greptile 5/5, and tests (#2618) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Thinking Path > - Paperclip orchestrates AI agents for zero-human companies > - Contributors submit pull requests to improve the codebase > - We have a PR template at `.github/PULL_REQUEST_TEMPLATE.md` that standardizes PR descriptions > - But PRs created via the API or other tooling sometimes bypass the template > - We also require Greptile automated review and passing tests, but this wasn't clearly documented > - This PR updates CONTRIBUTING.md to explicitly require use of the PR template, a 5/5 Greptile score, and passing tests > - The benefit is contributors have clear, upfront expectations for what a mergeable PR looks like ## What Changed - Added a new "PR Requirements (all PRs)" section to CONTRIBUTING.md with three subsections: - **Use the PR Template** — links to `.github/PULL_REQUEST_TEMPLATE.md` and explains it must be used even when creating PRs outside the GitHub UI - **Tests Must Pass** — requires local test runs and green CI - **Greptile Review** — requires 5/5 score with all comments addressed - Updated Path 1 and Path 2 bullet points to reference the PR template, Greptile 5/5, and CI requirements specifically - Updated "Writing a Good PR message" section to link to the PR template and clarify all sections are required ## Verification - Read the updated CONTRIBUTING.md and verify it clearly references the PR template, Greptile 5/5 requirement, and test requirements - Verify all links to `.github/PULL_REQUEST_TEMPLATE.md` resolve correctly ## Risks - Low risk — documentation-only change, no code affected ## Model Used - Provider: Anthropic Claude - Model ID: claude-opus-4-6 (1M context) - Capabilities: tool use, code editing ## Checklist - [x] I have included a thinking path that traces from project context to this change - [x] I have specified the model used (with version and capability details) - [x] I have run tests locally and they pass - [x] I have added or updated tests where applicable - [ ] If this change affects the UI, I have included before/after screenshots - [x] I have updated relevant documentation to reflect my changes - [x] I have considered and documented any risks above - [x] I will address all Greptile and reviewer comments before requesting merge --------- Co-authored-by: Paperclip --- CONTRIBUTING.md | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1eba95e3..4f18ba10 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -11,8 +11,9 @@ We really appreciate both small fixes and thoughtful larger changes. - Pick **one** clear thing to fix/improve - Touch the **smallest possible number of files** - Make sure the change is very targeted and easy to review -- All automated checks pass (including Greptile comments) -- No new lint/test failures +- All tests pass and CI is green +- Greptile score is 5/5 with all comments addressed +- Use the [PR template](.github/PULL_REQUEST_TEMPLATE.md) These almost always get merged quickly when they're clean. @@ -26,11 +27,26 @@ These almost always get merged quickly when they're clean. - Before / After screenshots (or short video if UI/behavior change) - Clear description of what & why - Proof it works (manual testing notes) - - All tests passing - - All Greptile + other PR comments addressed + - All tests passing and CI green + - Greptile score 5/5 with all comments addressed + - [PR template](.github/PULL_REQUEST_TEMPLATE.md) fully filled out PRs that follow this path are **much** more likely to be accepted, even when they're large. +## PR Requirements (all PRs) + +### Use the PR Template + +Every pull request **must** follow the PR template at [`.github/PULL_REQUEST_TEMPLATE.md`](.github/PULL_REQUEST_TEMPLATE.md). If you create a PR via the GitHub API or other tooling that bypasses the template, copy its contents into your PR description manually. The template includes required sections: Thinking Path, What Changed, Verification, Risks, and a Checklist. + +### Tests Must Pass + +All tests must pass before a PR can be merged. Run them locally first and verify CI is green after pushing. + +### Greptile Review + +We use [Greptile](https://greptile.com) for automated code review. Your PR must achieve a **5/5 Greptile score** with **all Greptile comments addressed** before it can be merged. If Greptile leaves comments, fix or respond to each one and request a re-review. + ## General Rules (both paths) - Write clear commit messages @@ -41,7 +57,7 @@ PRs that follow this path are **much** more likely to be accepted, even when the ## Writing a Good PR message -Please include a "thinking path" at the top of your PR message that explains from the top of the project down to what you fixed. E.g.: +Your PR description must follow the [PR template](.github/PULL_REQUEST_TEMPLATE.md). All sections are required. The "thinking path" at the top explains from the top of the project down to what you fixed. E.g.: ### Thinking Path Example 1: