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

SwiftLint — это популярный опенсорсный инструмент для обеспечения соблюдения стиля и соглашений Swift-кода, основанный на ныне архивном GitHub Swift Style Guide. Он применяет правила, общепринятые в сообществе Swift, как описано в популярных руководствах по стилю, например, в Kodeco's Swift Style Guide. Инструмент включает более 200 правил, преимущественно основанных на SwiftSyntax, при этом некоторые правила используют Clang и SourceKit для получения информации о типах. Правила можно настраивать через файл .swiftlint.yml, а отдельные правила можно отключать инлайн-комментариями (например, // swiftlint:disable rule_name). Опт-ин правила отключены по умолчанию и должны быть явно включены. SwiftLint поддерживает несколько способов установки: Swift Package Manager (как командный плагин или плагин инструмента сборки), Xcode Package Dependency, Homebrew, CocoaPods, Mint, Bazel, предварительно собранный .pkg-установщик и сборку из исходного кода. Также предоставляется Docker-образ для контейнерного использования. Варианты интеграции включают плагины инструментов сборки Xcode и фазы Run Script Build Phases, Visual Studio Code через расширение vscode-swiftlint, действие swiftlint в Fastlane, Git pre-commit хуки и MegaLinter для агрегации в CI. Инструмент можно запускать из командной строки с подкомандами для линтинга, анализа, генерации документации, вывода списка правил и операций с базовыми линиями. SwiftLint подключается к SourceKit, что позволяет ему работать с разными версиями Swift без поставки полного компилятора. Он поддерживает несколько цепочек инструментов Swift через переменные окружения и переопределения цепочек Xcode. Проект активно поддерживается, вклад приветствуется через pull request'ы, и он следует Кодексу поведения Contributor Covenant.