Back to browse
GitHub Repository

Discover meaningful patches hiding in GitHub forks

8 starsGo

Forkwatch – Discover meaningful patches hiding in GitHub forks

by stympy·Feb 13, 2026·3 points·2 comments

AI Analysis

●●●BangerBig BrainSolve My ProblemZero to One

Finds unmade PRs by detecting when multiple forks patch the same code identically.

Strengths
  • Novel angle: convergence-as-signal is clever, not obvious, solves real maintainer blind spot.
  • Practical output formats (JSON, patches, CLI) make it immediately actionable, not just informational.
  • Lean, focused scope—does one thing well without scope creep or feature bloat.
Weaknesses
  • Early stage: 5 stars, no releases published, tiny user base means unproven at scale.
  • GitHub API rate limits and fork analysis cost could become bottleneck for large repos.
Target Audience

Open source maintainers, library authors, repository owners

Similar To

Dependabot (detects stale deps but doesn't surface fork patterns) · Conventional commit tools (mine patterns but from PRs, not forks)

Post Description

Hey HN,

I had Claude build a CLI tool that analyzes GitHub forks to surface changes that haven't been submitted as PRs.

The core idea is convergence: when multiple independent forks touch the same file and make the same change, that's a strong signal something needs fixing upstream.

Example: I ran forkwatch against a Ruby API client library and found 11 independent forks all upgrading the same stale dependency. 4 of them made byte-for-byte identical changes to another file.

$ forkwatch analyze maximadeka/convertkit-ruby

convertkit-ruby.gemspec (11 forks converge here)

WebinarGeek +1 -2 — Change gitspec faraday version - spec.add_runtime_dependency "faraday", "~> 1.0" - spec.add_runtime_dependency "faraday_middleware", "~> 1.0" + spec.add_runtime_dependency "faraday", '>= 2.0' ...

lib/convertkit/connection.rb (4 forks converge here)

Most common change pattern: require "faraday" -require "faraday_middleware" require "json" WebinarGeek, chaiandconversation, alexbndk, excid3

It filters out noise (dependabot, lock files, CI config), groups forks by files changed, and deduplicates identical patches. There's a --json flag for scripting/AI and a --patch flag that outputs a unified diff you can pipe to git apply.

Uses the GitHub CLI for auth and one API call per fork. Written in Go.

https://github.com/stympy/forkwatch

Similar Projects