Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

contrib-screen

Before you spend an evening fixing an open-source issue, check whether someone already beat you to it. contrib-screen answers three questions about a GitHub issue in a few seconds:

  • Does an open, merged, or closed PR already reference it?
  • Is it assigned to someone?
  • Does the repo require a CLA you haven't signed?

Every check it runs is written to a local, append-only audit log, so the answer isn't "trust me" — it's a record of exactly what was checked and what was found.

No account, no config file, no dependency on any particular AI tool or vendor. It's a plain CLI that talks to the GitHub API.

Install

pip install .

(from a checkout of this repo — not yet published to PyPI)

Use

You need a GitHub token with public repo read access. If you already use the gh CLI and are logged in, contrib-screen picks that up automatically. Otherwise:

export GITHUB_TOKEN=ghp_...

Then:

contrib-screen screen facebook/react#12345
facebook/react#12345: CLEAR - no blocker found
logged to /home/you/.contrib-screen/log.jsonl

If you've already signed a specific org's CLA, tell it so that doesn't block you every time:

contrib-screen screen microsoft/vscode#999 --signed-org microsoft

For scripting, --json prints a single machine-readable record and the exit code is 0 for CLEAR, 1 for anything that needs a second look.

Finding something to work on

Two more subcommands, for going from "an org" to "a specific issue" in the first place, rather than checking an issue you already have:

contrib-screen index microsoft        # pulls issues, PRs, and comments
                                       # for every public repo in the org
                                       # into a local searchable index
contrib-screen search microsoft "flaky test"   # full-text search across
                                                # an already-indexed org

index accepts --repos react,vscode to scope to specific repos instead of the whole org, and --db to override where the index database lives. search takes --limit and --json for scripting. Neither replaces screen — index and search help you find a candidate issue; screen is still the check to run on it before you start work.

What it doesn't do

It doesn't read the issue for you, judge whether the fix is any good, or write the patch. It's the five-second check that should happen before any of that — by a human or an agent — not a replacement for either.

Known limitation

A "duplicate PR" hit comes from GitHub's cross-reference timeline, which also picks up PRs in other repositories that merely mention the issue (a changelog entry, a related bug report elsewhere). Treat a DUPLICATE verdict as "go look," not as an automatic skip — the audit log records the exact URL it found so that's a fast check.

License

MIT

About

Check whether an open-source issue already has a PR, an assignee, or a CLA requirement before you spend time on it.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages