Rams MCP · The full engine, now in your coding agent
pointfreeco on GitHub

pointfreeco/swift-composable-architecture

Reviewed against Rams quality heuristics: accessibility, color, typography, spacing, components, motion, UX, and craft.

29 files reviewed·July 29, 2026

View on GitHub

Low

Design risk in this codebase.

1issue
Serious

Top fix

Replace hardcoded .gray on attribution link with semantic color token

See the fix

Verdict

Native components do the heavy lifting, and it shows in how little custom accessibility work was needed. The one hardcoded gray attribution link is the sole crack in an otherwise semantic, adaptive color system.

Files Rams reviewed

Examples/CaseStudies/SwiftUICaseStudies/00-RootView.swift

Examples/CaseStudies/tvOSCaseStudies/FocusView.swift

Examples/Search/Search/SearchView.swift

Examples/TicTacToe/App/RootView.swift

Examples/TicTacToe/tic-tac-toe/Sources/GameSwiftUI/GameView.swift

Examples/TicTacToe/tic-tac-toe/Sources/LoginSwiftUI/LoginView.swift

Examples/TicTacToe/tic-tac-toe/Sources/NewGameSwiftUI/NewGameView.swift

Examples/TicTacToe/tic-tac-toe/Sources/TwoFactorSwiftUI/TwoFactorView.swift

Examples/CaseStudies/SwiftUICaseStudies/Internal/AboutView.swift

Examples/CaseStudies/SwiftUICaseStudies/Internal/CircularProgressView.swift

Examples/CaseStudies/tvOSCaseStudies/RootView.swift

Examples/TicTacToe/tic-tac-toe/Sources/AppSwiftUI/AppView.swift

Examples/CaseStudies/SwiftUICaseStudies/01-GettingStarted-AlertsAndConfirmationDialogs.swift

Examples/CaseStudies/SwiftUICaseStudies/01-GettingStarted-Animations.swift

Examples/CaseStudies/SwiftUICaseStudies/01-GettingStarted-Bindings-Basics.swift

Examples/CaseStudies/SwiftUICaseStudies/01-GettingStarted-Bindings-Forms.swift

Examples/CaseStudies/SwiftUICaseStudies/01-GettingStarted-Composition-TwoCounters.swift

Examples/CaseStudies/SwiftUICaseStudies/01-GettingStarted-Counter.swift

Examples/CaseStudies/SwiftUICaseStudies/01-GettingStarted-FocusState.swift

Examples/CaseStudies/SwiftUICaseStudies/01-GettingStarted-OptionalState.swift

Examples/CaseStudies/SwiftUICaseStudies/02-Effects-SystemEnvironment.swift

Examples/CaseStudies/SwiftUICaseStudies/02-SharedState-FileStorage.swift

Examples/CaseStudies/SwiftUICaseStudies/02-SharedState-InMemory.swift

Examples/CaseStudies/SwiftUICaseStudies/02-SharedState-Onboarding.swift

Examples/CaseStudies/SwiftUICaseStudies/02-SharedState-UserDefaults.swift

Examples/CaseStudies/SwiftUICaseStudies/03-Effects-Basics.swift

Examples/CaseStudies/SwiftUICaseStudies/03-Effects-Cancellation.swift

Examples/CaseStudies/SwiftUICaseStudies/03-Effects-LongLiving.swift

Examples/CaseStudies/SwiftUICaseStudies/03-Effects-Refreshable.swift

Accessibility

No issues found

Typography

No issues found

Color

No issues found

Spacing

No issues found

Components

No issues found

Motion

No issues found

UX

No issues found

Craft

No issues found

Working well

  • The search result Button and ProgressView are composed correctly, giving VoiceOver a proper button trait and press state without any custom tap-gesture hacks.
  • Every row uses NavigationLink or a plain Button with a visible text label, so VoiceOver gets a proper accessible name and trait for free with no extra work.

Scored July 29, 2026 with Rams Engine v0.0.3 · Engine changelog

This page is an automated design review of pointfreeco/swift-composable-architecture’s UI code: 29 files read against 258 versioned rules covering accessibility, color, typography, spacing, components, UX, motion, and craft. The score is out of 100; any confirmed critical issue caps it at 59.

More design scores

Score your own repo.

Free on public repos, no account. The same engine that scored this page reads your UI code and mints a score page like this one.

Public repos only. The full engine reviews the UI code and mints a public score page — we email you the link too. Already-scored repos open instantly.

Or get a design review on every pull requestInstall Rams