You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+94-1Lines changed: 94 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,7 +53,21 @@ Found a bug? Check the [GitHub Issues](https://github.com/DialmasterOrg/Youtarr/
53
53
- Relevant logs or screenshots
54
54
55
55
### New Features
56
-
Have an idea for a new feature? Open an issue to discuss it before starting development. This helps ensure the feature aligns with the project's direction and prevents duplicate work.
56
+
57
+
Have an idea for a new feature? **Open an issue to discuss it before starting development.** This is especially important for:
58
+
59
+
- Features requiring more than ~1,000 lines of code
60
+
- Changes to the build system, testing framework, or core architecture
61
+
- UI/UX redesigns or navigation changes
62
+
- New dependencies or third-party integrations
63
+
64
+
Why discuss first?
65
+
- Ensures the feature aligns with the project direction
66
+
- Prevents duplicate work
67
+
- Allows the maintainer to suggest the best approach
68
+
- Avoids investing time in changes that may not be accepted
69
+
70
+
For small, obvious improvements (typo fixes, minor bug fixes), feel free to submit a PR directly.
57
71
58
72
### Documentation Improvements
59
73
Documentation is crucial for user adoption. Contributions that improve clarity, fix errors, or add missing information are highly valued. This includes:
@@ -222,18 +236,73 @@ fix/zzz ──────┘
222
236
- Modified setup/installation steps
223
237
- Changed environment variables
224
238
239
+
### PR Scope and Size Guidelines
240
+
241
+
**Keep PRs focused and reviewable.** Large PRs are difficult to review and risky to merge. Follow these guidelines:
242
+
243
+
#### Size Limits
244
+
-**Target: Under 1,000 lines changed** (excluding generated files, lock files)
245
+
-**Hard limit: 25 files** - PRs touching more than 25 files need prior discussion
246
+
-**One feature per PR** - Don't bundle unrelated changes
247
+
248
+
#### PR Requirements (Non-Negotiable)
249
+
250
+
These are hard requirements for all PRs:
251
+
252
+
-**No merge conflicts** - Rebase your branch on the latest `dev` before submitting
253
+
-**CI must pass** - All automated checks must be green (linting, tests, type checking)
254
+
-**No bypassing checks** - Never use `--no-verify`, `test.skip()`, or comment out tests
255
+
-**Coverage maintained** - Don't delete tests without adding equivalent coverage
256
+
257
+
#### What Requires Prior Discussion
258
+
259
+
Open a GitHub issue or Discord discussion **before** starting work on:
260
+
261
+
| Change Type | Why Discuss First? |
262
+
|-------------|-------------------|
263
+
| Build system changes | Affects entire codebase |
264
+
| Testing framework changes | Affects all tests |
265
+
| Major dependencies | Long-term maintenance |
266
+
| Architecture changes | Affects future PRs |
267
+
| Large refactors | Risk of regressions |
268
+
269
+
#### Breaking Up Large Changes
270
+
271
+
If your feature requires many changes, split it into sequential PRs:
272
+
273
+
1.**Infrastructure PR** - Build/config changes only
0 commit comments