# metosin/reitit

A fast data-driven routing library for Clojure/Script

Repository: https://github.com/metosin/reitit
Canonical: https://ross.abutalabs.com/products/reitit
Homepage: https://cljdoc.org/d/metosin/reitit/
Language: Clojure
License: EPL-1.0
License Family: copyleft
Topics: clojure, clojurescript, routing, data-driven, ring, swagger, interceptors, middleware, pedestal, frontend, metosin-active
Last push: 2026-08-24T05:33:34+00:00

## Health v2 (maintenance only)
Score: 86/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 62, longevity 100
- inputs: {"age_days": 3313, "days_push": 9, "days_rel": 176, "gap_med": 65.5, "n_releases_24m": 3}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1581, forks 261 (observed 2026-08-28T04:05:06.933737+00:00)

## What it is
Reitit is a fast, data-driven routing library for Clojure and ClojureScript. It provides bi-directional routing, first-class route data, pluggable request/response coercion, and integrations with Ring, HTTP interceptors, Pedestal, and frontend routing.

## Use cases
- define http routes for a ring-based clojure web app
- generate urls from route names (reverse routing)
- validate and coerce path and query parameters with malli or clojure.spec
- generate swagger or openapi documentation from route data
- route on the frontend in a clojurescript single-page app
- build interceptor-based http services with pedestal
- detect route conflicts at router creation time

## When to choose
- you are building a web backend or API in Clojure or ClojureScript
- you want routing defined as plain data with composable route metadata
- you need bi-directional routing (path matching and URL generation)
- you want integrated request coercion and API documentation generation
- performance of route matching matters

## When to avoid
- you are not working in Clojure or ClojureScript
- you need a full batteries-included web framework rather than a routing library
- you prefer middleware-free or macro-based routing styles like Compojure
- you need route guards or syntax features specific to other libraries like Bidi

## Facets
- artifact type: library
- maturity: stable
- function: routing, middleware, web-framework, api-framework, serialization
- domain: web-development, backend, frontend, apis, developer-tools
- platform: jvm, jvm-scripting, cross-platform
- tags: clojure, clojurescript, ring, pedestal, swagger, openapi, data-driven-routing, coercion, malli, frontend-routing

## Member repositories
- metosin/reitit (main) score 86

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:06.933737+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:56:34.000033+00:00, confidence not recorded.
  - readme: https://github.com/metosin/reitit (fetched 2026-08-28T04:05:06.933737+00:00, sha 56fdbee95cc1)
  - homepage: https://cljdoc.org/d/metosin/reitit/ (fetched 2026-08-29T11:26:45.102075+00:00, sha 115e62e7b89c)
  - site_page: https://cljdoc.org/d/metosin/reitit/0.11.0-rc1/doc/misc/faq (fetched 2026-08-29T11:26:45.104767+00:00, sha 5eb9f7f74f27)
- Data as of 2026-08-30T08:39:29.467469+00:00.
