Primate
Docs
Guides
Blog
Get productive.
Short guides for common tasks. Browse topics and jump into the docs.
backends
Add a Go backend
Add a Grain backend
Add a Python backend
Add a Ruby backend
components
Serve Markdown
Use Angular components
Use Eta templates
Use Handlebars templates
Use HTML
Use HTMX
Use Marko components
Use React components
Use Solid components
Use Svelte components
Use Voby components
Use Vue components
Use Web Components
databases
Use MongoDB
Use MySQL
Use PostgreSQL
Use SQLite
Use SurrealDB
requests
Forward requests
Read body
Use cookies
Use headers
Use path parameters
Use query string
responses
Handle validation errors
Redirect to login page
Serve JSON
Serve plain text
Show errors
Stream binary data
Stream events with SSE
Implement a real-time chat with `WebSocket`
routes
404 fallback vs. `+error.ts`
Nested dynamic params
Optional params with `.try()`
Proxy webhook with raw body (no parsing)
Respond to `OPTIONS` (CORS preflight)
Scoped guards for protected areas
Single handler for `/api/*`
validation
Validate request bags
Validate request body
Validate with Pema