mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-03-30 21:53:28 +08:00
1.1 KiB
1.1 KiB
description, globs, alwaysApply
| description | globs | alwaysApply | |||
|---|---|---|---|---|---|
| Kotlin patterns extending common rules |
|
false |
Kotlin Patterns
This file extends the common patterns rule with Kotlin-specific content.
Sealed Classes
Use sealed classes/interfaces for exhaustive type hierarchies:
sealed class Result<out T> {
data class Success<T>(val data: T) : Result<T>()
data class Failure(val error: AppError) : Result<Nothing>()
}
Extension Functions
Add behavior without inheritance, scoped to where they're used:
fun String.toSlug(): String =
lowercase().replace(Regex("[^a-z0-9\\s-]"), "").replace(Regex("\\s+"), "-")
Scope Functions
let: Transform nullable or scoped resultapply: Configure an objectalso: Side effects- Avoid nesting scope functions
Dependency Injection
Use Koin for DI in Ktor projects:
val appModule = module {
single<UserRepository> { ExposedUserRepository(get()) }
single { UserService(get()) }
}
Reference
See skill: kotlin-patterns for comprehensive Kotlin patterns including coroutines, DSL builders, and delegation.