SwiftLint
by
realm

Description: A tool to enforce Swift style and conventions.

View on GitHub ↗

Summary Information

Updated 2 hours ago
Added to GitGenius on June 19th, 2026
Created on May 16th, 2015
Open Issues & Pull Requests: 480 (+0)
Number of forks: 2,309
Total Stargazers: 19,659 (+0)
Total Subscribers: 232 (+0)

Issue Activity (beta)

Open issues: 123
New in 7 days: 1
Closed in 7 days: 3
Avg open age: 676 days
Stale 30+ days: 114
Stale 90+ days: 100

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 1
Events in 7 days: 1

Top labels

  • bug (129)
  • enhancement (103)
  • help (73)
  • integration (54)
  • discussion (48)
  • good first issue (42)
  • rule-request (30)
  • stale (17)

Repository Insights (GitGenius)

Median issue/PR response: 4.8 hours
Mean response time: 9.0 days
90th percentile: 13.8 days
Tracked items: 432

Most active contributors

Detailed Description

SwiftLint is a tool designed to enforce Swift style and conventions, drawing inspiration from the archived GitHub Swift Style Guide and aligning with community-accepted standards documented in guides like Kodeco's Swift Style Guide. The tool analyzes Swift source code to identify style violations and can automatically correct many of them. It integrates directly into Xcode, displaying violations highlighted in the editor, and supports multiple installation methods including Swift Package Manager, Homebrew, CocoaPods, Mint, Bazel, and pre-built packages.

The implementation of SwiftLint rules relies predominantly on SwiftSyntax for parsing and analysis, though some rules still utilize Clang and SourceKit to access type information when needed. The tool is designed to work with valid, compilable source code and is intended to run after code compiles successfully rather than as a pre-compilation check, as non-compiling code can produce unexpected results especially when using automatic fix features.

SwiftLint offers flexible integration options for different development workflows. It can function as a Swift Package command plugin for command-line execution, as a build tool plugin that runs automatically during compilation for both Swift Package and Xcode projects, or as a Run Script Build Phase for projects with non-standard structures. The build tool plugin automatically locates configuration files within the project directory hierarchy to determine its working directory, though projects with unusual structures may require alternative setup approaches using configuration file inheritance or Run Script phases.

The repository demonstrates active maintenance and community engagement. GitGenius tracking data shows a median issue and pull request response latency of 4.8 hours across 432 items, with a mean latency of 215.8 hours, indicating responsive triage despite occasional longer-tail responses. The most active issue categories are bug reports with 129 tracked items, enhancement requests with 103 items, and help requests with 73 items. SimplyDanny emerges as the most active contributor with 1343 tracked events, followed by mildm8nnered with 106 events and jpsim with 100 events. The repository's contributor base overlaps with major projects including Microsoft's VSCode and TypeScript implementations as well as the Rust language project, suggesting SwiftLint's influence extends across the broader developer tools ecosystem.

Configuration of SwiftLint is managed through YAML configuration files that support file inclusions and exclusions, allowing teams to customize which rules apply to their codebase. The tool supports both inline configuration and parent configuration references for complex project structures. For Xcode integration, users must trust and enable the plugin when first used, with options available to disable validation dialogs for unattended continuous integration environments. The repository maintains documentation in multiple languages including Chinese and Korean, reflecting its international user base and commitment to accessibility across different developer communities.

SwiftLint
by
realmrealm/SwiftLint

Repository Details

Fetching additional details & charts...