Frameworks
Remix
Mount the Clivly tick route as a Remix action route module.
The docs work better when framework-specific scaffolding is on its own route instead of being buried in one huge page.
clivly.createClivlyHandler()
clivly.config.ts
mounted as
Next.js
app/api/clivly/tick/route.tsTanStack Start
src/routes/api/clivly/tick.tsSvelteKit
src/routes/api/clivly/tick/+server.tsRemix
app/routes/api.clivly.tick.tsNuxt
server/api/clivly/tick.tsall resolve to
/api/clivly/tick
what Clivly calls
This is why `syncTrigger.path` is a single constant rather than a per-framework setting.
Every framework wraps the same createClivlyHandler(), and every route resolves to the same public URL: /api/clivly/tick. In Remix, clivly init scaffolds a route module at app/routes/api.clivly.tick.ts.
SvelteKit, Remix, and Nuxt are all scaffolded by clivly init — each mounts the same handler behind its own router's export shape.
Remix
app/routes/api.clivly.tick.ts
import type { ActionFunctionArgs } from "@remix-run/node";
import clivly from "../../clivly.config";
const handler = clivly.createClivlyHandler();
export const action = ({ request }: ActionFunctionArgs) => handler(request);