🏠 Главная › user guide › github codebase inspection
{/ Эта страница автоматически активируется из инструментов SKILL.md с помощью сайта/scripts/generate-skill-docs.py. Редактируйте исходный SKILL.md, а не эту страницу. /}
Инспекция кодекционной базы
Инсп кодекционных баз с помощью pygount: LOC, языки, коэффициенты.
Метаданные навыки
Источник
Встроенный (устанавливается по умолчанию)
Путь
skills/github/codebase-inspection
Версия
1.0.0
Автор
Агент Гермес
Лицензия
Массачусетский технологический институт
Платформы
Linux, MacOS, Windows
Теги
LOC, Анализ кода, pygount, Кодовая база, Метрики, Репозиторий
приведено полное определение навыков, которые Hermes загружает при активации этого навыка ниже. Это то, что агент видит в качестве инструкций, когда навыки активны.
Инспекция кодовой базы с помощью pygount
Анализируйте репозитории количества строк кода, разбивки по месяцам, количества файлов, ссылок на код и комментариев с помощью pygount.
Когда использовать
Пользователь спрашивает количество LOC (строк кода)
Пользователь хочет разбить язык в репозиториях.
Пользователь интересуется оформлением или кодовой базой.
Пользователь хочет связать код и комментарии к коду.
ВАЖНО: Всегда используйте --folders-to-skip, чтобы предотвратить разделение каталогов зависимостей/сборок, иначе pygount будет сканировать их и может занять очень много времени или зависнуть.
2. Распространённые исключения папок
Настроить в зависимости от типа проекта:
# Python проекты
--folders-to-skip=".git,venv,.venv,__pycache__,.cache,dist,build,.tox,.eggs,.mypy_cache"# JavaScript/TypeScript проекты
--folders-to-skip=".git,node_modules,dist,build,.next,.cache,.turbo,coverage"# Общий универсальный
--folders-to-skip=".git,node_modules,venv,.venv,__pycache__,.cache,dist,build,.next,.tox,vendor,third_party"
3. Фильтрация по конкретному языку
# Только Python файлы
pygount--suffix=py--format=summary.
# Только Python и YAML
pygount--suffix=py,yaml,yml--format=summary.
4. Детальный вывод пофайлово
# Формат по умолчанию показывает разбивку по файлам
pygount--folders-to-skip=".git,node_modules,venv".
# Сортировка по строкам кода (через sort)
pygount--folders-to-skip=".git,node_modules,venv".|sort-t$'\t'-k1-nr|head-20
5. Форматы вывода
# Таблица-сводка (рекомендуется по умолчанию)
pygount--format=summary.
# JSON вывод для программного использования
pygount--format=json.
# Удобный для конвейеров: Язык, количество файлов, код, документация, пусто, строка
pygount--format=summary.2>/dev/null
6. Интерпретация результатов
Столбцы сводной таблицы:
- Язык — Обнаруженный язык программирования.
- Файлы — количество файлов на этом языке.
- Code — строки фактического кода (исполняемого/декларативного)
- Комментарий — строки, комментарии или документация.
- % — процент от общего
Специальные псевдоязыки:
- __empty__ — пустые файлы
- __binary__ — бинарные файлы (изображения, скомпилированные и т.д.)
- __generated__ — автоматически сгенерированные файлы (обнаруживаются эвристически)
- __duulate__ — файлы с личным содержимым
- __unknown__ — нераспознанные типы файлов.
Подводные камни
Всегда выполняйте.git, node_modules, venv — без --folders-to-skip pygount будет сканировать всё и может занимать минуты или зависеть от больших трёх зависимостей.
Markdown показывает 0 строк кода — pygount классифицирует стандарты Markdown всё как комментарии, а не код. Это ожидаемое поведение.
Файлы JSON отображают небольшое количество кода — pygount может аккуратно подсчитать строки JSON. Для точной подсчета строки JSON воспользуйтесь wc -l напрямую.
Большие монорепозитории — для очень больших репозиториев рассмотрите использование --суффикса для нацеливания на переменных вместо переменного числа.