Jadpo is experimental and not ready for production. These docs follow the compiler's main branch as of 30 Oct 2026. What's built · Install 0.1.0
jadpo
Reference: HTTP

HTTP

Route groups

Every route belongs to a route group: a routes declaration with a name and a prefix:. Each group has a file of its own in its domain's routes/ folder.

example
// domains/planning/routes/todos.jadporoutes Todos {    prefix: /todos    GET / { ... }    POST / { ... }    GET /{todo_id: Todo.id} { ... }    PATCH /{todo_id: Todo.id} { ... }}

The prefix comes before every route's own path, so GET /{todo_id: Todo.id} here answers GET /todos/{todo_id}.

The file is named after the prefix's fixed segments, joined with _: /todos is todos.jadpo, and /admin/orders is admin_orders.jadpo.

A prefix may hold typed placeholders, which every route in the group can use: prefix: /projects/{project_id: Project.id}/todos lives in projects_todos.jadpo. Two prefixes may start the same way, but the compiler checks that every URL matches exactly one group, so a URL from a log leads to one file.

A route is written GET /path { }, keyed by its method and path, which is how HTTP, OpenAPI and logs name a route. Everywhere else, a declaration's items are written name: value; a route entry is the one exception.

Routes are never public, the word that lets another domain use a declaration. Who may call a route is decided by sign-in (Routes: signed in by default) and by policy.

To see a route's full method and path, hover over it in the editor. jadpo routes lists every route with its full path, file, API, authentication and the query or action it runs.

Markdown for agents: /docs/route-groups.md.Built from Jadpo main at a707efb.