This directory contains the libraries that make up Jetpack Compose. All code generated or modified must follow standard AndroidX Compose guidelines.
compose:runtime): The core engine for state management and the composition tree.compose:ui): Orchestration layer for layout, input, graphics, and text primitives.compose:foundation): Design-system-agnostic building blocks (e.g., LazyColumn, gestures).compose:material): Design-system-specific components implementing Material Design..kt files are formatted using ./gradlew :ktCheckFile --format --file <file> before committing or calling a change done. Multiple files can be formatted by appending more --file <path> arguments../gradlew <project>:updateApi (and <project>:updateAbiNative where applicable) after any public API change.frameworks/support directory.git mv when moving files to preserve history. Do not create git commits unless explicitly requested../gradlew <project>:compileDebugKotlinAndroid.commonMain whenever possible. Use androidMain or other platform-specific directories only for platform-specific API implementations.Modifier.Node implementations for high-performance modifiers. Avoid composed {}.@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) only when an API is strictly internal to AndroidX and would be difficult or dangerous for external developers to use correctly.@Experimental...Api annotations only when introducing new API surfaces that are likely to remain unstable. When in doubt, don't use them.libraryversions.toml for version management. Always check with the user when adding a new dependency.samples module. Link it in the KDoc using the @sample tag.androidDeviceTest for rendering verification. Screenshot tests must use AndroidXScreenshotTestRule and should be restricted to a specific SDK version (typically SdkSuppress(minSdkVersion = 35, maxSdkVersion = 35)) to ensure deterministic output.test directory for non-UI logic.*Test and placed in the same package as the code they test.