snapkit/snapkit

A Swift Autolayout DSL for iOS & OS X

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 13 minutes ago
Added to GitGenius on September 2nd, 2026
Created on June 5th, 2014
Open Issues & Pull Requests: 9 (+0)
GitHub issues: Enabled
Number of forks: 2,040
Total Stargazers: 20,349 (+0)
Total Subscribers: 388 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 76.0 days
Mean response time: 411.9 days
90th percentile: 1747.8 days
Tracked items: 61

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 5% of issues opened in the past year have been closed. Three people close 92% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

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

Top labels

  • help wanted (1)
  • need info (1)
  • wontfix (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

SnapKit is a Swift domain-specific language for iOS and OS X autolayout that simplifies constraint definition and management.

Autolayout in iOS and OS X requires verbose, repetitive code to express visual relationships between UI elements. SnapKit addresses this by providing a concise DSL that lets developers declare constraints using method chaining and readable syntax. Rather than constructing NSLayoutConstraint objects directly, developers work with a higher-level API that translates their intent into the underlying constraint system.

SnapKit suits projects where developers want to reduce boilerplate in layout code and improve readability of constraint definitions. It works well for teams already comfortable with Swift and seeking a more expressive alternative to manual constraint construction. The tool is particularly valuable in codebases that define layouts programmatically rather than in Interface Builder, where constraint density can make code hard to follow.

The project maintains steady engagement with its codebase, accepting pull requests that address reported issues and expand functionality. Development activity shows responsiveness to user-reported problems, with fixes and improvements integrated into the main branch. The maintainers review contributions thoughtfully and keep the project aligned with evolving Swift and platform requirements.