hi-manshu
- 12 skills
- 0 followers
- 7 hours ago last updated
- ▌
- ▌ Named Arguments · hi-manshuCall-site convention for the Charty codebase — use when writing or editing Kotlin in charty/ or composeApp/, and before committing. Function/constructor calls with two or more arguments must pass them by name (foo(a = x, b = y)), not positionally, for readability and safe refactoring. Trigger when adding a call, a drawer/helper invocation, or a chart composable call.
- ▌
- ▌ Commit With Stats · hi-manshuCreate a git commit for the Charty project with a change-stats block appended to the message body. Use whenever the user asks to commit (e.g. "commit this", "commit and push", "make a commit"). Produces a bracketed [Type]-prefixed imperative subject, a descriptive body, and a "Stats" footer of files-changed / insertions / deletions / net LOC. Never adds a Claude co-author trailer.
- ▌ Kotlin API Design · hi-manshu bundleUse when designing or reviewing Kotlin function ownership, member or extension functions, factories, single-field domain types, value classes, data classes, Kotlin Multiplatform expect/actual declarations, or platform service boundaries.
- ▌ Compose Animations · hi-manshuUse when writing or reviewing Jetpack Compose motion: visibility enter/exit, animating one property toward a target, color or size transitions, multiple properties from one state, switching composable content, or choosing between AnimatedVisibility, animate*AsState, rememberTransition, AnimatedContent, and Crossfade.
- ▌ Compose Performance · hi-manshu bundleUse when investigating Jetpack Compose recomposition cost, compiler stability reports, skippability, unstable parameters, frame-rate State reads, cross-phase snapshot back-writing, or @ReadOnlyComposable contracts.
- ▌ Control Flow Braces · hi-manshuBrace style for the Charty codebase — use when writing or editing any Kotlin in charty/ or composeApp/, and before committing. Every `if`/`else if`/`else`/`for`/`while` body must be wrapped in braces `{ }`, even a single statement, a one-liner, or an `if`/`else` used as a value expression. Braceless forms like `if (w > m) m = w` or `val x = if (a) 1 else 2` are not allowed.
- ▌ Sample Surface Parity · hi-manshu bundleEvery public Charty chart must be reachable in BOTH sample surfaces — the web playground and the mobile/desktop gallery — plus its docs page and README catalog entry. Use when adding a new chart, a new chart module, or a new configurable capability, and before committing any of those. Trigger on "new chart", "add a chart", "3D chart", "expose a config", "add to playground", "wire it up", "is it done".
- ▌ Chartycolor Over Color · hi-manshuPublic color API convention for Charty — use when adding or changing any public config property, data-class field, or composable parameter that sets the color of a chart element (fill, stroke, series, segment, arc, band, needle, point), and before committing. Such colors must be typed as ChartyColor (Solid or Gradient), never a raw androidx.compose.ui.graphics.Color. Trigger on "add a config", "new chart", "expose a color", "gauge/arc/zone color".
- ▌ Compose Component Design · hi-manshu bundleUse when designing or reviewing reusable Jetpack Compose component APIs with modifier parameters, root layout placement, caller-provided variable content, primitive content parameters, optional content, or boolean shape flags.
- ▌ Compose State And Effects · hi-manshu bundleUse when writing or reviewing Jetpack Compose state ownership, remember state, state hoisting, screen state holders, LaunchedEffect, DisposableEffect, SideEffect, Flow collection, navigation, snackbar, analytics, or focus requests.