Curi is a JavaScript router for single-page applications

import { curi, prepareRoutes } from '@curi/router';
import Browser from '@hickory/browser';

const history = Browser();
const routes = prepareRoutes([
  { name: 'Home', path: '', ... },
  { name: 'User', path: 'u/:userID', ... },
  // more routes...
  { name: 'Not Found', path: '(.*)', ... }

const router = curi(history, routes);

Curi cares about routing, you choose how you render. Curi currently supports React DOM, React Native, Vue, and Svelte. With a little elbow grease, Curi should work with any UI library.

Ready to learn more? Get started with the getting started guide.

Want to see Curi in action? The examples section has a variety of demos showing off what you can do with Curi.