build.framework value.
The CLI detects KMP projects by looking for a shared module alongside native
shell directories (iosApp, androidApp, or composeApp) and KMP-specific
Gradle markers. If exactly one native platform is present, init authors a
platform-oriented profile using the inferred native command or a placeholder
for you to complete. If both are present, init writes project and session
configuration only; configure the native apps as separate Revyl projects
rather than authoring legacy build.system or build.platforms fields.
KMP does not have its own hot reload runtime. The dev loop uses the same rebuild model as native iOS/Android: press [r] to rebuild the full binary including shared Kotlin code, upload it, and reinstall.
What revyl init shows
When KMP is detected, the CLI explains the mapping:
Manual configuration
If auto-detection does not trigger (e.g. a non-standard project layout), configure the native builds manually:framework: android and an android recipe in that
app’s project config. build_commands is always an ordered list, even when the
recipe has one command. Run revyl config validate after authoring it.