Hi - I answer from the OpenSmartRoute documentation: routing, the API, plans and quotas, self-hosting. Ask away, or open a support ticket if you need a person.
Grounded in the docs - follow a source before acting on it.
chaya-next-supabase-app - Skill - OpenSmartRoute
Skillv1.0.0
chaya-next-supabase-app
Next.js App Router + Supabase implementation patterns for consumer-menu
Instruction file imported from Zolababo/chaya-app (.cursor/rules/chaya-next-supabase-app.mdc). Copyright stays with the author.
App Router Patterns
Default to Server Components for data fetch/render gates.
Use Client Components only for interaction (timers, handlers, optimistic UI).
Keep route files thin: move shared logic into lib/* helpers.
Data and Errors
Prefer typed helper functions in lib/* over inline query logic in pages.
Keep user messages deterministic via explicit error-code mapping.
For multi-step auth flows, validate next paths with sanitizer helpers.
Merchant/Platform UX Consistency
Merchant pages should keep common nav/refresh behavior aligned.
Platform membership screens should reuse existing status messaging style.
If adding CRUD pages, follow the existing section pattern: form -> alert -> list.
Use it
Copy one of these into your project. Installing also returns the manifest and these snippets.
# after Install: the listing is in your workspace's routing pool - a plan picks it for its slot
curl -s -X POST https://api.opensmartroute.ai/api/v1/route -H 'Authorization: Bearer $OSR_API_KEY' -H 'Content-Type: application/json' -d '{"text": "...", "plan": true}'
Installed into a catalogue, chosen by a router
Install chaya-next-supabase-app and it becomes one more candidate the router can pick - when it fits.
A listing is a routing target with a manifest: what it does, which domains it covers, what it costs and who publishes it. Once installed it sits beside your own models and tools, is scored like any other candidate for each request, and shows up in the trace when it wins. Ratings come from workspaces that installed it, one per account.