Skip to content
/ kmp-project-template Public template

The Kotlin Multiplatform Multi-module Template generator simplifies cross-platform development by enabling shared business logic and UI components across Android, iOS, Desktop, and Web, while retaining native platform functionality.

License

Notifications You must be signed in to change notification settings

openMF/kmp-project-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

99 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Project Logo

KMP Multi-Module Project Generator

πŸš€ The Ultimate Kotlin Multiplatform Project Generator with Production-Ready Setup

Kotlin Kotlin Multiplatform Compose Multiplatform

badge-android badge-ios badge-desktop badge-js

PRs Welcome GitHub license Pr Checks Slack

Note

This branch is designed for partial customized projects. Running the customizer.sh script doesn't rename any application module, instead it'll change all core and feature module namespaces, packages, and other related configurations accordingly.

For full customization, please use the full-customizable branch instead.

🌟 Key Features

  • Cross-Platform Support: Android, iOS, Desktop, and Web applications from a single codebase
  • Multi-Module Architecture: Clean, organized, and scalable project structure
  • Advanced Source Set Hierarchy: Sophisticated code sharing structure with logical platform groupings
  • Pre-configured CI/CD: GitHub Actions workflows for building, testing, and deployment
  • Code Quality Tools: Static analysis and formatting tools pre-configured
  • Sync Capabilities: Tools to stay in sync with upstream template changes
  • Secrets Management: Secure handling of keystores and sensitive information

πŸš€ Getting Started

Prerequisites

  • Bash 4.0+
  • Unix-like environment (macOS, Linux) or Git Bash on Windows
  • Android Studio/IntelliJ IDEA
  • Xcode (for iOS development)
  • Node.js (for web development)

Quick Start

  1. Clone the Repository
git clone https://github.com/openMF/kmp-project-template.git
cd kmp-project-template
  1. Run the Customizer
./customizer.sh org.example.myapp MyKMPProject
  1. Build and Run
./gradlew build

πŸ“ Project Structure

The project follows a modular architecture:

  • Platform Modules: cmp-android, cmp-ios, cmp-desktop, cmp-web, etc.
  • Core Modules: Common, reusable components shared across all features
  • Feature Modules: Self-contained feature implementations
  • Build Logic: Custom Gradle plugins and build configuration

πŸ“š Documentation

Our project includes comprehensive documentation to help you get started and understand the architecture:

Documentation is continuously improving. Check back for updates or contribute to enhancing our docs!

🀝 Contributing

We welcome contributions to improve the project template! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a pull request

Please follow our Contributing Guidelines for detailed information.

πŸ“« Support

πŸ“„ License

This project is licensed under the Mozilla Public License 2.0

About

The Kotlin Multiplatform Multi-module Template generator simplifies cross-platform development by enabling shared business logic and UI components across Android, iOS, Desktop, and Web, while retaining native platform functionality.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 6