android-compose
Domain plugin for Jetpack Compose component API guidance and Material 3 design tokens. Covers composable function shape, state hoisting, modifiers, slot APIs, recomposition discipline, lazy lists, Material 3 color/typography/elevation/motion tokens, accessibility, and adaptive layout patterns.
Atom counts by kind
| Kind | Count |
|---|---|
| rule | 15 |
| pattern | 3 |
| principle | 2 |
| anti-pattern | 1 |
Tag vocabulary
Words a brief might contain that signal this domain.
Retrieval axes
Domain-specific dimensions used by Prime's retrieval scoring.
layer · 7 matches
The architectural layer the atom addresses — function shape, state management, layout, theming, or accessibility.
surface · 8 matches
The Compose surface or component family the atom applies to.
accessibility-class · 6 matches
The accessibility concern the atom addresses, mapped to platform a11y requirements (TalkBack, motor accessibility, visibility).
Sample atoms
Side Effects In Composables
Putting impure work — `viewModel.fetchUser()`, `analytics.log("viewed")`, `scope.launch { ... }`, or `someState.…
Edge To Edge Insets
On Android 15+ activities are edge-to-edge by default — content draws behind the status bar and navigation bar, all the way to the screen edges.…
Predictive Back
On Android 13+ predictive back lets users peek at the destination during the back-gesture: as the user drags from the screen edge, the OS shows a preview of where they'll land.…
Responsive Via Window Size Class
Read the current window dimensions through `currentWindowAdaptiveInfo()` and switch layout topology by `WindowWidthSizeClass` (Compact / Medium / Expanded) and `WindowHeightSizeClass`. Compact = phone portrait (1-pane).…
Recomposition As Source Of Truth
Recomposition is the source of truth, not the developer's intuitions about call frequency.…
State Driven Ui
Treat every screen as a pure projection of a State object onto pixels. Inputs (clicks, text, gestures) update the State; the State drives the projection; the projection is the UI.…
Avoid Recomposition Via Remember
A composable's body re-runs on every recomposition. Anything allocated or computed at the top level of the body — a parser, a Regex, a sorted list, a formatted string — runs every recomposition unless wrapped in `remembe…
Color Roles Not Raw Hex
Material 3 defines 30+ semantic color *roles* — `primary`, `onPrimary`, `surface`, `onSurfaceVariant`, `error`, `outline`, etc. — exposed in Compose as `MaterialTheme.colorScheme.<role>`.…
Composable Annotation Not Raw Fn
A function that emits Compose UI or invokes other @Composable functions must itself be marked @Composable.…
Content Description Non Decorative
TalkBack reads `contentDescription` aloud when focusing an image or icon. Every non-decorative visual that conveys information OR is the only label for an action must have a non-empty `contentDescription`.…
Elevation Tokens
Material 3 elevation is expressed via six tokens — `level0` (0dp) through `level5` (12dp) — that map to BOTH a shadow elevation and a tonal-color overlay drawn on top of `surface`.…
Hoist State Up
A composable that displays a piece of state should NOT own it. Owning means calling `remember { mutableStateOf(...) }` inside the composable that renders.…