Screens with view models
Each screen ships as a View plus a matching ViewModel. Predictable file layout, no hidden indirection.
A SwiftUI app with a CRUD feature scaffolded end to end (model, service trio, three screens, routes, DI). Drop in your API body and ship.
swiftspawn new MovieAppcd MovieAppswiftspawn recipe crud Movie --with-testsScreens with view models
Each screen ships as a View plus a matching ViewModel. Predictable file layout, no hidden indirection.
Services and networking
A typed APIClient, request builders, error mapping, and a service trio per model. Drop in a base URL and call.
Type-safe routing
NavigationStack plus a single Route enum. Generators register new screens automatically.
Dependency injection
A small DI container. No third-party framework. Generated services register themselves at the right marker.