All blocks

Content

Forms

Forms with numbered versions (steps and show or skip logic), a JSON Schema 2020-12 per version that validates every submission, drafts, public links through share-links with a rate limit and a bot-check hook, and handlers that turn a submission into a record.

DocsModes:managedadoptcustom
terminal
npx better-supabase sql add forms
better-supabase.config.ts
import { defineConfig } from "better-supabase/config";

export default defineConfig({
  sql: {
    modules: {
      // Required by forms; sql add installs them too.
      "updated-at": {},
      tenant: {},
      "jsonb-schemas": {},
      access: {},
      // Modes: "managed", "adopt", "custom". The default is "managed".
      forms: { mode: "managed" },
    },
  },
});