Skip to content

Add SwiftLint configuration and CI gate#29

Merged
jonathanKingston merged 1 commit into
mainfrom
jkt/auto/swiftlint-ci-512c
May 8, 2026
Merged

Add SwiftLint configuration and CI gate#29
jonathanKingston merged 1 commit into
mainfrom
jkt/auto/swiftlint-ci-512c

Conversation

@jonathanKingston

Copy link
Copy Markdown
Owner

Summary

This change adds a root .swiftlint.yml that lints only first-party code (Sources/, Tests/, Package.swift) and excludes .build, so SPM checkouts are never scanned. Metric thresholds are set slightly above current hotspots so swiftlint lint --strict passes today while still catching runaway growth.

CI

A GitHub Actions workflow installs SwiftLint 0.58.2 (Linux binary, matching the toolchain noted in AGENTS) and runs swiftlint lint --strict on push and pull requests to main. Any new violation (including warnings) fails the job.

Code

SwiftLint auto-fixes and small manual fixes: for-where style in three files, opening_brace in ModelManager, trailing-comma and minor formatting in GraniteEngine, remove redundant identifier_name disable in Logger, and EOF newline in Package.swift.

Open in Web Open in Cursor 

- Introduce .swiftlint.yml scoped to Sources, Tests, and Package.swift with
  .build excluded so SPM checkouts are never linted.
- Calibrate metric thresholds above current large files/functions while still
  catching significant growth; enable identifier_name min_length 2 for short
  names like ui.
- GitHub Actions runs swiftlint lint --strict on push and PR to main using
  the Linux 0.58.2 binary.
- Apply SwiftLint-driven fixes: for-where style, brace placement, trailing
  commas in GraniteEngine, Logger disable cleanup, EOF newline in Package.swift.
@jonathanKingston
jonathanKingston marked this pull request as ready for review May 8, 2026 01:40
@jonathanKingston
jonathanKingston merged commit 8082f85 into main May 8, 2026
1 check passed
@cursor
cursor Bot deleted the jkt/auto/swiftlint-ci-512c branch May 27, 2026 20:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants