jpsim /
SourceKitten
Милый фреймворк и CLI-инструмент для взаимодействия с SourceKit.
Форки
236
Звёзды
2.4k
Issues
0
SourceKitten — это мост между вашим кодом на Swift и мощным движком SourceKit. Позволяет вытаскивать метаданные кода без написания сложного парсера.
Что делает
Инструмент вытаскивает информацию из исходников Swift, используя возможности официального SourceKit. Он превращает сложную структуру проекта в понятный JSON. Это позволяет автоматизировать анализ кода или создание документации.
Вам больше не нужно разбираться в тонкостях компилятора Apple. Вы получаете готовые данные о классах, методах и связях внутри проекта. Это экономит часы ручной работы.
Как работает
SourceKitten выступает прослойкой. Он вызывает API SourceKit и переводит ответы в удобный формат. Вы запускаете его через командную строку или подключаете как фреймворк к своему проекту.
Инструмент полагается на установленные инструменты разработчика Xcode. Он читает структуру вашего кода, парсит её и выдает результат в стандартном потоке вывода.
Кому подходит
Разработчикам инструментов для статического анализа Swift-кода.
Авторам плагинов для генерации документации, которым нужно видеть структуру методов.
Вайб-кодерам, которые собирают автоматизированные системы контроля качества кода.
Любителям CLI, которые хотят быстро парсить Swift-проекты в своих скриптах.
Основные возможности
Получение AST (абстрактного синтаксического дерева) любого файла Swift.
Генерация документации на основе комментариев в коде.
Интеграция с Xcode для глубокого анализа проекта.
Вывод данных в формате JSON для легкой обработки другими скриптами.
Работа с модулями и кросс-модульными зависимостями.
Как установить
Для установки используйте Homebrew. Это самый простой способ быстро получить рабочую версию в системе.
brew install sourcekittenПосле установки просто введите `sourcekitten help` в терминале, чтобы увидеть доступные команды. Убедитесь, что у вас установлена актуальная версия Xcode.
Как применить в своём продукте
Вы можете использовать его для создания автоматических чекеров качества кода. Например, если вы делаете сервис для ревью, используйте его для поиска неиспользуемых методов или нарушений именования.
Также он отлично подходит для генераторов документации. Оберните его в API на Node.js или Python, чтобы ваш SaaS мог автоматически обновлять описание API вашего Swift-кода при каждом пуше.
Создание собственного линтера под специфические стандарты компании.
Автоматическая генерация карты проекта для новых разработчиков.
Поиск зависимостей между классами для визуализации архитектуры.
Подводные камни
Главный минус — зависимость от Xcode. Если Apple обновит SourceKit, инструмент может сломаться до выхода апдейта. Также он требует много ресурсов при анализе огромных проектов.
Учитывайте, что он не исправляет код. Он только читает и анализирует. Для внесения изменений в файлы вам придется писать дополнительные скрипты, которые будут работать с полученным выводом.
Частые вопросы
Можно ли использовать его без установленного Xcode?
Нет, он плотно завязан на компоненты Xcode. Без них он не сможет корректно взаимодействовать с SourceKit и парсить ваш код.
Насколько быстро он обрабатывает большие проекты?
Скорость зависит от количества файлов и сложности связей. На проектах из сотен файлов он работает быстро, но на огромных монолитах может потребоваться время на индексацию.
В каком формате лучше всего получать данные?
Инструмент отдает JSON. Это стандарт для современного веба, поэтому вы легко прокинете его в любой другой сервис или AI-агент для дальнейшей обработки.
Похожие репозитории
IINA — это мощный видеоплеер для macOS на базе MPV. Идеальное решение, если нужно встроить качественный медиа-движок в свой проект или просто заменить стандартные плееры.
Stats — это open source монитор ресурсов для macOS, который живет в строке меню. Показывает всё: от нагрузки на CPU до температуры датчиков и скорости сети.
UTM запускает Windows, Linux и другие ОС на macOS и iOS. Это эмулятор для запуска полноценных виртуальных машин без необходимости джейлбрейка.
MonitorControl превращает любой сторонний монитор в нативный Apple Display. Управляй яркостью и звуком через клавиатуру Mac или шорткаты.
Данные обновлены: 3 июня 2026 г.