-
Notifications
You must be signed in to change notification settings - Fork 0
Contributing
isamercan edited this page Jun 30, 2026
·
1 revision
Thanks for helping improve ThemeKit!
- Bug: include platform/OS, a minimal repro, and what you expected.
- Feature: describe the use case before the API — what problem does it solve?
- Branch off
main(e.g.feat/…,fix/…,docs/…). - Keep the change focused; one concern per PR.
- Make sure CI is green — build + tests on iOS & macOS, and SwiftLint.
- Update docs/DocC comments for any public API you touch.
- Open the PR against
mainwith a clear description.
git clone https://github.com/isamercan/ThemeKit
cd ThemeKit
swift build # build the library
swift test # run the logic/theme/validation suite (macOS)
swiftlint # style check (matches CI)The iOS build and the opt-in snapshot suite run under Xcode:
xcodebuild test -scheme ThemeKit-Package \
-destination 'platform=iOS Simulator,name=iPhone 16'- Enforced by SwiftLint (
.swiftlint.yml);swiftformat .is the autocorrecting companion (.swiftformat). - Components are token-bound — read colors/spacing/radii from the active
Theme, never hard-code values. - Every public type/init/method gets a real
///doc comment.
Adding public API is fine (it's a MINOR change). Run scripts/check-api.sh to
see how a change is classified; see docs/API-STABILITY.md and
Versions and Releases.