Reorganize CONTRIBUTING.md for better clarity

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 <noreply@anthropic.com>
This commit is contained in:
Vinta Chen 2026-01-11 23:03:51 +08:00
parent 163dab27ef
commit 5e8a25e57e
No known key found for this signature in database
GPG Key ID: B93DE4F003C33630

View File

@ -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