Repolode
realm

realm/SwiftLint

プロジェクトごとに設定できる200以上のルールで、Swiftのスタイルや規約をチェックするリンターです。

スター
19,779
フォーク
2,338
未解決の Issue
535
最終コミット
昨日

これは何?

SwiftLintは、Swiftのソースコードをスタイルや規約に関するルールに照らしてチェックし、違反をターミナルまたはXcode上で警告やエラーとして報告します。ほとんどのルールはSwiftSyntaxをベースにしており、一部のルールでは型情報を参照するためにClangとSourceKitを使用します。ルールの有効・無効は.swiftlint.ymlファイルで切り替えられ、行の長さや型の本体の長さなどのしきい値も調整できます。

自動修正に対応した違反があるファイルは、--fixオプションでその場で書き換えられます。独立したanalyzeコマンドでは、型チェック済みのAST全体を使うルールを実行できますが、処理に時間がかかり、明示的に有効化する必要があります。カスタムルールは設定ファイル内で正規表現を使って定義するか、Swiftで記述できます。

SwiftLintはHomebrew、CocoaPods、Mint、Bazel、Swift Package Managerからインストールでき、Docker、fastlane、pre-commitフックを使ってCIで実行できます。

主な機能

  • 01Swiftコード向けの200以上の組み込みスタイル・規約ルール
  • 02違反箇所をエディター内に表示するXcode連携
  • 03--fixによる修正可能な違反の自動修正
  • 04完全なASTが必要なルール向けの型情報を考慮したanalyzeコマンド
  • 05正規表現ベースのカスタムルールと親・子設定ファイルのマージ

ユースケース

  • チームのiOSまたはmacOSプロジェクト全体で、共通のSwiftスタイルガイドを徹底する
  • Docker、fastlane、pre-commitフックを使ってCIパイプラインでLintチェックを実行する
  • ベースラインと自動修正を活用して、既存コードを段階的に整理する

クイックスタート

  1. 1

    HomebrewでSwiftLintをインストールする

    brew install swiftlint
  2. 2

    プロジェクトのディレクトリでSwiftLintを実行する

    swiftlint

使う前に知っておきたいこと

  • 一部のルールは型情報の取得にClangとSourceKitを使用するため、SwiftLintはコンパイル可能なコードのみを解析するように設計されています。
  • コンパイルできないコードに対して--fixを使用すると、分かりにくい結果になることがあります。

収録されている特集

トピック

よくある質問

SwiftLint とは?
プロジェクトごとに設定できる200以上のルールで、Swiftのスタイルや規約をチェックするリンターです。 SwiftLintは、Swiftのソースコードをスタイルや規約に関するルールに照らしてチェックし、違反をターミナルまたはXcode上で警告やエラーとして報告します。ほとんどのルールはSwiftSyntaxをベースにしており、一部のルールでは型情報を参照するためにClangとSourceKitを使用します。ルールの有効・無効は.swiftlint.ymlファイルで切り替えられ、行の長さや型の本体の長さなどのしきい値も調整できます。
SwiftLint は無料で使えますか?ライセンスは?
SwiftLint は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
SwiftLint は今もメンテナンスされていますか?
活発にメンテナンス中。SwiftLint の最終コミットは 2026年11月5日 です。
SwiftLint は何に使えますか?
チームのiOSまたはmacOSプロジェクト全体で、共通のSwiftスタイルガイドを徹底する Docker、fastlane、pre-commitフックを使ってCIパイプラインでLintチェックを実行する ベースラインと自動修正を活用して、既存コードを段階的に整理する
SwiftLint のインストール方法は?
HomebrewでSwiftLintをインストールする: brew install swiftlint プロジェクトのディレクトリでSwiftLintを実行する: swiftlint
SwiftLint はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/realm/SwiftLint

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト