Skip to content

Add Dev Container configuration for local development #5867

Description

@cm-collins

Existing issues

  • I have searched the existing issues.

Affected area

Local development

Problem to solve

Setting up the development environment currently requires contributors to install and configure the required tooling manually (such as Go, pnpm, Docker, and any other project dependencies). While the setup instructions are clear, the manual process can lead to inconsistencies between development environments and create additional friction for first-time contributors.

Providing a standardized development environment would help contributors get started more quickly and reduce environment-specific setup issues.

Proposed solution

Add a .devcontainer configuration to the repository that provisions the required development tools and dependencies for the Supabase CLI.

The configuration could include:

Go (matching the project's supported version)
pnpm
Docker CLI (or support for Docker socket mounting)
Common development utilities
Recommended VS Code extensions (optional)

This would allow contributors to open the repository in any editor that supports the Dev Container specification (for example, Visual Studio Code or GitHub Codespaces) and begin contributing without additional local setup.

Alternatives considered

Continue relying solely on the existing installation instructions in the README.
Allow contributors to create their own local development environments manually.
Provide a setup script instead of a Dev Container.

These approaches work but still require contributors to configure their environments individually and may result in inconsistencies.

Additional context

This is intended as a contributor experience improvement rather than a new CLI feature.

Many open-source projects provide Dev Container support to simplify onboarding and ensure a consistent development environment across contributors. The configuration would be optional and would not affect existing development workflows for contributors who prefer their current setup.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions