ossperks check
Automatically check whether your repository qualifies for OSS perk programs.
Usage
ossperks check [options]Alias: ossperks ck
Run this from inside any Git repository. No arguments or tokens required for public repos.
Options
| Flag | Description |
|---|---|
--repo <owner/repo> | Explicitly specify a repository (e.g. vercel/next.js) |
--provider <provider> | Git provider: github, gitlab, codeberg, or gitea (default: github) |
-p, --program <id> | Check against a specific program only (e.g. --program vercel) |
-i, --interactive | Pick programs interactively (grouped by category; TTY only, not with --json or --program) |
--json | Output raw JSON |
-h, --help | Show help |
How it works
ossperks check runs fully automatically:
ossperks check
│
▼
Read package.json (repository field)
│ ← not found?
▼
Read .git/config (remote.origin.url)
│
▼
Detect provider (github.com / gitlab.com / codeberg.org / gitea.com)
│
├─ GitHub → GET /repos/:owner/:repo
├─ GitLab → GET /api/v4/projects/:id
├─ Codeberg → GET /api/v1/repos/:owner/:repo
└─ Gitea → GET /api/v1/repos/:owner/:repo
│
▼
RepoContext (stars, license, age, activity...)
│
▼
Match eligibility rules for every program
│
▼
Print resultsRepository detection
When --repo is not specified, the tool reads your repo URL from one of two places, in order:
repositoryfield inpackage.jsonremote.origin.urlin.git/config
GitHub, GitLab, Codeberg, and Gitea HTTPS / SSH URL formats are supported.
Eligibility matching
Eligibility strings are natural-language rules like:
"Must be an open-source project"→ checks for an OSI-approved license"Must have at least 100 GitHub stars"→ checksstars >= 100"Project must be at least 3 months old"→ checks repo age"Must be actively maintained"→ checks for recent commits
The matching is heuristic — it parses thresholds and keywords from the rule text. Borderline cases are flagged as ? (unknown) rather than a hard fail.
Examples
# Check all programs from your current repo
ossperks check
# Check a specific repo without being inside it
ossperks check --repo vercel/next.js
# Check a GitLab project
ossperks check --repo group/project --provider gitlab
# Check a specific program only
ossperks check --program vercel
# Interactively choose which programs to check (terminal UI)
ossperks check --interactive
# JSON output for scripting
ossperks check --jsonOutput
✅ my-project — MIT · 412 stars · last push 3 days ago
Eligibility across 48 programs — 12 eligible, 8 need review, 28 ineligible
✅ Vercel for Open Source Likely eligible — open source project
✅ Netlify Open Source Plan Likely eligible — open source project
⚠️ GitHub Copilot Pro for Open Source Maintainers Needs review — manual review required
❌ DigitalOcean Open Source Credits Likely ineligible — not enough GitHub starsStatuses:
- ✅ Likely eligible — all parsed eligibility rules matched
- ⚠️ Needs review — at least one rule could not be auto-evaluated
- ❌ Likely ineligible — one or more rules clearly do not match
Always verify against the program's official page before applying.