Об этом проекте

RepoScout — это высокопроизводительный инструмент командной строки, написанный на Rust, предназначенный для сканирования Git-репозиториев (или конкретных путей) и предоставления консолидированной информации о коде. Он ориентирован на две основные аудитории: AI-агенты кодирования, которым требуется стабильный, машиночитаемый JSON-вывод для быстрого понимания кодовой базы, и разработчики-люди, которым нужны компактные, цветные терминальные сводки или отчеты в формате Markdown для PR и вопросов. Инструмент агрегирует различные сигналы для ответа на ключевые вопросы о репозитории: - **Инвентаризация**: Определяет языки, файлы, строки кода, токены, символы и импорты. - **Оценка рисков**: Рассчитывает сложность, поддерживаемость, частоту изменений и наличие тестов для каждого вызываемого элемента, ранжируя их по совокупному риску. - **Обнаружение дубликатов**: Находит точные и Type-2 (согласованные переименования) дубликаты, помогая определить, стоит ли проводить очистку. - **Планирование контекста**: Генерирует детерминированные планы чтения в рамках строгих ограничений по токенам и файлам для оптимизации окон контекста агента. - **Анализ изменений**: Анализирует Git-диффы, отслеживает измененные строки, оценивает влияние и экспортирует результаты в форматах SARIF, DOT или Mermaid. RepoScout работает полностью локально, обеспечивая конфиденциальность исходного кода, не загружая данные и не вызывая внешние модели. Он поддерживает первоклассный анализ AST для языков Rust, Python, JavaScript, TypeScript, Go, PHP и Godot, а также дополнительную инвентаризацию с учетом синтаксиса для 36 других форматов. Функции включают необязательную локальную живую панель управления с интерфейсом React для визуализации состояния репозитория и архитектурных графов. Инструмент предоставляет профили выполнения с защитой для сканирования ненадежных чекаутов и поддерживает интеграцию навыков агента через `skills.sh`.