FOSMVVM architecture generators for ViewModels, Fields, DataModels, ServerRequests, Leaf Views, and ViewModel Tests
Generate FOSMVVM Fields protocols with validation rules, FormField definitions, and localized messages. Define form contracts once, validate everywhere.
Generate Fluent DataModels for FOSMVVM server-side persistence. Scaffolds models, migrations, and tests for database-backed entities.
Generate Leaf templates for FOSMVVM WebApps. Create full-page views and HTML-over-the-wire fragments that render ViewModels.
Generate React components that render FOSMVVM ViewModels. Scaffolds ViewModelView pattern with hooks, loading states, and TypeScript types.
Review FOSMVVM code against per-area check files. Triages changed files by area, dispatches one subagent per affected area for parallel review, emits severity-tagged report. Report-only, no auto-fix. Use when reviewing a branch before merge, sweeping the codebase periodically, or in CI.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
There are multiple libraries provided by the FOSUtilities package: FOSFoundation, FOSMVVM, FOSTesting, FOSTestingUI, FOSMVVMVapor, FOSTestingVapor.
For guides, articles, and API documentation see the library's documentation on the Web or in Xcode.
FOSFoundation is a library of protocols, patterns, types and routines that I have found generally useful in my projects. Support areas include:
For guides, articles, and API documentation see the library's documentation on the Web or in Xcode.
FOSMVVM is a library that implements the Model-View-ViewModel pattern for binding SwiftUI projects to Vapor web services.
For guides, articles, and API documentation see the library's documentation on the Web or in Xcode.
Here is an example of setting up a new Model-View-ViewModel-based client application
@ViewModel
public struct LandingPageViewModel: RequestableViewModel {
public typealias Request = LandingPageRequest
@LocalizedString public var pageTitle
public var vmId = ViewModelId()
public init() {}
public static func stub() -> Self { .init() }
}
struct LandingPageView: ViewModelView {
let viewModel: LandingPageViewModel
var body: some View {
VStack {
Text(viewModel.pageTitle)
.font(.headline)
.padding(.bottom, 30)
}
.padding()
}
}
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
LandingPageView.bind()
}
.environment(
MVVMEnvironment(
currentVersion: .currentApplicationVersion,
appBundle: Bundle.main,
deploymentURLs: [
.production, .init(serverBaseURL: URL(string: "http://api.mywebserver.com")!),
.staging, .init(serverBaseURL: URL(string: "http://staging-api.mywebserver.com")!),
.debug, .init(serverBaseURL: URL(string: "http://localhost:8080")!)
]
)
)
}
}
public func configure(_ app: Application) async throws {
// uncomment to serve files from /Public folder
// app.middleware.use(FileMiddleware(publicDirectory: app.directory.publicDirectory))
// register routes
try routes(app)
try app.initYamlLocalization(
bundle: Bundle.module,
resourceDirectoryName: "Resources"
)
}
func routes(_ app: Application) throws {
app.routesregister(viewModel: LandingPageViewModel.self)
}
This repository includes Claude Code skills for generating FOSMVVM architecture components. These skills help automate the creation of ViewModels, Fields protocols, DataModels, ServerRequests, and Leaf Views following FOSMVVM patterns.
npx claudepluginhub foscomputerservices/fosutilities --plugin fosmvvm-generatorsiOS and Swift development with SwiftUI views and models
Agent Skill for Swift architecture design and implementation patterns.
Expert Swift 6.2 + SwiftUI for iOS 26, macOS 26, iPadOS 26, watchOS 26, visionOS 26, tvOS 26 with Liquid Glass, @Observable, actors, SwiftData inheritance
SettingsKit for SwiftUI settings interfaces (iOS, macOS, watchOS, tvOS, visionOS). Use for settings/preferences screens, searchable settings, nested navigation, @Observable/@Bindable state, or encountering settings update errors, navigation state issues.
Agents and skills for Swift app development on iOS.
Swift, SwiftUI, SwiftData, iOS animation design/implementation/review, and framework code review (HealthKit, CloudKit, WidgetKit, watchOS, App Intents). Pairs with beagle-core for full workflow.