Kaisel – Routes as Values. Dart 3 Native Router for Flutter

kaisel
Routes as values. A Dart 3-native router for Flutter — no string paths, no codegen.
Get Started
View on GitHub
Get started
Terminal window
flutter
pub
add
kaisel
The
getting started guide
takes you from install to
navigating with typed routes in a few minutes — sealed class, exhaustive
switch
, done.
Sealed routes, exhaustive builds
Navigation is a
switch
over a sealed type. Add a route and the compiler
finds every place that must handle it — no runtime “unknown route” left.
The stack is a value
Your history is a
List
of route objects. Push, pop, and set are list
operations — testable without a widget tree, restorable across process
death.
Every navigation. One observer.
Register a standard
NavigatorObserver
once — it sees tab switches and
adaptive in-place changes that produce no route event in other routers.
Zero codegen
No
build_runner
, no generated files, no magic strings. Routes are plain
Dart classes you already know how to write.
Learn
Tutorial: your first app
The mental model
Navigation
Shells & tabs
Modal flows
Adaptive layouts
Guards
URLs & deep linking
Migrate
Migration overview
From go_router
From auto_route
From Navigator
Roadmap
API reference
Edit page