File-based, identical to Astro's convention.
src/pages/index.lt → /
src/pages/about.lt → /about
src/pages/blog/index.lt → /blog
src/pages/blog/[slug].lt → /blog/:slug
src/pages/[...lang]/index.lt → /*lang (catch-all)
Convention fallback
If you have pages/[page].lt, it will match any unmatched
single-segment path — useful for CMS-driven pages.
Under the hood
Routes are inserted into a radix tree at build time. At runtime (Worker / Deno / Bun) the router does a single tree walk per request — no regex compilation, no eval, no allocations beyond the params object.