
Facilitates template-based project generation, streamlining setup and configuration processes for new projects with customizable templates and predefined structures.
kltemplate is a modern Kotlin Multiplatform library template designed to accelerate the development of cross-platform applications and libraries. It provides a robust, modular, and scalable foundation for targeting Android, JVM, and Web (WASM/JS) platforms using a single codebase.
The template leverages the latest Kotlin Multiplatform, Compose Multiplatform, and Gradle conventions, with a focus on clean architecture, testability, and developer experience.
libs.versions.toml..
├── app/ # Multiplatform application entry points
├── library/ # Shared library modules (UI, model, etc.)
├── benchmarks/ # Android macrobenchmark and baseline profile
├── build-logic/ # Gradle convention plugins and build scripts
├── kotlin-js-store/ # JS-specific modules (if any)
├── gradle/ # Gradle wrapper and version catalogs
├── spotless/ # Formatting configuration
├── README.md
├── CHANGELOG.md
└── ...
git clone https://github.com/mshdabiola/kltemplate.git
cd kltemplateBuild all targets:
./gradlew buildBuild and run the Android app:
./gradlew :app:installDebug
adb shell am start -n com.hobit.sample/.MainActivityBuild and run the JVM desktop app:
./gradlew :app:runJvmBuild and run the WASM/JS app (served locally):
./gradlew :app:jsBrowserDevelopmentRunlibrary/ and UI to app/.If you publish modules from library/, consumers can add dependencies via Maven Central or GitHub Packages (see Publishing).
./gradlew spotlessCheck detektRun all tests:
./gradlew testRun Compose UI tests (Android):
./gradlew :library:connectedAndroidTestGenerate and collect baseline profiles:
./gradlew :benchmarks:connectedAndroidTestThe template is pre-configured for publishing to Maven Central and GitHub Packages. Update groupId, versionName, and credentials in gradle/libs.versions.toml and GitHub secrets.
To publish:
./gradlew publishContributions are welcome! Please see CONTRIBUTING.md for guidelines.
This project is licensed under the Apache 2.0 License.
kltemplate is a modern Kotlin Multiplatform library template designed to accelerate the development of cross-platform applications and libraries. It provides a robust, modular, and scalable foundation for targeting Android, JVM, and Web (WASM/JS) platforms using a single codebase.
The template leverages the latest Kotlin Multiplatform, Compose Multiplatform, and Gradle conventions, with a focus on clean architecture, testability, and developer experience.
libs.versions.toml..
├── app/ # Multiplatform application entry points
├── library/ # Shared library modules (UI, model, etc.)
├── benchmarks/ # Android macrobenchmark and baseline profile
├── build-logic/ # Gradle convention plugins and build scripts
├── kotlin-js-store/ # JS-specific modules (if any)
├── gradle/ # Gradle wrapper and version catalogs
├── spotless/ # Formatting configuration
├── README.md
├── CHANGELOG.md
└── ...
git clone https://github.com/mshdabiola/kltemplate.git
cd kltemplateBuild all targets:
./gradlew buildBuild and run the Android app:
./gradlew :app:installDebug
adb shell am start -n com.hobit.sample/.MainActivityBuild and run the JVM desktop app:
./gradlew :app:runJvmBuild and run the WASM/JS app (served locally):
./gradlew :app:jsBrowserDevelopmentRunlibrary/ and UI to app/.If you publish modules from library/, consumers can add dependencies via Maven Central or GitHub Packages (see Publishing).
./gradlew spotlessCheck detektRun all tests:
./gradlew testRun Compose UI tests (Android):
./gradlew :library:connectedAndroidTestGenerate and collect baseline profiles:
./gradlew :benchmarks:connectedAndroidTestThe template is pre-configured for publishing to Maven Central and GitHub Packages. Update groupId, versionName, and credentials in gradle/libs.versions.toml and GitHub secrets.
To publish:
./gradlew publishContributions are welcome! Please see CONTRIBUTING.md for guidelines.
This project is licensed under the Apache 2.0 License.