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 вашего репозитория из одного из двух мест, по порядку:
- Поле
repositoryвpackage.json 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Статусы:
- ✅ Вероятно подходит — все проанализированные правила соответствия выполнены
- ⚠️ Требует проверки — хотя бы одно правило не удалось оценить автоматически
- ❌ Вероятно не подходит — одно или несколько правил явно не выполнены
Всегда проверяйте официальную страницу программы перед подачей заявки.