content: [versions]
  # Plugins
  android-plugin = "8.3.1"
  kotlin = "1.9.23"
  binarycompatibilityvalidator = "0.14.0"
  detekt = "1.21.0"
  android-junit5 = "1.9.3.0"
  testlogger = "3.2.0"
  
  # Core
  androidx-core = "1.10.1"
  androidx-appcompat = "1.6.1"
  androidx-activity = "1.7.2"
  
  # UI
  androidx-constraintlayout = "2.1.4"
  androidx-recyclerview = "1.3.1"
  google-material = "1.9.0"
  
  # Lifecycle
  androidx-lifecycle = "2.6.2"
  
  # Testing
  junit = "5.10.0"
  kotest = "5.7.2"
  mockk = "1.13.7"
  
  # Debug
  leakcanary = "2.12"
  
  [plugins]
  android-library = { id = "com.android.library", version.ref = "android-plugin" }
  android-app = { id = "com.android.application", version.ref = "android-plugin" }
  kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
  kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
  binarycompatibilityvalidator = { id = "org.jetbrains.kotlinx.binary-compatibility-validator", version.ref = "binarycompatibilityvalidator" }
  android-junit5 = { id = "de.mannodermaus.android-junit5", version.ref = "android-junit5" }
  testlogger = { id = "com.adarshr.test-logger", version.ref = "testlogger" }
  detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
  
  [libraries]
  # Core
  androidx-core = { group = "androidx.core", name = "core-ktx", version.ref = "androidx-core" }
  androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidx-appcompat" }
  androidx-activity = { group = "androidx.activity", name = "activity-ktx", version.ref = "androidx-activity" }
  
  # UI
  androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "androidx-constraintlayout" }
  androidx-recyclerview = { group = "androidx.recyclerview", name = "recyclerview", version.ref = "androidx-recyclerview" }
  google-material = { group = "com.google.android.material", name = "material", version.ref = "google-material" }
  
  # Lifecycle
  androidx-lifecycle-viewmodel = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "androidx-lifecycle" }
  androidx-lifecycle-runtime = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "androidx-lifecycle" }
  androidx-lifecycle-common = { group = "androidx.lifecycle", name = "lifecycle-common-java8", version.ref = "androidx-lifecycle" }
  
  # Testing
  junit-api = { group = "org.junit.jupiter", name = "junit-jupiter-api", version.ref = "junit" }
  junit-engine = { group = "org.junit.jupiter", name = "junit-jupiter-engine", version.ref = "junit" }
  kotest-runner = { group = "io.kotest", name = "kotest-runner-junit5-jvm", version.ref = "kotest" }
  kotest-assertions = { group = "io.kotest", name = "kotest-assertions-core-jvm", version.ref = "kotest" }
  kotest-property = { group = "io.kotest", name = "kotest-property-jvm", version.ref = "kotest" }
  mockk = { group = "io.mockk", name = "mockk-android", version.ref = "mockk" }
  
  # Debug
  leakcanary = { group = "com.squareup.leakcanary", name = "leakcanary-android", version.ref = "leakcanary" }
  
  # Detekt plugins
  detekt-formatting = { group = "io.gitlab.arturbosch.detekt", name = "detekt-formatting", version.ref = "detekt" }
  
  [bundles]
  androidx-lifecycle = [
      "androidx-lifecycle-viewmodel",
      "androidx-lifecycle-runtime",
      "androidx-lifecycle-common",
  ]
  kotest = [
      "kotest-runner",
      "kotest-assertions",
      "kotest-property",
  ]