OSS Perks

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

FlagDescription
--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, --interactivePick programs interactively (grouped by category; TTY only, not with --json or --program)
--jsonOutput raw JSON
-h, --helpShow 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 results

Repository detection

When --repo is not specified, the tool reads your repo URL from one of two places, in order:

  1. repository field in package.json
  2. remote.origin.url in .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" → checks stars >= 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 --json

Output

✅ 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 stars

Statuses:

  • ✅ 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.

On this page