add-sdkIntegrate a third-party SDK or library into a Kotlin Multiplatform project from its documentation URL, for example Firebase (Analytics, Crashlytics, Messaging, Auth), RevenueCat, Sentry, Coil, Google Maps, Stripe or Mixpanel, or any Maven/SPM/CocoaPods dependency. It asks for the docs URL, reads it,
add-testsAdd or update tests for any layer of a Kotlin Multiplatform project. Ktor APIs use MockEngine through the real client config, Room DAOs use an in-memory database, DataStore preferences use a temp file, repositories use fake data sources plus the freshness TTL, use cases use fake repositories, ViewMo
kmp-architectureArchitecture conventions for Kotlin Multiplatform (KMP) and Compose Multiplatform projects built with the tezca-kmp-development skills. Covers module and package layout, layer rules (Api / Dao → DataSource → Repository → UseCase → ViewModel → Screen), naming, DataResult and AppError, Koin wiring, di
make-apiCreate or update Ktor API calls in a Kotlin Multiplatform project and expose them as the feature's remote data source. Covers @Serializable DTOs, type-safe @Resource routes, an Api class using the shared HttpClient and safeCall → DataResult, a RemoteDataSource interface + Impl mapping DTOs to domain
make-databaseCreate or update Room 3 (KMP) local storage for a feature in a Kotlin Multiplatform project. Generates @Entity classes, @Dao interfaces (Flow reads, suspend upserts, transactions), the feature's @Database with its RoomDatabaseConstructor, a LocalDataSource interface + Impl that maps entities to doma
make-preferencesCreate or update DataStore (Preferences) storage in a Kotlin Multiplatform project. Generates typed keys, a PreferencesDataSource interface + Impl exposing Flow values and suspend setters on the shared DataStore<Preferences> from :core:datastore, and the Koin binding. It covers the signed-in session
make-repositoryCreate or update a repository in a Kotlin Multiplatform project that combines the remote data source (Ktor) and the local data source (Room / DataStore). By default it's offline-first: Room is the single source of truth, refresh() syncs from the server with a freshness TTL, and writes go to the serv
make-screenBuild or update a complete Compose Multiplatform screen end to end in a KMP app. It inspects what already exists and creates whatever is missing across the whole stack, in order (Ktor API / remote data source, Room DAO / local data source, preferences, offline-first repository, use cases, ViewModel)
make-usecaseCreate or update a domain-layer use case in a Kotlin Multiplatform project. Each use case has exactly one responsibility and a single operator fun invoke. It combines one or more repositories, holds the business rules (validation, combining, ordering, permission checks), returns Flow or DataResult,
make-viewmodelCreate or update a multiplatform ViewModel (org.jetbrains.androidx.lifecycle) for a Compose Multiplatform screen, following Android's architecture guidance. It gets all its data from use cases, holds the screen's presentation and business logic, exposes an immutable UiState as a StateFlow (stateIn W
new-featureCreate a new feature in a Kotlin Multiplatform project set up with start-kmp. App mode creates a Gradle module :feature:<name> (data/domain/presentation packages, Koin module, type-safe navigation graph, compose resources) and registers it in settings.gradle.kts, :shared, Koin and the root NavHost.
start-kmpSet up a Kotlin Multiplatform project for Android + iOS, either as an SDK/library only or as a full Compose Multiplatform app. Adds and configures Koin, Room 3 (KMP), Ktor, DataStore, kotlinx-datetime, kotlinx-serialization, kotlinx-coroutines, the multiplatform lifecycle ViewModel, Navigation Compo