One definition.
Everything it produces.
Rebase turns a Postgres database into a product backend — REST, a typed SDK, realtime, auth, storage and access control the database itself enforces. The admin panel renders from the same file, and only if you ask for it.
What the definition produces
Both layers come out of the same file.
Un seul fichier TypeScript par collection comme unique point d'entrée. Le schéma de base de données, l'API REST, le SDK typé, les formulaires et chaque vue admin en découlent — et évoluent avec lui.
import type { PostgresCollectionConfig } from "@rebasepro/types"; export const products: PostgresCollectionConfig = { name: "Products", slug: "products", table: "products", properties: { name: { name: "Name", type: "string", validation: { required: true }, }, category: { name: "Category", type: "string", enum: { electronics: "Electronics", fashion: "Fashion", home: "Home & Garden", }, }, price: { name: "Price", type: "number" }, in_stock: { name: "In Stock", type: "boolean" }, image_url: { name: "Image", type: "string", url: true }, }, };
→ génère Vues admin · formulaires · schéma DB · API REST · SDK typé
Act one
The half that runs without a browser
A Rebase project is a Hono server and a Drizzle schema. It serves your data over REST, streams changes over WebSocket, issues and rotates tokens, stores files, runs your scheduled jobs, and publishes an OpenAPI document that is always current because nobody writes it.
Every one of those requests executes as a restricted Postgres role. That is the part worth reading twice: authorization is a property of your database, not of this process.
What you stop maintaining
- CRUD controllers, serializers and request validation
- A hand-rolled admin UI, and the sprint it costs every quarter
- JWT plumbing, refresh rotation and password-reset email
- Permission checks scattered across route handlers
- File-upload endpoints and signed-URL helpers
- A cron runner, a webhook dispatcher and an audit-log table
- The OpenAPI document nobody remembered to update
- A second data model, kept in sync with the first by hand
Votre flux de travail
Pensé pour votre façon
de travailler
Pas un énième outil à apprendre — Rebase fonctionne avec votre base de données et votre workflow existants.
Chaque vue. Zéro code.
Le SQL reste roi
Éditeur visuel, vrai TypeScript
Flexibilité infinie
Un framework visuel pour tous vos cas d'usage.
Du e-commerce à la gestion d'actifs, en passant par les éditeurs visuels et la modification de code en direct. L'UI schema-driven de Rebase s'adapte à tous les besoins de dashboard ou d'éditeur.
Act three
Built to be operated — by your team, and by their agents
The same authorization model that protects a human session protects a coding agent. That is the only version of agent access we are comfortable shipping.
MCP server
Thirty-odd tools an agent can call: read the schema, generate migrations, query data, manage storage and cron.
AI & agentsScoped API keys
Keys carry a permission list and pass through row-level security. There is no key that bypasses the database.
Security & RLSAgent skills
Installable instructions for Claude Code, Cursor, Windsurf and Gemini, so an agent writes Rebase the way you would.
For developersThe whole product
Everything Rebase ships, on one screen
The left column runs with nothing else installed. The right column is one dependency away, and deleting it does not move a single API response.
Layer 01
The backend
- REST API
/api/data/:collectionCRUD, filtering, sorting, pagination, relations
- Typed SDK
@rebasepro/clientGenerated from your collections, checked at compile time
- Realtime
listen()Row subscriptions, channels and presence over WebSocket
- Auth
/api/auth/*JWT access and refresh, OAuth, MFA, roles, API keys
- Storage
/api/storage/*Local, S3-compatible or GCS, routed per field
- Functions & cron
functions/Your own Hono routes and scheduled jobs, auto-mounted
- Row-level security
securityRulesPolicies compiled into Postgres — closed by default
- OpenAPI
/api/docsA spec and an explorer, regenerated with the schema
Layer 02
The admin panel
- Collection views
enabledViewsTable, cards, list and Kanban over the same rows
- Entity forms
propertiesGenerated from properties, with validation and relations
- Your React
admin.FieldCustom fields, previews, views and entity actions
- Users & roles
RBACThe same roles your policies read, managed by humans
- Studio
/studioSQL editor, schema builder, policy editor, branches, logs
The panel is a React app that talks to the endpoints on the left, under the same row-level security as your own client. There is no private back channel for data.
Start with whichever half you need
Scaffold a project in one command, or poke at a running one first.














