repo-scan
affaan-m/ECC
Проводит сканирование репозиториев исходного кода на языках C++, Android, iOS и в веб-среде с целью классификации файлов, выявления встроенных сторонних библиотек и формирования четырёхуровневых рекомендаций по каждому модулю с интерактивными отчётами в формате HTML.
...Расширить всеrepo-scan
У каждой экосистемы есть свой собственный менеджер зависимостей, но ни один инструмент не анализирует код на C++, Android, iOS и в веб-приложениях, чтобы определить: какая часть кода действительно принадлежит вам, какая — сторонним разработчикам, а какая является «балластом».
Когда использовать
- Если вам предстоит взять на себя управление обширной устаревшей кодовой базой и вам нужен обзор её структуры
- Перед проведением крупного рефакторинга — определите, что является ядром, что дублируется, а что бесполезно
- При аудите сторонних зависимостей, встроенных непосредственно в исходный код (не объявленных в менеджерах пакетов)
- При подготовке документации по архитектурным решениям для реорганизации монорепозитория
Установка
# Fetch only the pinned commit for reproducibility
mkdir -p ~/.claude/skills/repo-scan
git init repo-scan
cd repo-scan
git remote add origin https://github.com/haibindev/repo-scan.git
git fetch --depth 1 origin 2742664
git checkout --detach FETCH_HEAD
cp -r . ~/.claude/skills/repo-scan
Перед установкой любого навыка агента ознакомьтесь с исходным кодом.
Основные возможности
| Возможность | Описание |
|---|---|
| Сканирование по всем стекам | C/C++, Java/Android, iOS (OC/Swift), веб (TS/JS/Vue) за один проход |
| Классификация файлов | Каждый файл помечается как код проекта, сторонний файл или артефакт сборки |
| Обнаружение библиотек | Более 50 известных библиотек (FFmpeg, Boost, OpenSSL…) с извлечением версии |
| Четырёхуровневые оценки | Основной ресурс / Извлечение и слияние / Пересборка / Устарело |
| Отчеты в формате HTML | Интерактивные страницы в темной теме с возможностью детализации |
| Поддержка монорепозитория | Иерархическое сканирование с отчётами по итогам и по подпроектам |
Уровни глубины анализа
| Уровень | Прочитанные файлы | Вариант использования |
|---|---|---|
fast |
1–2 на модуль | Быстрая проверка содержимого больших каталогов |
standard |
2–5 на модуль | Стандартный аудит с полной проверкой зависимостей и архитектуры |
deep |
5–10 на модуль | Добавляет потоковую безопасность, управление памятью, согласованность API |
full |
Все файлы | Комплексная проверка перед слиянием |
Как это работает
- Классификация содержимого репозитория: перечисление файлов, а затем маркировка каждого из них как кода проекта, встроенного стороннего кода или артефакта сборки.
- Обнаружение встроенных библиотек: проверка имен каталогов, заголовков, файлов лицензий и маркеров версий для выявления входящих в состав репозитория зависимостей и вероятных версий.
- Оценка каждого модуля: группировка файлов по модулям или подсистемам, затем присвоение одного из четырёх вердиктов на основе владельца, дублирования и затрат на обслуживание.
- Выявление структурных рисков: выделение «мертвого груза», дублирующихся оболочек, устаревшего стороннего кода и модулей, которые следует извлечь, перестроить или объявить устаревшими.
- Создание отчета: вывод краткого резюме и интерактивного HTML-отчета с возможностью детализации по модулям, чтобы аудит можно было просматривать в удобное время.
Примеры
На монорепозитории C++ из 50 000 файлов:
- Обнаружен FFmpeg 2.x (версия 2015 года), который до сих пор используется в производственной среде
- Обнаружен один и тот же оберточный модуль SDK, дублированный 3 раза
- Выявлено 636 МБ зафиксированных артефактов сборки Debug/ipch/obj
- Классификация: 3 МБ кода проекта против 596 МБ стороннего кода
Рекомендации
- Начните с
standardподробности при первых аудитах - Используйте
fastдля монорепозиториев с более чем 100 модулями, чтобы быстро составить перечень - Запускайте
deepпоэтапно для модулей, отмеченных для рефакторинга - Проанализируйте межмодульный анализ для выявления дубликатов в подпроектах
Ссылки
- Репозиторий GitHub
---
name: repo-scan
description: Scans source code repositories across C++, Android, iOS, and Web to classify files, detect embedded third-party libraries, and produce actionable four-level verdicts per module with interactive HTML reports.
---
# repo-scan
> Every ecosystem has its own dependency manager, but no tool looks across C++, Android, iOS, and Web to tell you: how much code is actually yours, what's third-party, and what's dead weight.
## When to Use
- Taking over a large legacy codebase and need a structural overview
- Before major refactoring — identify what's core, what's duplicate, what's dead
- Auditing third-party dependencies embedded directly in source (not declared in package managers)
- Preparing architecture decision records for monorepo reorganization
## Installation
```bash
# Fetch only the pinned commit for reproducibility
mkdir -p ~/.claude/skills/repo-scan
git init repo-scan
cd repo-scan
git remote add origin https://github.com/haibindev/repo-scan.git
git fetch --depth 1 origin 2742664
git checkout --detach FETCH_HEAD
cp -r . ~/.claude/skills/repo-scan
```
> Review the source before installing any agent skill.
## Core Capabilities
| Capability | Description |
|---|---|
| **Cross-stack scanning** | C/C++, Java/Android, iOS (OC/Swift), Web (TS/JS/Vue) in one pass |
| **File classification** | Every file tagged as project code, third-party, or build artifact |
| **Library detection** | 50+ known libraries (FFmpeg, Boost, OpenSSL…) with version extraction |
| **Four-level verdicts** | Core Asset / Extract & Merge / Rebuild / Deprecate |
| **HTML reports** | Interactive dark-theme pages with drill-down navigation |
| **Monorepo support** | Hierarchical scanning with summary + sub-project reports |
## Analysis Depth Levels
| Level | Files Read | Use Case |
|---|---|---|
| `fast` | 1-2 per module | Quick inventory of huge directories |
| `standard` | 2-5 per module | Default audit with full dependency + architecture checks |
| `deep` | 5-10 per module | Adds thread safety, memory management, API consistency |
| `full` | All files | Pre-merge comprehensive review |
## How It Works
1. **Classify the repo surface**: enumerate files, then tag each as project code, embedded third-party code, or build artifact.
2. **Detect embedded libraries**: inspect directory names, headers, license files, and version markers to identify bundled dependencies and likely versions.
3. **Score each module**: group files by module or subsystem, then assign one of the four verdicts based on ownership, duplication, and maintenance cost.
4. **Highlight structural risks**: call out dead-weight artifacts, duplicated wrappers, outdated vendored code, and modules that should be extracted, rebuilt, or deprecated.
5. **Produce the report**: return a concise summary plus the interactive HTML output with per-module drill-down so the audit can be reviewed asynchronously.
## Examples
On a 50,000-file C++ monorepo:
- Found FFmpeg 2.x (2015 vintage) still in production
- Discovered the same SDK wrapper duplicated 3 times
- Identified 636 MB of committed Debug/ipch/obj build artifacts
- Classified: 3 MB project code vs 596 MB third-party
## Best Practices
- Start with `standard` depth for first-time audits
- Use `fast` for monorepos with 100+ modules to get a quick inventory
- Run `deep` incrementally on modules flagged for refactoring
- Review the cross-module analysis for duplicate detection across sub-projects
## Links
- [GitHub Repository](https://github.com/haibindev/repo-scan)
Все файлы
1 файловУстановить repo-scan
Скачайте файлы навыков и распакуйте их в каталог .claude/skills/.
Скачать ZIPКлонируйте репозиторий и скопируйте файлы навыка в свой проект.
git clone https://github.com/affaan-m/ECC/tree/main/skills/repo-scan # Copy SKILL.md to your .claude/skills/ directory
Копировать





Дом
