create-compose-ui-component

star 30

Instructions for scaffolding a new Jetpack Compose screen or component and using Koin for ViewModel injection in MemosM.

yamada-sexta By yamada-sexta schedule Updated 3/7/2026

name: Create Compose UI Component description: Instructions for scaffolding a new Jetpack Compose screen or component and using Koin for ViewModel injection in MemosM.

Create Compose UI Component

MemosM uses Jetpack Compose for its UI.

1. File Location

Place new screen-level components inside app/src/main/java/org/example/memosm/ui/component/ or a relevant sub-package.

2. ViewModels and Koin

The project uses Koin for Dependency Injection. If your screen requires a ViewModel (e.g., MemosViewModel), inject it using koinViewModel().

import androidx.compose.runtime.Composable
import org.koin.androidx.compose.koinViewModel
import org.example.memosm.viewmodel.MemosViewModel

@Composable
fun MyNewScreen(
    viewModel: MemosViewModel = koinViewModel()
) {
    // ...
}

3. Previews

When creating a Component, always try to add a @Preview to ensure it renders correctly in Android Studio without building the entire app.

@Preview(showBackground = true)
@Composable
fun MyNewScreenPreview() {
    MaterialTheme {
        MyNewScreen(viewModel = /* mock viewmodel or state */)
    }
}

4. Navigation

If adding a completely new screen, add it to the navigation graph in app/src/main/java/org/example/memosm/ui/MainScreen.kt and define its route in NavigationModels.kt.

Install via CLI
npx skills add https://github.com/yamada-sexta/memos-m --skill create-compose-ui-component
Repository Details
star Stars 30
call_split Forks 1
navigation Branch main
article Path SKILL.md
More from Creator
yamada-sexta
yamada-sexta Explore all skills →