add-sdkIntegrate a third-party library or service SDK into a native Android app from its documentation URL — Firebase (Crashlytics, Analytics, Messaging, Remote Config), RevenueCat / Play Billing, AdMob, Sentry, Mixpanel/Amplitude, Maps, Stripe, Coil, WorkManager, In-App Review/Updates, etc. Reads the docs
add-testsAdd or update unit tests for any layer of a native Android app built with the tezca-android-development conventions — Retrofit APIs with MockWebServer, Ktor APIs with MockEngine, Room DAOs and local data sources with an in-memory database under Robolectric, DataStore preferences on a temp file, offl
android-architectureArchitecture conventions for native Android apps (Kotlin, Jetpack Compose, Hilt, Navigation 3, Room, DataStore, Retrofit/Ktor) built with the tezca-android-development skills. Covers multi-module layout (:app, :core:*, one :feature:* per feature), layer rules (Api/Dao → DataSource → Repository → Use
android-quality-checkAudit an Android project (or a module, feature or PR diff) against Google's architecture recommendations and core app quality guidelines — layering and single source of truth, error handling, hardcoded dispatchers, Context in ViewModels, collectAsState vs collectAsStateWithLifecycle, business logic
make-apiCreate or update REST API calls in a native Android app (Retrofit by default, or Ktor) and expose them as the feature's remote data source. Generates @Serializable DTOs, a Retrofit service interface (suspend + Response<T>) or a Ktor Api class, a RemoteDataSource interface + Impl that wraps calls in
make-databaseCreate or update the local database of an Android feature with Room 3 (androidx.room3, KSP): @Entity, @Dao with Flow reads / @Upsert / @Transaction replace-all, the feature's own @Database built through DatabaseFactory, entity↔domain mappers, a LocalDataSource interface + Impl, Hilt wiring, and sche
make-preferencesCreate or update typed key-value storage in an Android app with Preferences DataStore — a feature's settings, flags (onboarding completed, dark mode, last selected filter) or the signed-in session (access/refresh tokens, user id) — as a PreferencesDataSource interface + Impl over the app's single Da
make-repositoryCreate or update a repository in a native Android app that combines the feature's remote data source (Retrofit/Ktor) and local data source (Room / DataStore). Offline-first by default — Room is the single source of truth, observe…() returns Flow, refresh(force) syncs from the server with a freshness
make-screenBuild or update a complete screen in a native Android app end to end — whatever is missing in the chain (API/remote data source → Room/DataStore local data source → offline-first repository → use cases → ViewModel) plus the Jetpack Compose UI connected to the ViewModel — a stateful Route and statele
make-usecaseCreate or update a domain use case in a native Android app — one class, one responsibility, one operator fun invoke — built on one or more repositories (Observe… returns Flow, Get…/commands are suspend and return DataResult), injected with Hilt. In KMP-SDK mode it bridges an SDK-provided use case in
make-viewmodelCreate or update a Jetpack ViewModel in a native Android app the way Google's architecture guide recommends — @HiltViewModel, a single immutable UiState exposed as StateFlow (stateIn WhileSubscribed), user input through onAction(Action), one-off Events (navigation, snackbars) through a Channel, data
new-featureCreate a new feature module in an Android project set up with start-android (native or KMP-SDK mode) — a Gradle module :feature:<name> (tezca.android.feature convention plugin with Compose, Hilt, Navigation 3 and every :core module) with data/domain/presentation packages, a Hilt module, a Navigation
start-androidSet up a native Android project (Kotlin, Jetpack Compose, Material 3) with Google's recommended architecture and all the base dependencies wired — Hilt (KSP), Navigation 3, Coroutines/Flow, Lifecycle + ViewModel, Room 3, DataStore, Retrofit+OkHttp or Ktor, kotlinx-serialization — as a multi-module b