Claude Info
DevOps

GitHub Tech Scanner

claude-access/github-tech-scanner

Инструмент для инвентаризации технологического стека: сканирует доступные GitHub-репозитории через PAT и формирует отчёт по языкам и фреймворкам с процентами, счётчиками репозиториев и версиями. Работает как CLI-скрипт и как Claude Code skill.

Установка

terminal
bash
pip install -r requirements.txt

README

github-tech-scanner

Сканирует все активные GitHub-репозитории, доступные через Personal Access Token (PAT), и формирует полную инвентаризацию каждого языка и фреймворка в использовании — с количеством репозиториев, процентным соотношением байт и информацией о версиях там, где это доступно.

Работает как самостоятельный CLI-скрипт, так и как Claude Code skill.


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

Самостоятельный запуск

bash
pip install -r requirements.txt

python scripts/scan_repos.py --token <YOUR_PAT> --verbose

Флаги

ФлагПо умолчаниюОписание
--token, -t$GITHUB_TOKENGitHub Personal Access Token
--org, -o(все доступные)Ограничить сканирование конкретной организацией (например, my-company)
--active-days, -d365Включать только репозитории с пушем за указанное количество дней
--show-reposвыклПоказывать, какие репозитории используют каждый язык/фреймворк
--jsonвыклВыводить сырой JSON вместо форматированного отчёта
--verbose, -vвыклВыводить прогресс в stderr во время сканирования

Примеры

bash
# Сканировать всё, к чему есть доступ у токена
python scripts/scan_repos.py --token ghp_xxx --verbose

# Сканировать только одну организацию
python scripts/scan_repos.py --token ghp_xxx --org my-company

# Последние 6 месяцев, показать какие репозитории используют каждую технологию
python scripts/scan_repos.py --token ghp_xxx --active-days 180 --show-repos

# JSON-вывод для дальнейшей обработки
python scripts/scan_repos.py --token ghp_xxx --json | jq '.language_bytes'

Что обнаруживается

Языки

Использует нативный эндпоинт GitHub /repos/{owner}/{repo}/languages — возвращает количество байт на язык, которые агрегируются в проценты по всем активным репозиториям.

Фреймворки (через файлы манифестов)

ФайлОбнаруживаемые экосистемы
package.jsonReact, Vue, Angular, Next.js, Express, NestJS, Vite, Prisma, …
requirements.txtDjango, Flask, FastAPI, PyTorch, LangChain, Anthropic SDK, …
pyproject.tomlТо же, что выше (форматы PEP 621 и Poetry)
GemfileRails, Sinatra, Sidekiq, Devise, …
go.modGin, Echo, Fiber, GORM, Chi, …
pom.xmlSpring Boot, Quarkus, Hibernate, Kafka, …
build.gradleSpring Boot, Ktor, Micronaut, …
composer.jsonLaravel, Symfony, Doctrine, …
Cargo.tomlActix Web, Axum, Tokio, Tauri, Leptos, …
pubspec.yamlFlutter, Riverpod, Firebase, …

Пример вывода

============================================================ GitHub Tech Stack Report — @username ============================================================ Repos scanned: 42 active (of 87 total, active = pushed within 365 days) ── Languages ──────────────────────────────────────────── TypeScript 41.2% ████████ (18 repos) Python 28.5% █████ (12 repos) JavaScript 15.3% ███ (9 repos) ── Frameworks & Libraries ─────────────────────────────── React (11 repos) [18.1.0, 18.2.0] Django (6 repos) [4.2.0] Express (5 repos) ============================================================

Требования к токену

ЦельНеобходимые права
Только публичные репозиторииПрава не нужны
Приватные репозиторииrepo (классический PAT) или Contents: read + Metadata: read (тонко настроенный PAT)
Репозитории организацииТо же, что выше; токен должен быть авторизован для организации (SSO при необходимости)
Создание репозиториев в организацииrepo + write:org (классический PAT)

Создать токен можно по пути: GitHub → Settings → Developer settings → Personal access tokens


Использование как Claude Code skill

Репозиторий структурирован как Claude Code skill. Для установки поместите директорию в ~/.claude/skills/ — Claude Code подхватит её автоматически.


Лицензия

MIT — см. LICENSE.

Похожие скиллы