Skip to content

Mastersam07/kaisel

Repository files navigation

kaisel

pub package CI codecov

A Dart 3-native Flutter router built on sealed routes, pattern matching, and a stack-as-state model. No string paths. No codegen.

This repository is a pub workspace containing the router and its satellite packages.

Package Description
packages/kaisel The Flutter router — KaiselRouterConfig for one-line MaterialApp.router setup, terse context.* navigation, shells, modules, adaptive layouts, transitions. This is the package you depend on. Start with its README.
packages/kaisel_core Pure-Dart navigation core — sealed routes, the router, guards, and URL codecs. No Flutter dependency. Re-exported by kaisel.
packages/kaisel_devtools DevTools extension — a zero-integration live inspector for navigation state: the main stack (with diff highlight), shells, modules, flows, guard trace, a Problems panel, and a transitions log that shows the call site behind each navigation. Debug-only; just open DevTools.
packages/kaisel_lint Custom lint rules, quick fixes, and assists for the router, built on the first-party analysis_server_plugin API.

Getting started

Add kaisel to your app:

dependencies:
  kaisel: ^0.22.0

Then see the kaisel README for the full guide, and packages/kaisel/example for runnable examples.

Migrating from another router

Coming from another router? The migration guides cover what translates, what doesn't, and the effort involved:

Editor / AI assistance

This repo ships an agent skill that teaches AI coding agents how kaisel works — the sealed-route model plus navigation, shells, modal flows, modules, codecs, guards, adaptive layouts, and transitions. Install it with the skills CLI, which targets Claude Code, Cursor, opencode, and other agents:

npx skills add Mastersam07/kaisel

It lands in your agent's skills directory (e.g. .claude/skills/) and loads on the next session — triggering when you work with package:kaisel code.

Working in this repo

flutter pub get                       # resolves the whole workspace (one lockfile)
dart format --output=none --set-exit-if-changed .
flutter analyze
(cd packages/kaisel_core && dart test)  # pure-Dart core tests
(cd packages/kaisel && flutter test)    # widget-layer tests

License

Apache-2.0 © 2026 Codefarmer.

About

Type-safe Flutter routing with no string paths and no codegen. Routes are sealed classes, your nav stack is a typed list, and the compiler makes sure you handle every screen.

Topics

Resources

License

Stars

26 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages