• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / cli / 19105198902

05 Nov 2025 02:24PM UTC coverage: 53.269% (-1.5%) from 54.728%
19105198902

Pull #4383

github

web-flow
Merge 0facc4bd8 into 4054f205d
Pull Request #4383: feat(mcp): add `supabase mcp init` command to configure MCP clients

0 of 317 new or added lines in 9 files covered. (0.0%)

26 existing lines in 4 files now uncovered.

6388 of 11992 relevant lines covered (53.27%)

5.97 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/cmd/init.go
1
package cmd
2

3
import (
4
        "fmt"
5
        "os"
6
        "os/signal"
7

8
        "github.com/spf13/afero"
9
        "github.com/spf13/cobra"
10
        "github.com/spf13/viper"
11
        _init "github.com/supabase/cli/internal/init"
12
        mcpinit "github.com/supabase/cli/internal/mcp/init"
13
        "github.com/supabase/cli/internal/utils"
14
)
15

16
var (
17
        createVscodeSettings   = new(bool)
18
        createIntellijSettings = new(bool)
19
        initParams             = utils.InitParams{}
20

21
        initCmd = &cobra.Command{
22
                GroupID: groupLocalDev,
23
                Use:     "init",
24
                Short:   "Initialize a local project",
25
                PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
×
26
                        if !viper.IsSet("WORKDIR") {
×
27
                                // Prevents recursing to parent directory
×
28
                                viper.Set("WORKDIR", ".")
×
29
                        }
×
30
                        return cmd.Root().PersistentPreRunE(cmd, args)
×
31
                },
32
                PreRun: func(cmd *cobra.Command, args []string) {
×
33
                        if initParams.UseOrioleDB {
×
34
                                cobra.CheckErr(cmd.MarkFlagRequired("experimental"))
×
35
                        }
×
36
                },
37
                RunE: func(cmd *cobra.Command, args []string) error {
×
NEW
38
                                fsys := afero.NewOsFs()
×
NEW
39
                                if !cmd.Flags().Changed("with-vscode-settings") && !cmd.Flags().Changed("with-vscode-workspace") {
×
NEW
40
                                        createVscodeSettings = nil
×
NEW
41
                                }
×
42

NEW
43
                                if !cmd.Flags().Changed("with-intellij-settings") {
×
NEW
44
                                        createIntellijSettings = nil
×
NEW
45
                                }
×
NEW
46
                                ctx, _ := signal.NotifyContext(cmd.Context(), os.Interrupt)
×
NEW
47

×
NEW
48
                                // Run core project init first
×
NEW
49
                                if err := _init.Run(ctx, fsys, createVscodeSettings, createIntellijSettings, initParams); err != nil {
×
NEW
50
                                        return err
×
NEW
51
                                }
×
52

53
                                // Optionally configure MCP client if flag is provided
NEW
54
                                mcpClient, _ := cmd.Flags().GetString("mcp-client")
×
NEW
55
                                if mcpClient != "" {
×
NEW
56
                                        if err := mcpinit.Run(ctx, fsys, mcpClient); err != nil {
×
NEW
57
                                                return err
×
NEW
58
                                        }
×
59
                                }
NEW
60
                                return nil
×
61
                },
62
                PostRun: func(cmd *cobra.Command, args []string) {
×
63
                        fmt.Println("Finished " + utils.Aqua("supabase init") + ".")
×
64
                },
×
65
        }
66
)
67

68
func init() {
×
69
        flags := initCmd.Flags()
×
70
        flags.BoolVar(createVscodeSettings, "with-vscode-workspace", false, "Generate VS Code workspace.")
×
71
        cobra.CheckErr(flags.MarkHidden("with-vscode-workspace"))
×
72
        flags.BoolVar(createVscodeSettings, "with-vscode-settings", false, "Generate VS Code settings for Deno.")
×
73
        flags.BoolVar(createIntellijSettings, "with-intellij-settings", false, "Generate IntelliJ IDEA settings for Deno.")
×
74
        flags.BoolVar(&initParams.UseOrioleDB, "use-orioledb", false, "Use OrioleDB storage engine for Postgres.")
×
75
        flags.BoolVar(&initParams.Overwrite, "force", false, "Overwrite existing "+utils.ConfigPath+".")
×
NEW
76
        flags.String("mcp-client", "", "Configure Supabase MCP for a client (e.g., claude-code, cursor, vscode). Runs after project init if provided.")
×
77
        rootCmd.AddCommand(initCmd)
×
78
}
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc