This repository contains sources of Compose Multiplatform supporting projects (Gradle plugin, Resources, samples, templates, etc.).
The main codebase for Compose Multiplatform is located in a separate repository, which is a fork of AOSP. Contributions that affect Android or common code of the main codebase should be submitted in AndroidX repository.
We love contributions! If you want to find some issues to start off with, try this query which should find all open Compose Multiplatform issues that are marked as "up-for-grabs".
If you'd like to fix a bug or add a feature, create a YouTrack issue for it first. You'll then be able to discuss the proposed change with maintainers. It would help to avoid situations when the change conflicts with some other feature or help discover potential edge cases.
Currently only committers can assign issues to themselves so just add a comment if you're starting work on it.
If you are working on the compose-multiplatform-core repo, make sure to follow the development guide for local set up.
The best way to submit a patch is to fork the project on GitHub and then send us a
pull request to the master branch via GitHub.
If you create your own fork, it might help to enable rebase by default when you pull by executing
git config --global pull.rebase trueThis will avoid your local repo having too many merge commits which will help keep your pull request simple and easy to apply.
Most of these rules are originated from the How to Write a Git Commit Message article, and it's highly recommended to read it.
- Explain what and why vs. how
- Please make an extra effort to explain why changes are needed for every non-trivial modification.
- Describe how you tested your changes
- Add Release Notes
- Follow the PR template
- Mention relevant YouTrack issues in their messages
- Commit changes together with the corresponding tests, unless the resulting commit becomes too unwieldy to grasp
- Capitalize the title
- Do not end the title with a period
- Use the imperative mood in the title
Before submitting the pull request, make sure that you can say "YES" to each point in this short checklist:
- You provided the link to the related issue(s) from YouTrack
- You made a reasonable amount of changes related only to the provided issues
- You can explain changes made in the pull request
- You ran the build locally and verified new functionality
- You ran related tests locally and they passed
- You do not have merge commits in the pull request