No annotations required. ComposeAtlas reads your existing NavHost builders and renders an interactive node-link diagram right inside your IDE tool window.
ComposeAtlas parses your NavHost, your navigate() calls, and your @Preview functions, then lays it out as a diagram you can click through. The code below is what produces the graph next to it — click either side to see the connection.
NavHost(navController, startDestination = "home") {
composable("home") { HomeScreen() }
composable("details") { DetailsScreen() }
composable("settings") { SettingsScreen() }
}
navController.navigate("details")
navController.navigate("settings")
navController.navigate("payment") // never registered
Illustrative sample — not this project's actual source.
Detected automatically as the NavHost start destination — no annotation needed.
ComposeAtlas walks your Kotlin PSI tree, finding every NavHost {} block including nested and modularized graphs.
Follows val/const val route constants, sealed/enum classes, and matches @Preview annotations to their destination composables.
Builds an interactive node-link diagram with color-coded nodes you can click straight through.
Select a node to highlight it and its edges. Double-click to jump directly to that destination's source in the editor.
Built for real Compose projects — handles the patterns that teams actually use in production.
Reads your existing NavHost directly — no new annotations, no config files, no duplication of your routing structure.
Resolves destinations at any nesting depth, including nav graphs split across per-feature functions in separate modules.
Follows val, const val, sealed class properties, enum entries, and looped dynamic routes like bottom-nav Tab.entries iterations.
Links @Preview and multipreview annotations to their screens automatically. Light-blue nodes confirm at a glance which destinations have a preview.
Zoom and pan the diagram, drag nodes to rearrange, and export the whole graph as a PNG for docs and PRs.
Double-click any node to navigate directly to that destination's composable registration or matching @Preview source in the editor.
Select a node to visually highlight it together with all incoming edges — instantly see what leads to any given destination.
Available for Android Studio and IntelliJ IDEA.