Home

Generate types using GitHub Actions

End-to-end type safety across client, server, and database.


You can use the Supabase CLI to automatically generate Typescript definitions from your Postgres database. You can then pass these definitions to your supabase-js client and get end-to-end type safety across client, server, and database.

Inside your repository, create a new file inside the .github/workflows folder called generate-types.yml. Copy this snippet inside the file, and the action will run whenever a new PR is created:

Verify types

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
name: 'generate-types'on: pull_request:jobs: build: runs-on: ubuntu-latest steps: - uses: supabase/setup-cli@v1 with: version: latest - run: supabase init - run: supabase db start - name: Verify generated types match Postgres schema run: | supabase gen types typescript --local > schema.gen.ts if ! git diff --ignore-space-at-eol --exit-code --quiet schema.gen.ts; then echo "Detected uncommitted changes after build. See status below:" git diff exit 1 fi

More resources