← ClaudeAtlas

arch-clean-architecturelisted

Layered Clean Architecture for iOS — Domain (Entities, Use Cases, Repository protocols), Data (DTOs, repository impls), Presentation (any UI pattern, MVVM by default). Dependency rule outer→inner. Use for medium/large apps with non-trivial domain logic.
kbelasheuski/ios-architecture-skills · ★ 0 · Web & Frontend · score 72
Install: claude install-skill kbelasheuski/ios-architecture-skills
# Clean Architecture (Layered) **Source references (study after reading this skill):** - kudoleh/iOS-Clean-Architecture-MVVM — https://github.com/kudoleh/iOS-Clean-Architecture-MVVM - nalexn/clean-architecture-swiftui — https://github.com/nalexn/clean-architecture-swiftui - Alexey Naumov, *Clean Architecture for SwiftUI* — https://nalexn.github.io/clean-architecture-swiftui/ - Uncle Bob, *The Clean Architecture* — https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html Code follows the kudoleh template's split: - `Domain/Entities`, `Domain/UseCases`, `Domain/Interfaces/Repositories` - `Data/Network`, `Data/Repositories` - `Presentation/<Scene>/ViewModel`, `Presentation/<Scene>/View` - `Application/DIContainer`, `Presentation/<Scene>/Flows/<Coordinator>` ## When to use - Medium/large apps with non-trivial domain logic. - SPM-modular setups (compose with `arch-modular-tma`). - Regulated domains where business rules must be isolated from UI/persistence. ## Folder structure Matches the worked example in `examples/clean-architecture/`: ``` Sources/ App/ UsersApp.swift DIContainer/AppDIContainer.swift DIContainer/UsersSceneDIContainer.swift Domain/ User.swift ← Entity + UsersPage + errors UserRepository.swift ← repository protocol (the inner boundary) UseCases/FetchUsersUseCase.swift UseCases/FetchUserUseCase.swift UseCases/UpdateUserUseCase.swift Data/ LiveUserRepository.swift