diff --git a/internal/config/config.go b/internal/config/config.go index 327640c..0b4a52f 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -67,6 +67,13 @@ func getUserConfigDir() (string, error) { if err != nil { return "", fmt.Errorf("failed to get user configuration path: %w", err) } - filename := filepath.Join(userConfigPath, "forgejo-cli", "config.json") + configDir := filepath.Join(userConfigPath, "forgejo-cli") + if _, err := os.Stat(configDir); os.IsNotExist(err) { + err = os.MkdirAll(configDir, 0700) + if err != nil { + return "", fmt.Errorf("failed to create config dir: %w", err) + } + } + filename := filepath.Join(configDir, "config.json") return filename, nil }