seerr-team/seerr - Open Source PR Review Scorecard

Open-source media request and discovery manager for Jellyfin, Plex, and Emby.

C-Rank Grade: A (Welcoming) - 57/100

External PR Merge Rate: 41%

Response Time: 16h

First Timer Success: 13%

Frequently Asked Questions

Is seerr-team/seerr welcoming to first-time open-source contributors?

seerr-team/seerr has a recorded first-timer success rate of 12.5%. Repositories ranked A typically provide actionable feedback during code reviews and actively nurture new community contributors.

How fast can I expect code review feedback on my pull request?

Maintainers in seerr-team/seerr respond to incoming external pull requests in approximately 16.1 hours on average. Keeping PRs focused on single tasks and ensuring tests pass helps maintainers review faster.

What does the 56.8 C-Rank™ score (A Tier) represent?

The C-Rank™ system evaluates GitHub projects on a 0–100 scale using real data: PR merge rates, review turnaround time, active maintainer presence, and first-time contributor success. A score of 56.8 places seerr-team/seerr in the A tier.

What is the external contributor pull request merge rate for seerr-team/seerr?

The external contributor pull request merge rate for seerr-team/seerr is 41.3%, based on public PR activity from non-core contributors.

Are there Good First Issues available in seerr-team/seerr?

seerr-team/seerr currently has 3 active issue(s) tagged with beginner-friendly labels like "good first issue", "beginner", or "up-for-grabs".

seerr-team
seerr-team/seerrA•Welcoming12.9k
GitHub
Back to Explorer
seerr-team

seerr-team/seerr

12,859
Active (30d)A•Welcoming(57/100)TypeScript

Open-source media request and discovery manager for Jellyfin, Plex, and Emby.

GitHub
Compare••
Jump to:

AI Maintainer Review Guidelines

Review Persona

High-Friction Gatekeeper

Warmth Score
5.0/10
Patience Score
6.0/10
Nitpick Rate
65%

Rigorous architecture standards (100% critical review signals). Ensure PRs strictly follow guidelines before requesting review in seerr-team/seerr.

Top PR Submission Do's

  • •Add unit tests with >80% coverage for modified code paths
  • •Use conventional commit messages and clean branch names
  • •Link relevant GitHub issue ID in PR description pre-flight checklist

Top PR Friction Pitfalls (Don'ts)

  • •Do not submit unlinked PRs without referencing an existing issue
  • •Do not mix refactoring and feature logic into a single commit
  • •Do not ping maintainers repeatedly within 24 hours of opening
Response Velocity
16 hours
Standard maintainer review cycle

Average Response Latency

Tracks hours until a maintainer leaves a review, comment, or PR response.

Merge Efficiency
41.3%
Moderate PR acceptance rate

External Acceptance Rate

Percentage of community pull requests successfully merged into main.

First-Timer Success
12.5%
Accepts new contributor PRs

First PR Conversion

Rate at which developers submitting their first repository PR succeed.

Active Maintainers
81 core
Highly collaborative maintainer core
Diagnostic Health HUD
41.3%
Merge Gauge
12.5%
1st-Timer
Community Vibe38/100

Embed C-Rank Badge

Show contributors that your repository actively reviews and merges external pull requests.

GetMerged C-Rank badge for seerr-team/seerr
[![GetMerged C-Rank](https://getmerged.abhishekco.de/api/badge/seerr-team/seerr)](https://getmerged.abhishekco.de/seerr-team/seerr?utm_source=github&utm_medium=badge)

Active Good First Issues (5)

View on GitHub

Description When a user hits their movie or TV quota, the request is rejected outright. MediaRequest.request() throws QuotaRestrictedError (server/entity/MediaRequest.ts, ~lines 150–166), which the route maps to a 403. Nothing is created, so an admin never sees it and the user has no way to ask for an exception. The only bypass is ignoreQuota, which requires MANAGE_REQUESTS and is an admin action. Users who are over quota but have a legitimate need can't ask for approval. Desired Behavior When a non-admin user exceeds their quota, instead of a 403, create the request in PENDING status with a flag (for example quotaExceeded: true) so it: shows in the pending queue with a visible "over quota" badge, is approved through the existing flow, which then bypasses the quota check for that request. The frontend would show "Over quota. Submit for approval?" in place of the error. Quotas are a reasonable default, but a hard stop with no path forward means users either ask an admin out of band

📅 Opened Oct 5, 2026💬 0 comments
Quality: 50/100Contribute

Description GET /avatarproxy/:jellyfinUserId never sends a response when the path parameter fails the 32-hex validation check. The request hangs until the client or an upstream proxy times out. In server/routes/avatarproxy.ts, the handler throws when the parameter does not match /^[a-f0-9]{32}$/, and the catch block logs the error but never calls res: } catch (e) { logger.error('Failed to proxy avatar image', { errorMessage: e.message, }); } Since nothing is sent and next(e) is not called, Express keeps the request open indefinitely. The route is mounted outside /api/v1 (server/index.ts), so it is not covered by the OpenAPI validator and requires no authentication — an unauthenticated request can hold a server connection open with no rate limit. Behind a reverse proxy this surfaces as a gateway timeout (Cloudflare returns 524 after 100s). Still present on develop as of this report. Suggested fix Send a response on the error path, e.g.: } catch (e) { logger.error('Failed to

📅 Opened Sep 8, 2026💬 2 comments
Quality: 90/100Contribute

Description Currently all calls to external services are made with the default 'axios' user agent. Good practice would be to use a Seerr specific user agent. Desired Behavior user-agent header added to all Axios.Create calls or via an interceptor Additional Context No response Search Existing Issues Yes, I have searched existing issues. Code of Conduct I agree to follow Seerr's Code of Conduct

📅 Opened Aug 13, 2026💬 2 comments
Quality: 90/100Contribute

Description The ability to choose a discussion thread for each type of notification. Desired Behavior Improve the Discord notification agent so that it can send messages in thread. Like Mee6 Bot. Additional Context No response Search Existing Issues Yes, I have searched existing issues. Code of Conduct I agree to follow Seerr's Code of Conduct

📅 Opened Mar 18, 2026💬 6 comments
Quality: 45/100Contribute

Description The current API key is tied to the first/root user account. This means any integration (bots, scripts, automation) that calls the API acts with admin-level identity, and there's no way to scope or audit API access per user. Rotating the key also affects all integrations at once. Desired Behavior Allow each user to generate their own personal API key from their profile settings. The key would act on behalf of that user — respecting their role and permissions — rather than always acting as admin. Admin users could optionally view/revoke all personal keys Additional Context No response Search Existing Issues Yes, I have searched existing issues. Code of Conduct I agree to follow Seerr's Code of Conduct

📅 Opened Feb 26, 2026💬 12 comments
Quality: 45/100Contribute
Looking for more TypeScript beginner tasks?Explore TypeScript GFI

Contributor Community Vibe Feedback

Rate what actually matters after opening a pull request here.

Have you contributed to this repo?

Rate your first-hand PR experience (review speed, maintainer responsiveness, and onboarding ease) to help other contributors.

3 ratings required
Maintainer helpfulness
Review speed
Beginner friendliness

Contributor Compatibility & Review Speed Analysis for seerr-team/seerr

When evaluating whether to contribute to seerr-team/seerr, response velocity and maintainer engagement are crucial. GetMerged continuously tracks pull request trajectories, first-comment latency, and code review rounds to help developers avoid submitting pull requests to backlogged repositories.

Currently, maintainers of seerr-team/seerr acknowledge new external contributions in approximately 16 hours. Out of all submitted pull requests from non-core authors in the last 180-day window, 41.3% were successfully merged into the primary branch.

Frequently Asked Questions - Contributing to seerr-team/seerr

01

Is seerr-team/seerr welcoming to first-time open-source contributors?

seerr-team/seerr has a recorded first-timer success rate of 12.5%. Repositories ranked Welcoming typically provide actionable feedback during code reviews and actively nurture new community contributors.

02

How fast can I expect code review feedback on my pull request?

The initial maintainer response time averages ~16 hours. Keeping PRs scoped to single concerns and ensuring CI checks succeed will optimize review turnaround.

03

What does the 56.8 C-Rank™ score represent?

The C-Rank™ index scores repositories on a 0 to 100 scale using an objective formula: external PR merge rates, initial response speed, active maintainer count, and first-time contributor retention. A score of 56.8 places seerr-team/seerr in the Welcoming tier.

04

What is the external contributor pull request merge rate for seerr-team/seerr?

The external pull request merge rate is 41.3%. GetMerged isolates non-core community contributions so external developers get an accurate benchmark of PR acceptance probability.

05

Are there beginner Good First Issues open in seerr-team/seerr?

Yes, seerr-team/seerr currently has 3 active issue(s) tagged with beginner-friendly labels. You can inspect these directly from the repository issues tab.

GetMerged C-Rank™ Indexing Standard

All metrics displayed for seerr-team/seerr are automatically retrieved via the public GitHub API and recalculated daily. Insider pull requests submitted by repository owners or organization members are excluded from merge rate calculations to preserve objective external contributor statistics.