supabase/supabase
Configuration
Where the workspace's configuration lives, by topic. The list is exhaustive enough to navigate by — for the actual schemas, read the linked file.
Workspace-level
| File | Role |
|---|---|
package.json |
Root scripts and dev dependencies. |
pnpm-workspace.yaml |
Workspace globs, pnpm catalogs, dependency overrides, patched dependencies. |
pnpm-lock.yaml |
The lockfile (~1.3 MB). |
turbo.jsonc |
Turborepo pipelines (build, lint, dev, test, typecheck). |
tsconfig.json |
Workspace TS config (extends shared base from packages/tsconfig). |
prettier.config.mjs |
Prettier config; uses prettier-plugin-sql-cst and @ianvs/prettier-plugin-sort-imports. |
knip.jsonc |
Knip config for unused-export detection. |
supa-mdx-lint.config.toml |
MDX lint rules used by docs. |
Makefile |
Convenience targets. |
.nvmrc |
Pinned Node major. |
.npmrc |
Registry / hoist tweaks. |
.misspell-fixer.ignore |
Allowed words for the misspell-fixer workflow. |
.gitignore |
Includes the explicit apps/new-docs/* (abandoned) and various .env* rules. |
i18n/ |
Generated localization snippets. |
patches/react-data-grid.patch |
Patch applied via pnpm to react-data-grid for Studio's table editor. |
App-specific
| App | Files of interest |
|---|---|
apps/studio |
next.config.ts, csp.ts, proxy.ts, instrumentation*.ts, eslint.config.cjs, eslint.type-checks.config.cjs, vitest.config.ts, tailwind.config.ts. |
apps/docs |
next.config.mjs, middleware.ts, vitest.config.ts, vitest.setup.ts, tailwind.config.cjs, vercel.json. |
apps/www |
next.config.mjs, next.config.test.ts, middleware.ts, tailwind.config.js, vercel.json, schema.sql. |
apps/design-system |
next.config.mjs, contentlayer.config.js, tailwind.config.js. |
apps/ui-library |
next.config.mjs, contentlayer.config.js, components.json. |
apps/learn |
next.config.mjs, contentlayer.config.js. |
apps/lite-studio |
vite.config.ts, react-router.config.ts, Dockerfile. |
Self-host
| File | Role |
|---|---|
docker/docker-compose.yml |
The main bundle. |
docker/.env.example |
Every tunable env var (~10 KB). |
docker/docker-compose.{s3,rustfs,caddy,envoy,nginx,pg17}.yml |
Overrides for storage backends, edge proxies, Postgres major. |
docker/volumes/ |
Bind-mounted configs (e.g. Kong config, Vector config). |
Environment variables (most-used)
For Studio:
STUDIO_PORT— port to bind dev server on (default 8082).NEXT_PUBLIC_STUDIO_AUTH_MODE—supabase(hosted) ornone(self-host).POSTGRES_PASSWORD,SUPABASE_SERVICE_KEY— required when running against a docker stack.DEFAULT_ORGANIZATION_NAME,DEFAULT_PROJECT_NAME— initial selections.SKIP_ASSET_UPLOAD— set to1in CI to skip CDN uploads during build.
For docs / www:
.env.local.examplefiles document the real variables.- Sentry DSNs come from app-specific Sentry config.
For self-host:
- See
docker/.env.example. Critical:JWT_SECRET,ANON_KEY,SERVICE_ROLE_KEY,POSTGRES_PASSWORD,DASHBOARD_USERNAME,DASHBOARD_PASSWORD.
ESLint / lint
- Workspace-wide rules:
packages/eslint-config-supabase. - Studio's custom rules:
apps/studio/eslint-rules/. - Studio's ratchet config:
apps/studio/scripts/ratchet-eslint-rules.ts.
TypeScript
- Workspace base:
packages/tsconfig/base.json. - App overrides:
apps/<app>/tsconfig.json(extends one ofpackages/tsconfig/*). - Studio uses
next typegen(pretypecheck) to materialize Next.js generated types.
Sentry
Each Next.js app has sentry.edge.config.ts, sentry.server.config.ts, and an instrumentation-client.ts. Production releases upload sourcemaps via the bundled @sentry/cli.
Stripe / payments
apps/studio integrates Stripe for billing surfaces. See data/stripe/ and data/billing/. Test mode is environment-driven.
Feature flags
- ConfigCat —
packages/common/configcat.ts. - Static enabled-features —
packages/common/enabled-features/. - Browser exposure via
useFlag(...)frompackages/common/feature-flags.tsx.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.