* Open Source Schema-as-Code Framework

Your admin panel shouldn't make you write CRUD.

Define your data schema in pure TypeScript. Rebase instantly handles database migrations, generates API endpoints, and delivers a premium React admin console.

> pnpm dlx @rebasepro/cli init

Trusted by engineering teams at forward-thinking companies

Postgres Row-Level Security

Visual Database Security Policies

Write database security rules visually inside the admin console. Presets automatically compile to Postgres-compliant SQL and sync live with Postgres.

rebase-console / policies_manager.sql
Security Engine Active
AST Code Mutation

Schema-as-Code & Sync

Define collections in pure TypeScript schema models. Visual additions automatically execute AST mutations, writing code directly back to your repository.

Active Driver: drizzle-kit push:pg
schema/posts.ts
import { buildCollection, buildProperty } from "@rebasepro/core"; export const posts = buildCollection({ name: "Posts", properties: { id: buildProperty({ dataType: "string" }), title: buildProperty({ dataType: "string" }), status: buildProperty({ dataType: "string" }) } });
Universal SDK autocomplete & API response Type-Safe
Isomorphic Drizzle-Like SDK

A Truly Typed SDK

Query database records cleanly with deep relational joins, zero N+1 query loops, and compile-time type validation mapping your database schemas.

React Extensibility

Custom Widget Extensions

Register any standard React components directly into document schema fields. Rebase automatically binds value states and inputs without complex templates.

schema/fields_widgets.tsx
import { buildProperty } from "@rebasepro/core"; import { ColorPicker } from "./widgets"; export const brand = buildProperty({ name: "Brand Color", dataType: "string", customFieldWidget: ColorPicker, validation: { required: true } });
Isomorphic Architecture

One SDK. Every environment.

The same @rebasepro/client runs natively in your serverless functions, your user-facing apps, and your Node.js backend. Zero wrappers. Pure developer ergonomics.

Serverless & Edge
Cloudflare Workers, Vercel Edge
// Run on serverless runtime
const { data } = await
rebase.data.posts.find({
orderBy: "createdAt:desc"
});
Frontend Apps
React, Next.js, Remix, Astro
// Client-side app data query
const { data } = await
rebase.data.posts.find({
orderBy: "createdAt:desc"
});
Backend Services
Node.js, Express, Hono, Fastify
// Node backend servers
const { data } = await
rebase.data.posts.find({
orderBy: "createdAt:desc"
});

Same client library. Shared schema TS models. Unified authorization policies. Zero adapters.

Explore SDK reference
Rebase UI components

Everything for your interface needs

Need custom pages or fields? Build them in minutes using Rebase's library of layout widgets, cards, and input fields.

Build Custom Views

Use our built-in React hooks to query data, handle errors, and manage transactions directly inside custom dashboards or document views.

src/components/ProductDetailPreview.tsx
typescript
export function ProductDetailPreview({ modifiedValues }: {
    modifiedValues?: EntityValues<Product>;
}) {
    const snackbarController = useSnackbarController();
    const [quantity, setQuantity] = React.useState(1);

    if (!modifiedValues) {
        return <CenteredView>Please add some data to see the preview</CenteredView>;
    }

    const { name, price, description, images } = modifiedValues;
    const mainImage = images?.[0];

    return (
        <div className="p-8">
            <div className="grid md:grid-cols-2 gap-8 max-w-4xl mx-auto">
                {/* Product Image */}
                {mainImage && (
                    <img alt="Product" className="aspect-square object-cover w-full rounded-lg" src={mainImage} />
                )}
                {/* Details */}
                <div className="grid gap-4 content-center">
                    <h1 className="text-3xl font-bold">{name ?? "Product name"}</h1>
                    <div className="text-3xl font-semibold">\${price}</div>
                    <Markdown source={description ?? ""} />
                    <QuantitySelect onSelected={(qty) => snackbarController.open({
                        type: "success",
                        message: \`Added \${qty} items to cart\`
                    })}/>
                </div>
            </div>
        </div>
    );
}
Live Component Preview
Pro Studio Headphones
In Stock

Pro Studio Headphones

SKU: HEAD-X200

$299

Studio-grade sound with active noise cancellation, 40-hour battery, and premium carbon fibre build.

Qty
1

Ready to build?

Dive into our open-source framework. Install the CLI tool, initialize your workspace, and start designing your next dashboard layout.