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

supabase / cli / 19105505226

05 Nov 2025 02:34PM UTC coverage: 53.269% (-1.4%) from 54.699%
19105505226

Pull #4383

github

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

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

5 existing lines in 1 file 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 {
×
38
                        fsys := afero.NewOsFs()
×
39
                        if !cmd.Flags().Changed("with-vscode-settings") && !cmd.Flags().Changed("with-vscode-workspace") {
×
40
                                createVscodeSettings = nil
×
41
                        }
×
42

43
                        if !cmd.Flags().Changed("with-intellij-settings") {
×
44
                                createIntellijSettings = nil
×
45
                        }
×
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

© 2025 Coveralls, Inc