arch-redux-reswiftlisted
Install: claude install-skill kbelasheuski/ios-architecture-skills
# Redux / ReSwift
**Source references:**
- ReSwift/ReSwift — https://github.com/ReSwift/ReSwift
- ReSwift CounterExample — https://github.com/ReSwift/CounterExample-Navigation-TimeTravel
- Dan Abramov, *Three Principles* — https://redux.js.org/understanding/thinking-in-redux/three-principles
## When to use
- Cross-platform business logic (portable Swift, or shared semantics with Android Redux/Kotlin Multiplatform).
- Teams with prior Redux experience.
- Consider TCA first on greenfield SwiftUI.
## Folder structure
```
App/
UsersApp.swift
Store/
AppState.swift
AppAction.swift
AppReducer.swift
AppStore.swift
Middleware/
AsyncMiddleware.swift
Features/
UserList/
UserListState.swift
UserListAction.swift
UserListReducer.swift
UserListView.swift
UserDetail/
UserDetailState.swift
UserDetailAction.swift
UserDetailReducer.swift
UserDetailView.swift
Domain/
User.swift
UserRepository.swift
```
## Reference implementation
The full worked `UserList + UserDetail` feature lives in **`examples/redux-reswift/`** —
a single `AppStore`, per-feature `State`/`Action`/`Reducer` triples, an async
middleware bridging the repository to dispatched actions, and SwiftUI views
subscribed to the store. `Domain` + `Data` follow `skills/REFERENCE_FEATURE.md` (vendored per example).
> **Requires the `ReSwift` package**, wired in `examples/redux-reswift/Package.swift`.
> It builds and tests as a standalone SPM package.
Key things to notice