From 10e7191c8fa0088f8c2116b871b9292f4c10b955 Mon Sep 17 00:00:00 2001 From: Nick Goodall Date: Tue, 13 Jan 2026 12:01:03 +0000 Subject: [PATCH] update init --- README.md | 2 +- main.go | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 46acee7..b0fa35b 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A simple, rsync-based PocketBase deployment tool. ## init -- start a new PocketBase project +- start a new PocketBase project (optionally provide a service name via `pb init `) ## dev diff --git a/main.go b/main.go index 018ff66..4b2acb6 100644 --- a/main.go +++ b/main.go @@ -20,6 +20,8 @@ import ( tea "github.com/charmbracelet/bubbletea" ) +var initServiceNameArg string + func main() { commands := defaultCommands() args := os.Args[1:] @@ -37,6 +39,11 @@ func main() { return } + initServiceNameArg = "" + if args[0] == "init" && len(args) > 1 { + initServiceNameArg = args[1] + } + if args[0] == "menu" { if err := tea.NewProgram(newModel()).Start(); err != nil { log.Fatal(err) @@ -211,7 +218,7 @@ func runInit() error { } defaultName := generateServiceName() - serviceName, err := promptServiceName(defaultName) + serviceName, err := resolveServiceName(defaultName) if err != nil { return err } @@ -314,6 +321,14 @@ func promptServiceName(defaultName string) (string, error) { return input, nil } +func resolveServiceName(defaultName string) (string, error) { + if override := strings.TrimSpace(initServiceNameArg); override != "" { + initServiceNameArg = "" + return override, nil + } + return promptServiceName(defaultName) +} + func pocketbaseBinaryName(goos string) string { if goos == "windows" { return "pocketbase.exe"