From 5e8a25e57e9b3b47b4b5bca5951cfdb7a884ca19 Mon Sep 17 00:00:00 2001 From: Vinta Chen Date: Sun, 11 Jan 2026 23:03:51 +0800 Subject: [PATCH] Reorganize CONTRIBUTING.md for better clarity MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move "Automatic Rejection" section to top of document as first-line filter for reviewers. Consolidate duplicate rejection criteria from "Common Mistakes" and bottom "Automatic Rejection" sections into single comprehensive list. Reorder remaining sections in logical flow: rejections, quality requirements, acceptance criteria, format reference, review process. 🤖 Generated with Claude Code (https://claude.ai/code) Co-Authored-By: Claude --- CONTRIBUTING.md | 71 +++++++++++++++++-------------------------------- 1 file changed, 24 insertions(+), 47 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f9feac7b..d5dd034b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,16 +1,28 @@ # Contributing -## Quick Checklist +## Automatic Rejection -Before submitting a PR, verify: +PRs will be **closed** if: -- [ ] One link per Pull Request -- [ ] PR title format: `Add project-name` -- [ ] Entry format: `* [project-name](url) - A short description ending with a period.` -- [ ] Description is concise (one sentence) -- [ ] Placed in the appropriate category/subcategory -- [ ] No trailing whitespace -- [ ] Spelling and grammar checked +- Adding multiple projects in one PR +- Duplicate of existing entry or recently-closed PR +- Empty or placeholder PR descriptions +- Placed under an inappropriate category +- Project is archived or abandoned (no commits in 12+ months) +- No documentation or unclear use case +- Less than 100 GitHub stars without Hidden Gem justification +- Repository less than 3 months old + +## Quality Requirements + +All submissions must satisfy **ALL** of these: + +1. **Python-first**: Primarily written in Python (>50% of codebase) +2. **Active**: Commits within the last 12 months +3. **Stable**: Production-ready, not alpha/beta/experimental +4. **Documented**: Clear README with examples and use cases +5. **Unique**: Adds distinct value, not "yet another X" +6. **Established**: Repository at least 1 month old ## Acceptance Criteria @@ -31,21 +43,13 @@ Your submission must meet **ONE** of the following criteria: ### 3. Hidden Gem -- Exceptional quality despite fewer stars (may have <500 stars) +- Exceptional quality despite fewer stars (100-500 stars preferred; < 100 requires strong justification) - Solves niche problems elegantly - Strong recommendation from experienced developers +- **Must demonstrate real-world usage** (not a project published last week) +- Repository must be at least 6 months old with consistent activity - Must include compelling justification in PR description -## Quality Requirements - -All submissions must satisfy **ALL** of these: - -1. **Python-first**: Primarily written in Python (>50% of codebase) -2. **Active**: Commits within the last 12 months -3. **Stable**: Production-ready, not alpha/beta/experimental -4. **Documented**: Clear README with examples and use cases -5. **Unique**: Adds distinct value, not "yet another X" - ## Entry Format Reference ### Standard Entry @@ -82,26 +86,10 @@ All submissions must satisfy **ALL** of these: ## Adding a New Section -If adding a new category: - 1. Add section description in italics: `*Libraries for doing X.*` 2. Add the section title to the Table of Contents 3. Keep sections in alphabetical order -## PR Description Template - -Please include the following in your PR description: - -``` -## Why This Project Is Awesome - -[Explain which criterion it meets: Industry Standard / Rising Star / Hidden Gem] - -## How It Differs - -[If similar entries exist, explain what makes this one unique] -``` - ## Review Process PRs are reviewed by automated tools and maintainers: @@ -113,14 +101,3 @@ PRs are reviewed by automated tools and maintainers: 5. **Quality Check**: Meets acceptance criteria Search previous Pull Requests and Issues before submitting, as yours may be a duplicate. - -## Automatic Rejection - -PRs will be **closed** if: - -- Add more than one project per PR -- Duplicate of existing entry -- Placed under an inappropriate category -- Project is archived or abandoned (no commits in 12+ months) -- No documentation or unclear use case -- Less than 100 GitHub stars AND not justified as a hidden gem