ipfs/kubo - Open Source PR Review Scorecard

IPFS implementation in Go: a daemon that stores and serves content-addressed data, with a CLI, HTTP Gateway, and RPC API

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

External PR Merge Rate: 80%

Response Time: 5d

First Timer Success: 60%

Frequently Asked Questions

Is ipfs/kubo welcoming to first-time open-source contributors?

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

What does the 59.5 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 59.5 places ipfs/kubo in the A tier.

What is the external contributor pull request merge rate for ipfs/kubo?

The external contributor pull request merge rate for ipfs/kubo is 79.6%, based on public PR activity from non-core contributors.

Are there Good First Issues available in ipfs/kubo?

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

ipfs
ipfs/kuboA•Welcoming17.1k
GitHub
Back to Explorer
ipfs

ipfs/kubo

17,147
InactiveA•Welcoming(60/100)Go

IPFS implementation in Go: a daemon that stores and serves content-addressed data, with a CLI, HTTP Gateway, and RPC API

GitHub
Compare••
Jump to:

AI Maintainer Review Guidelines

Review Persona

Active Open-Source Mentor

Warmth Score
7.8/10
Patience Score
8.2/10
Nitpick Rate
25%

Responsive & active maintainer team in ipfs/kubo. Reviews pull requests with focus on project architectural goals.

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
4 days+
Standard maintainer review cycle

Average Response Latency

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

Merge Efficiency
79.6%
High acceptance rate for external PRs

External Acceptance Rate

Percentage of community pull requests successfully merged into main.

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

First PR Conversion

Rate at which developers submitting their first repository PR succeed.

Active Maintainers
14 core
Highly collaborative maintainer core
Diagnostic Health HUD
79.6%
Merge Gauge
60.0%
1st-Timer
Community Vibe50/100

Embed C-Rank Badge

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

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

Active Good First Issues (2)

View on GitHub

Context. I resolve "delegated" IPNS chains where one IPNS record points to another IPNS name before reaching content: /ipns/An → /ipns/Mn → /ipfs/<cid>. This keeps an owner key (An) offline while an online delegate re-signs the inner record (Mn). The final content is signed by the terminal key Mn, not by An. Problem. When loading this over an untrusted gateway, the final content alone is not enough — I must independently verify each hop's signed IPNS record to bind An → … → Mn (otherwise a malicious gateway could serve content under any key and claim it is An's resolution). Today a plain GET /ipns/An makes the gateway recurse internally and returns only the final content; the intermediate signed IPNS records are discarded and exposed in no response header (X-Ipfs-Path / X-Ipfs-Roots only carry the final CID — verified empirically on a 2-hop and a 3-hop chain). So trustless verification currently requires one extra GET /ipns/<name>?format=ipns-record per hop, sequentially

📅 Opened Jun 7, 2026💬 1 comment
Quality: 30/100Contribute

Go 1.26 ships an experimental goroutine leak profiler (GOEXPERIMENT=goroutineleakprofile). It detects goroutines blocked on channels, mutexes, or conditions that can never unblock, using GC reachability analysis. Zero runtime overhead unless actively collecting. Available at /debug/pprof/goroutineleak when enabled. Proposal Once 1.27 ships with it enabled by default: Add a goroutine-leak collector to ipfs diag profile --collectors (gated on the experiment being available at runtime) Expose it via the existing /debug/pprof/ endpoint on the API port This would help diagnose daemon goroutine leaks without external tooling. Useful for long-running nodes where leaked goroutines accumulate over time. References https://go.dev/doc/go1.26#goroutineleak-profiles runtime/pprof goroutineleak profile Expected to be enabled by default in Go 1.27

📅 Opened Feb 10, 2026💬 4 comments
Quality: 30/100Contribute
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 ipfs/kubo

When evaluating whether to contribute to ipfs/kubo, 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 ipfs/kubo acknowledge new external contributions in approximately 4 days+. Out of all submitted pull requests from non-core authors in the last 180-day window, 79.6% were successfully merged into the primary branch.

Frequently Asked Questions - Contributing to ipfs/kubo

01

Is ipfs/kubo welcoming to first-time open-source contributors?

ipfs/kubo has a recorded first-timer success rate of 60.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 ~4 days+. Keeping PRs scoped to single concerns and ensuring CI checks succeed will optimize review turnaround.

03

What does the 59.5 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 59.5 places ipfs/kubo in the Welcoming tier.

04

What is the external contributor pull request merge rate for ipfs/kubo?

The external pull request merge rate is 79.6%. 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 ipfs/kubo?

Yes, ipfs/kubo 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 ipfs/kubo 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.