OSS Perks

ossperks check

Автоматически проверьте, соответствует ли ваш репозиторий требованиям программ льгот для открытого ПО.

Использование

ossperks check [параметры]

Псевдоним: ossperks ck

Запустите это из любого Git-репозитория. Для публичных репозиториев не требуются аргументы или токены.

Параметры

ФлагОписание
--repo <owner/repo>Явно указать репозиторий (например, vercel/next.js)
--provider <provider>Git-провайдер: github, gitlab, codeberg или gitea (по умолчанию: github)
-p, --program <id>Проверить только конкретную программу (например, --program vercel)
-i, --interactiveВыбрать программы интерактивно (сгруппированы по категориям; только TTY, не с --json или --program)
--jsonВывести необработанный JSON
-h, --helpПоказать справку

Как это работает

ossperks check работает полностью автоматически:

ossperks check


Чтение package.json (поле repository)
      │  ← не найдено?

Чтение .git/config (remote.origin.url)


Определение провайдера (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 (звёзды, лицензия, возраст, активность...)


Сопоставление правил соответствия для каждой программы


Вывод результатов

Определение репозитория

Когда --repo не указан, инструмент читает URL вашего репозитория из одного из двух мест, по порядку:

  1. Поле repository в package.json
  2. remote.origin.url в .git/config

Поддерживаются форматы HTTPS / SSH URL для GitHub, GitLab, Codeberg и Gitea.

Проверка приемлемости

Условия приемлемости — это правила на естественном языке, например:

  • "Must be an open-source project" → проверяет наличие лицензии, одобренной OSI
  • "Must have at least 100 GitHub stars" → проверяет условие stars >= 100
  • "Project must be at least 3 months old" → проверяет возраст репозитория
  • "Must be actively maintained" → проверяет наличие недавних коммитов

Сопоставление основано на эвристике — алгоритм извлекает пороговые значения и ключевые слова из текста правила. Пограничные случаи помечаются как ? (неизвестно), а не как жёсткий отказ.

Примеры


# Проверить все программы для текущего репозитория

ossperks check

# Проверить конкретный репозиторий, не находясь внутри него

ossperks check --repo vercel/next.js

# Проверить проект GitLab

ossperks check --repo group/project --provider gitlab

# Проверить только для конкретной программы

ossperks check --program vercel

# Интерактивный выбор программ для проверки (интерфейс терминала)

ossperks check --interactive

# Вывод JSON для написания скриптов

ossperks check --json

Вывод

✅ my-project — MIT · 412 звёзд · последний push 3 дня назад

Соответствие требованиям 48 программ — 12 подходят, 8 требуют проверки, 28 не подходят

  ✅  Vercel for Open Source                         Вероятно подходит — проект с открытым исходным кодом
  ✅  Netlify Open Source Plan                      Вероятно подходит — проект с открытым исходным кодом
  ⚠️  GitHub Copilot Pro for Open Source Maintainers Требует проверки — необходима ручная проверка
  ❌  DigitalOcean Open Source Credits             Вероятно не подходит — недостаточно звёзд на GitHub

Статусы:

  • ✅ Вероятно подходит — все проанализированные правила соответствия выполнены
  • ⚠️ Требует проверки — хотя бы одно правило не удалось оценить автоматически
  • ❌ Вероятно не подходит — одно или несколько правил явно не выполнены

Всегда проверяйте официальную страницу программы перед подачей заявки.

On this page