Gate first-time contributions to curb AI slop#911
Conversation
Drive-by, AI-generated pull requests from first-time contributors have grown common enough to burden maintainers. Add a "First contributions" section to CONTRIBUTING.md that asks first-time contributors to get an accepted issue assigned before opening a pull request, with an exception for those who already have an established presence in the fediverse or related F/OSS work and surface it in the pull request. Point LLM coding agents to the section from AGENTS.md. Assisted-by: Claude Code:claude-opus-4-8
✅ Deploy Preview for fedify-json-schema canceled.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthrough
ChangesFirst Contributions Policy
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Code Review
This pull request updates the contribution guidelines in 'CONTRIBUTING.md' and 'AGENTS.md' to introduce a new policy for first-time contributors, aiming to curb low-effort, AI-generated submissions. It requires first-time contributors to have an accepted issue assigned to them before opening a pull request, with exceptions for minor documentation fixes and established fediverse or open-source developers. Feedback was provided regarding the manual movement of reference-style links in 'CONTRIBUTING.md', which should instead be handled automatically by the 'Hongdown' formatting tool.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Codecov Report✅ All modified and coverable lines are covered by tests. 🚀 New features to boost your workflow:
|
Why
The project has seen a steady rise in low-effort, AI-generated pull requests, most of them from people opening their very first contribution. The real cost is not the code itself but the validation burden it pushes onto maintainers: someone has to read, run, and reason about work that the author never qualified. AI_POLICY.md already says AI-assisted PRs must track an accepted issue, but the problem is not specific to disclosed-AI PRs. A first-time drive-by PR imposes the same cost whether or not a tool was involved, and a first contribution is exactly the point where there is no prior trust to lean on, so the burden is highest and the signal is lowest. The policy therefore gates first contributions in particular, asking for an accepted, assigned issue before any code is written, so the design conversation happens where redirection is cheap rather than after the work is already done.
A blanket gate, though, would turn away the very people the project most wants: contributors who already understand the problem domain. So instead of a hard wall the policy offers a trust-based shortcut. If someone is visibly active in the fediverse or in related F/OSS work, their familiarity is already evident, and insisting on a preparatory issue would add friction without adding signal. This exception is deliberately worded as an invitation rather than a credential check, because forcing people to prove themselves would reintroduce the gatekeeping tone we want to avoid, and because whether a given presence is convincing is ultimately a maintainer's judgment call, not a checklist.
The policy also states plainly that a non-conforming PR may be closed without further comment. This is intentional, not careless: the scarce resource being protected is maintainer attention, and writing a bespoke explanation for every slop PR would reintroduce exactly the cost the policy exists to remove. Stating the rule up front is what makes a silent close fair, since anyone who has read the section has already received the explanation a comment would have given. The same paragraph still invites the contributor to reopen once they qualify, so the door stays open.
Finally, because much of this traffic now arrives through coding agents acting on a contributor's behalf, the rule is placed where those agents will actually read it. AGENTS.md (and its CLAUDE.md symlink) gains a short, high-priority note pointing at the new section, so an agent is told to satisfy the gate before it opens a PR. Addressing the problem at its most common source is more effective than catching it only at review time.
How
The guidance lives in a single new First contributions section near the top of CONTRIBUTING.md, so a newcomer meets it before the bug-report and feature-request instructions rather than after them. It is framed throughout as how to make your first contribution land, echoing the welcoming tone of AI_POLICY.md, instead of as a list of prohibitions. The existing carve-out for typo and documentation fixes is preserved, so the lowest-risk, highest-goodwill contributions stay frictionless. The section links to AI_POLICY.md rather than restating it, keeping the accepted-issue requirement defined in one place.
What changed