Skip to content

fix(cli): update Supabase CLI with the stable Docker workflow - #1280

Merged
AmanVarshney01 merged 5 commits into
mainfrom
feat/supabase-stack-runtime
Oct 16, 2026
Merged

AmanVarshney01 merged 5 commits into
mainfrom
feat/supabase-stack-runtime

Conversation

@AmanVarshney01

@AmanVarshney01 AmanVarshney01 commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Update automatic and manual Supabase setup to stable CLI 2.121.0 while keeping the standard Docker-based workflow.

Force SUPABASE_EXPERIMENTAL_STACK=0 for provider subprocesses so existing configuration cannot enable the experimental runtime. Forward cancellation to init/start/status and bound status reads to 120 seconds.

Read the database URL from status --output json and write both DATABASE_URL and DIRECT_URL. Preserve existing Supabase configuration and credentials during manual setup or provider failures, and replace unsupported global npm installation instructions with the selected package runner.

No experimental stack activation, native runtime, on-demand preparation, branch-based stack identity, or experimental runner integration is included. The earlier native runtime runs do not validate this Docker workflow and are not counted as evidence for the revised PR.

Closes #1279.

Validation:

  • bun run check
  • bun run build:cli including publint
  • CLI source and test typechecks
  • Full CLI suite: 1,157 passed, 65 skipped, 0 failed
  • Pinned CLI successfully initialized a disposable project without experimental stack activation; help confirms the stable start/status commands.
  • Actual start used the Docker path and reported the unavailable local Docker daemon. Docker migration and browser tests remain unverified; no experimental runtime is substituted.
  • Regression coverage includes Bun/npm/pnpm, split/fullstack env files, existing configuration, manual setup, provider failures, and invalid status output.

Sources: Supabase local CLI guide, runtime distinction.

Generated-build repairs

Fix the Svelte auth forms to annotate the destructured props instead of passing a type argument to $props(). Align effect, @effect/platform-node, and @effect/platform-bun on 4.0.5 so the generated infrastructure matches the current transitive platform and SQL package requirements. This addresses the Svelte type errors, Alchemy CLI loading failures, and npm Effect type incompatibilities reported by generated-build CI.

Sources: Svelte props type safety, published platform peer requirements.

Repair verification:

  • bun run check, CLI build/publint, CLI source/test typechecks, and template-generator typecheck pass.
  • Full CLI suite on this branch: 1,157 passed, 65 skipped, 0 failed.
  • Seven affected generated-project samples pass installation, workspace typechecks and builds: three Svelte auth/Polar/AI variants; Svelte + Prisma deployment with pnpm; React Router + Prisma deployment with Bun and npm; and TanStack Start + Axiom with pnpm. The deployment samples also pass Alchemy CLI startup checks.
  • Fresh full GitHub Actions run is in progress.

Summary by CodeRabbit

  • Bug Fixes

    • Local Supabase setup now verifies the database URL before saving it, preserves existing environment entries and configuration, and reports setup errors instead of writing placeholder credentials.
    • Interrupted or unsuccessful setup commands no longer replace existing credentials.
  • Documentation

    • Updated local setup guidance with container runtime requirements, instructions for configuring both database URLs in manual setup, and commands using your selected package manager.

@vercel

vercel Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
create-better-t-stack-web Ready Ready Preview Oct 16, 2026 6:21pm UTC

Request Review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-16T13:49:13.009377Z e8b8398 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 314641b0-593d-455f-a4ea-bd18285648ec
📥 Commits

Reviewing files that changed from the base of the PR and between 3738da8 and 4274714.

📒 Files selected for processing: 1
  • apps/web/content/docs/cli/options.mdx
🚧 Files skipped from review as they are similar to previous changes: 1
  • apps/web/content/docs/cli/options.mdx

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this review.

Walkthrough

Supabase setup now uses the pinned CLI package, validates the database URL from JSON status output, and writes verified URLs to both database environment variables. Manual setup and failure paths leave existing environment values unchanged. Tests cover package managers, setup modes, interruptions, and command failures.

Changes

Supabase setup

Layer / File(s) Summary
Automatic setup and URL validation
apps/cli/src/helpers/database-providers/supabase-setup.ts, apps/cli/test/supabase-setup.test.ts
Setup uses Supabase CLI 2.121.0 with the selected package manager and disables experimental stacks. It preserves existing configuration, reads JSON status with a 120-second timeout, and accepts only PostgreSQL URLs. Successful setup writes the URL to DATABASE_URL and DIRECT_URL.
Manual setup and failure handling
apps/cli/src/helpers/database-providers/supabase-setup.ts, apps/cli/test/supabase-setup.test.ts, apps/web/content/docs/cli/options.mdx
Manual mode displays package-manager-specific instructions and does not write placeholder values. Initialization, startup, status, and environment-file errors return errors without replacing existing credentials. Tests cover manual mode, interruption, and invalid status output. Documentation describes the automatic runtime requirement and manual configuration steps.

Priority: ⬇️ Low

Merge Risk: ⚪ Minimal · up to 42747

The updated Supabase instructions align with the generated project layout and manual setup workflow. No issue identified in this change prevents merging.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 43.75% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 16 functions across 9 files. (1 skipped: … Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Linked Issues check Passed Issue #1279 requires Supabase CLI 2.121.0 and the standard Docker workflow. supabase-setup.ts pins supabase@2.121.0, sets SUPABASE_EXPERIMENTAL_STACK=0, uses init, start, and `status --outpu…
Out of Scope Changes check Passed The source change, regression tests, and documentation support Issue #1279. The implementation uses the Docker workflow and explicitly disables the experimental stack. No unrelated feature or native-r…
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main change: updating the Supabase CLI setup to use the stable Docker workflow.
Full details: Linked Issues check

Explanation

Issue #1279 requires Supabase CLI 2.121.0 and the standard Docker workflow. supabase-setup.ts pins supabase@2.121.0, sets SUPABASE_EXPERIMENTAL_STACK=0, uses init, start, and status --output json, forwards cancellation, and applies a 120-second status timeout. It validates DB_URL and writes both DATABASE_URL and DIRECT_URL. Manual setup and provider failures leave credentials unchanged. Existing supabase/config.toml remains unchanged. Instructions use the selected package runner. The tests cover Bun, npm, pnpm, both backend layouts, existing configuration, manual setup, failures, cancellation, Docker enforcement, and invalid status output.

Full details: Out of Scope Changes check

Explanation

The source change, regression tests, and documentation support Issue #1279. The implementation uses the Docker workflow and explicitly disables the experimental stack. No unrelated feature or native-runtime integration is established.

Full details: Docstring Coverage

Explanation

Docstring coverage is 43.75% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 16 functions across 9 files. (1 skipped: 1 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

  • Fix all pre-merge checks with AI
✨ Finishing Touches: 💡 1
🛠️ Fix failing CI checks: 💡
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: fd5f694c-c4d8-4922-9d0e-26884e15a8b3
📥 Commits

Reviewing files that changed from the base of the PR and between acf6d56 and e8b8398.

📒 Files selected for processing: 12
  • apps/cli/live-tests/README.md
  • apps/cli/live-tests/database.ts
  • apps/cli/live-tests/providers.ts
  • apps/cli/live-tests/run.ts
  • apps/cli/live-tests/runner.test.ts
  • apps/cli/live-tests/state.ts
  • apps/cli/live-tests/supabase.test.ts
  • apps/cli/live-tests/verification-2026-10-16.md
  • apps/cli/src/helpers/core/git.ts
  • apps/cli/src/helpers/database-providers/supabase-setup.ts
  • apps/cli/test/supabase-setup.test.ts
  • apps/web/content/docs/cli/options.mdx

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this review.

Comment thread apps/cli/src/helpers/database-providers/supabase-setup.ts
@AmanVarshney01 AmanVarshney01 changed the title feat(cli): adopt Supabase stack runtime fix(cli): update Supabase CLI with the stable Docker workflow Oct 16, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 02ebbae0-9dd5-493f-b6f0-46ccb1ac24da
📥 Commits

Reviewing files that changed from the base of the PR and between e8b8398 and d6ffdf5.

📒 Files selected for processing: 4
  • apps/cli/live-tests/verification-2026-10-16.md
  • apps/cli/src/helpers/database-providers/supabase-setup.ts
  • apps/cli/test/supabase-setup.test.ts
  • apps/web/content/docs/cli/options.mdx
🚧 Files skipped from review as they are similar to previous changes: 1
  • apps/cli/live-tests/verification-2026-10-16.md

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 6 remain after this review.

Comment thread apps/cli/src/helpers/database-providers/supabase-setup.ts
@AmanVarshney01
AmanVarshney01 merged commit f31ebeb into main Oct 16, 2026
4 of 11 checks passed
@AmanVarshney01
AmanVarshney01 deleted the feat/supabase-stack-runtime branch October 16, 2026 18:25

This branch was successfully deployed

1 active deployment
Preview — 0d5a4838 Deployed Oct 16, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(cli): update stable Supabase CLI setup

1 participant