The documentation is a good place to start -
https://kotlinlang.org/docs/reference/multiplatform.html
Something else that I’ve found trips people up is not understanding the common source-set. The Common source can’t compile, as it’s by definition, platform-less. When you compile a multiplatform project, the way you can visualize it as if the source-set is being copied to that platforms source directory during compilation. So if you compile for JVM, it gets the complete JVM source to compile by combining the JVM sources and the common sources together.