oras-project/oras-go - Open Source PR Review Scorecard

ORAS Go library

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

External PR Merge Rate: 54%

Response Time: 14h

First Timer Success: 100%

Frequently Asked Questions

Is oras-project/oras-go welcoming to first-time open-source contributors?

oras-project/oras-go has a recorded first-timer success rate of 100.0%. 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 oras-project/oras-go respond to incoming external pull requests in approximately 14.5 hours on average. Keeping PRs focused on single tasks and ensuring tests pass helps maintainers review faster.

What does the 60.1 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 60.1 places oras-project/oras-go in the A tier.

What is the external contributor pull request merge rate for oras-project/oras-go?

The external contributor pull request merge rate for oras-project/oras-go is 54.1%, based on public PR activity from non-core contributors.

Are there Good First Issues available in oras-project/oras-go?

oras-project/oras-go currently has 2 active issue(s) tagged with beginner-friendly labels like "good first issue", "beginner", or "up-for-grabs".

oras-project
oras-project/oras-goAWelcoming284
GitHub
Back to Explorer
oras-project

oras-project/oras-go

284
AWelcoming(60/100)Go

ORAS Go library

Compare
Jump to:

AI Maintainer Review Guidelines

Review Persona

Constructive Code Reviewer

Warmth Score
7.4/10
Patience Score
7.8/10
Nitpick Rate
33%

Balanced & professional review environment in oras-project/oras-go. Maintains strict focus on technical quality and test standards.

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
14 hours
Standard maintainer review cycle

Average Response Latency

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

Merge Efficiency
54.1%
Moderate PR acceptance rate

External Acceptance Rate

Percentage of community pull requests successfully merged into main.

First-Timer Success
100.0%
Strong first-timer PR acceptance rate

First PR Conversion

Rate at which developers submitting their first repository PR succeed.

Active Maintainers
26 core
Highly collaborative maintainer core
Diagnostic Health HUD
54.1%
Merge Gauge
100.0%
1st-Timer
Community Vibe71/100

Embed C-Rank Badge

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

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

Active Good First Issues (5)

View on GitHub

What Five of the six workflows declare no permissions block, so each one runs with whatever the repository default grants. That default is currently write: $ gh api repos/oras-project/oras-go/actions/permissions/workflow {"default_workflow_permissions":"write","can_approve_pull_request_reviews":true} So build, codeql-analysis, lint, release and stale each receive a GITHUB_TOKEN with write access to every scope — contents, issues, pull requests, packages — regardless of what they actually do. lint.yml, for example, hands a repo-writable token to a third-party linter action for a job whose only output is a pass/fail. Workflow Today Needs build.yml (none — write all) contents: read lint.yml (none — write all) contents: read codeql-analysis.yml (none — write all) contents: read, security-events: write release.yml (none — write all) contents: write stale.yml (none — write all) issues: write, pull-requests: write license-checker.yml contents: write, pull-reques

📅 Opened Aug 24, 2026💬 1 comment
Quality: 90/100Contribute

What ErrReferrersCapabilityAlreadySet in registry/remote/referrers.go is exported but never returned by anything in the tree: $ git grep -n ErrReferrersCapabilityAlreadySet -- '*.go' registry/remote/referrers.go:52: ErrReferrersCapabilityAlreadySet = errors.New(...) SetReferrersCapability silently ignores a conflicting set rather than reporting one, and the error's own doc comment describes it as "reserved to signal" — dead public surface. v3 is the moment to drop it rather than carry it for the life of the major release. Proposed change Delete the ErrReferrersCapabilityAlreadySet var from registry/remote/referrers.go. Reword the SetReferrersCapability doc comment in registry/remote/repository.go so the no-op-on-conflict behaviour reads as deliberate instead of as an oversight, and point callers at ReferrersCapability to read back the effective value. Why the signature should stay as it is The obvious companion change would be restoring an error return on SetReferrersCapability so

📅 Opened Aug 21, 2026💬 0 comments
Quality: 90/100Contribute

What buildMirrorRepositories in registry/remote/builder.go is at 14.3% statement coverage (2 of 14). Only the empty-mirrors guard is exercised: if len(props.Mirrors) == 0 { return nil, nil } Everything after that — the per-mirror loop that assembles mirrorProps, calls builder.Build, constructs the Registry, applies the PullFromMirror default, and appends the result — is untested. Why it matters This function is what turns declarative mirror configuration into the Repository instances that pulls are actually routed through. Two behaviors in particular are load-bearing and currently unpinned: An empty PullFromMirror must default to PullFromMirrorAll. Silently defaulting the other way would send traffic somewhere unintended. A mirror whose client fails to build must return a wrapped error naming the offending m.Location. Without that, a misconfigured mirror is very hard to diagnose. What to do Add tests to registry/remote/mirror_test.go. Suggested cases: 1. Multiple mirrors, hap

📅 Opened Aug 15, 2026💬 1 comment
Quality: 90/100Contribute

What Add a runnable example_test.go to registry/remote/retry documenting the package's public API on pkg.go.dev. Why Nearly every other public package in the module ships godoc examples: content/example_test.go, content/cache/example_test.go, content/file/example_test.go registry/example_test.go, registry/remote/example_test.go registry/remote/auth/example_test.go, registry/remote/config/example_test.go, registry/remote/credentials/example_test.go, registry/remote/policy/example_test.go, registry/remote/properties/example_test.go, registry/remote/signature/example_test.go registry/remote/retry has none, so its pkg.go.dev page shows no usage guidance even though configuring retry behavior is a common thing users need to do. Scope Create registry/remote/retry/example_test.go in package retry_test (external test package, so the examples read as real consumer code), with the standard ORAS Apache-2.0 license header. Suggested examples covering the exported surface: ExampleNewClient — t

📅 Opened Aug 15, 2026💬 0 comments

Description All GitHub Actions workflows in this repo pin their actions to a full commit SHA with a trailing version comment — except .github/workflows/lint.yml, which still uses floating tags. https://github.com/oras-project/oras-go/blob/main/.github/workflows/lint.yml Current state on main: Workflow Pinned to digest? build.yml ✅ codeql-analysis.yml ✅ license-checker.yml ✅ release.yml ✅ stale.yml ✅ lint.yml ❌ - name: Checkout uses: actions/checkout@v7 - name: Set up Go uses: actions/setup-go@v7 - name: Run golangci-lint uses: golangci/golangci-lint-action@v9 Why this matters Git tags are mutable. Anyone who can push to the action's repo (or anyone who compromises it) can move v7 to point at different code, and it will silently run in our CI with whatever token permissions the job has. Pinning to an immutable commit SHA is the standard mitigation, and it's what OpenSSF Scorecard's Pinned-Dependencies check and

📅 Opened Aug 15, 2026💬 0 comments
Looking for more Go beginner tasks?Explore Go 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 oras-project/oras-go

When evaluating whether to contribute to oras-project/oras-go, 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 oras-project/oras-go acknowledge new external contributions in approximately 14 hours. Out of all submitted pull requests from non-core authors in the last 180-day window, 54.1% were successfully merged into the primary branch.

Frequently Asked Questions - Contributing to oras-project/oras-go

01

Is oras-project/oras-go welcoming to first-time open-source contributors?

oras-project/oras-go has a recorded first-timer success rate of 100.0%. 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 ~14 hours. Keeping PRs scoped to single concerns and ensuring CI checks succeed will optimize review turnaround.

03

What does the 60.1 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 60.1 places oras-project/oras-go in the Welcoming tier.

04

What is the external contributor pull request merge rate for oras-project/oras-go?

The external pull request merge rate is 54.1%. 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 oras-project/oras-go?

Yes, oras-project/oras-go currently has 2 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 oras-project/oras-go 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.