Slash Command
/navigation
- Use `NavigationStack` or `NavigationSplitView` as appropriate; flag all use of the deprecated `NavigationView`.
From swiftuiInstall
1
Run in your terminal$
npx claudepluginhub fradser/dotclaude --plugin swiftuiDetails
Namespace
swiftui-review/references/Command Content
Navigation and presentation
- Use
NavigationStackorNavigationSplitViewas appropriate; flag all use of the deprecatedNavigationView. - Strongly prefer to use
navigationDestination(for:)to specify destinations; flag all use of the oldNavigationLink(destination:)pattern where it should be replaced. - Never mix
navigationDestination(for:)andNavigationLink(destination:)in the same navigation hierarchy; it causes significant problems. navigationDestination(for:)must be registered once per data type; flag duplicates.
Alerts, confirmation dialogs, and sheets
- Always attach
confirmationDialog()to the user interface that triggers the dialog. This allows Liquid Glass animations to move from the correct source. - If an alert has only a single “OK” button that does nothing but dismiss the alert, it can be omitted entirely:
.alert("Dismiss Me", isPresented: $isShowingAlert) { }. - If a sheet is designed to present an optional piece of data, prefer
sheet(item:)oversheet(isPresented:)so the optional is safely unwrapped. - When using
sheet(item:)with a view that accepts the item as its only initializer parameter, prefersheet(item: $someItem, content: SomeView.init)oversheet(item: $someItem) { someItem in SomeView(item: someItem) }.
Stats
Parent Repo Stars474
Parent Repo Forks37
Last CommitMar 9, 2026