reitit-routing

Configure server and client routing with Reitit in Clojure.

Updated Mar 16, 2026
One-click install
npx skills add https://github.com/pyze/claude-plugin --skill reitit-routing
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: reitit-routing
Source: https://github.com/pyze/claude-plugin/tree/main/skills/reitit-routing
Command: npx skills add https://github.com/pyze/claude-plugin --skill reitit-routing

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill streamlines the process of defining and managing both server-side API routes and client-side browser navigation within a Clojure application, ensuring a consistent and data-driven approach to routing.

Core Features & Use Cases

  • Full-Stack Routing: Unified configuration for backend API endpoints and frontend navigation.
  • Data-Driven Routes: Define routes as plain data structures for easy composition and validation.
  • Bi-directional Routing: Generate URLs from route definitions and match URLs to routes.
  • Parameter Coercion: Built-in support for validating route parameters using spec or malli.
  • Use Case: Implement a new feature that requires both a new API endpoint to fetch data and a corresponding client-side view to display it, ensuring seamless navigation and data flow.

Quick Start

Use the reitit-routing skill to define a new GET route at /api/users/:id that handles user data retrieval.

Frequently Asked Questions about reitit-routing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure both server-side API routes and client-side browser navigation in Clojure?

Clojure web routing can be configured for both server and client using the Reitit library, which manages route definitions, parameter extraction, and history management. It provides a unified, data-driven approach for defining backend API endpoints and frontend views.

How do I define Clojure web routes as plain data structures?

Defining Clojure web routes as plain data structures is supported by Reitit's data-driven routing approach. You define routes as data for easy composition and validation, enabling bi-directional routing to generate URLs from definitions and match URLs to routes.

Can I validate URL parameters in Clojure routing using spec or malli?

Validating URL parameters in Clojure routing is supported through built-in parameter coercion. Reitit provides built-in support for validating route parameters using either spec or malli, ensuring data integrity for API endpoints and frontend navigation.

What's the best way to generate URLs from route definitions in a Clojure web application?

Generating URLs from route definitions in a Clojure web application is handled by Reitit's bi-directional routing feature. It allows you to generate URLs directly from route data configurations and match incoming URLs to routes, ensuring seamless navigation and data flow.

Does Reitit routing work for both frontend views and backend API endpoints?

Reitit routing works for both frontend views and backend API endpoints within a Clojure application. It streamlines full-stack routing by providing unified configuration for server-side API endpoints and client-side browser navigation using a consistent data-driven approach.

Why use data-driven routing for Clojure web applications instead of macro-based definitions?

Data-driven routing in Clojure web applications ensures easy composition and validation compared to macro-based definitions. Reitit allows routes to be defined as plain data structures, enabling bi-directional routing, parameter coercion, and unified full-stack configuration.