Skip to content

kmp doctor

Diagnose your development workstation environment, identify missing toolchains, and verify readiness for Kotlin Multiplatform development across Android, iOS, Desktop, and Web.


Usage

kmp doctor [options]

Options

  • --json: Output machine-readable JSON representation of the diagnostic tree. Essential for AI agents and CI/CD pipelines.

What It Checks

  1. Java Development Kit (JDK):
  2. Verifies $JAVA_HOME configuration.
  3. Ensures JDK version is 17 or higher (21 recommended).
  4. Android Toolchain:
  5. Locates $ANDROID_HOME or $ANDROID_SDK_ROOT.
  6. Audits installed build-tools, platforms (API 34/35), and SDK manager.
  7. Apple iOS & macOS Toolchain:
  8. Inspects Xcode installation and active developer directory (xcode-select).
  9. Validates command-line developer tools.
  10. Checks CocoaPods installation and version compatibility.
  11. Web & Wasm Toolchain:
  12. Checks Node.js runtime and version.
  13. Audits WebAssembly compatibility.
  14. Declarative Kotlin Toolchain 0.12+:
  15. Checks for standalone Amper / toolchain runner availability.

Example Outputs

Human-Readable Terminal Mode

🔍 Kotlin Multiplatform Environment Diagnostics

Java Development Kit (JDK):
  ✓ Java Home: /Users/dev/.sdkman/candidates/java/21.0.10-amzn
  ✓ Version: 21.0.10 (Amazon.com Inc.)

Android Ecosystem:
  ✓ Android SDK: /Users/dev/Library/Android/sdk
  ✓ Target SDKs: android-34, android-35
  ✓ Build Tools: 35.0.0

Apple Ecosystem:
  ✓ Xcode: 16.2 (Build 16C5032a)
  ✓ CocoaPods: 1.16.2

Web & Wasm:
  ✓ Node.js: v22.14.0

Conclusion:
  🚀 Ready to build Kotlin Multiplatform projects!

JSON Mode (--json)

{
  "status": "HEALTHY",
  "checks": [
    {
      "name": "JDK",
      "status": "PASS",
      "version": "21.0.10",
      "path": "/Users/dev/.sdkman/candidates/java/21.0.10-amzn"
    },
    {
      "name": "Android SDK",
      "status": "PASS",
      "version": "35.0.0",
      "path": "/Users/dev/Library/Android/sdk"
    },
    {
      "name": "Xcode",
      "status": "PASS",
      "version": "16.2",
      "path": "/Applications/Xcode.app"
    }
  ]
}