Fix linting errors in publisher CLI tool

Co-authored-by: toby <83556+toby@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2025-06-30 23:40:28 +00:00 • committed by Toby Padilla
commit 68b55735cb

View file

@ -77,13 +77,13 @@ func main() {
} }
func printUsage() { func printUsage() {
fmt.Println("MCP Registry Publisher Tool") log.Println("MCP Registry Publisher Tool")
fmt.Println() log.Println()
fmt.Println("Usage:") log.Println("Usage:")
fmt.Println(" mcp-publisher publish [flags] Publish a server.json file to the registry") log.Println(" mcp-publisher publish [flags] Publish a server.json file to the registry")
fmt.Println(" mcp-publisher create [flags] Create a new server.json file") log.Println(" mcp-publisher create [flags] Create a new server.json file")
fmt.Println() log.Println()
fmt.Println("Use 'mcp-publisher <command> --help' for more information about a command.") log.Println("Use 'mcp-publisher <command> --help' for more information about a command.")
} }
func publishCommand() { func publishCommand() {
@ -100,7 +100,9 @@ func publishCommand() {
publishFlags.BoolVar(&forceLogin, "login", false, "force a new login even if a token exists") publishFlags.BoolVar(&forceLogin, "login", false, "force a new login even if a token exists")
publishFlags.StringVar(&authMethod, "auth-method", "github-oauth", "authentication method to use (default: github-oauth)") publishFlags.StringVar(&authMethod, "auth-method", "github-oauth", "authentication method to use (default: github-oauth)")
publishFlags.Parse(os.Args[2:]) if err := publishFlags.Parse(os.Args[2:]); err != nil {
log.Fatalf("Error parsing flags: %v", err)
}
if registryURL == "" || mcpFilePath == "" { if registryURL == "" || mcpFilePath == "" {
publishFlags.Usage() publishFlags.Usage()
@ -203,7 +205,9 @@ func createCommand() {
return nil return nil
}) })
createFlags.Parse(os.Args[2:]) if err := createFlags.Parse(os.Args[2:]); err != nil {
log.Fatalf("Error parsing flags: %v", err)
}
// Validate required flags // Validate required flags
if name == "" { if name == "" {
@ -225,7 +229,8 @@ func createCommand() {
} }
// Create server structure // Create server structure
server := createServerStructure(name, description, version, repoURL, repoSource, registryName, packageName, packageVersion, runtimeHint, execute, envVars, packageArgs) server := createServerStructure(name, description, version, repoURL, repoSource,
registryName, packageName, packageVersion, runtimeHint, execute, envVars, packageArgs)
// Convert to JSON // Convert to JSON
jsonData, err := json.MarshalIndent(server, "", " ") jsonData, err := json.MarshalIndent(server, "", " ")
@ -234,7 +239,7 @@ func createCommand() {
} }
// Write to file // Write to file
err = os.WriteFile(output, jsonData, 0644) err = os.WriteFile(output, jsonData, 0600)
if err != nil { if err != nil {
log.Fatalf("Error writing file: %v", err) log.Fatalf("Error writing file: %v", err)
} }
@ -300,7 +305,8 @@ func publishToRegistry(registryURL string, mcpData []byte, token string) error {
return nil return nil
} }
func createServerStructure(name, description, version, repoURL, repoSource, registryName, packageName, packageVersion, runtimeHint, execute string, envVars []string, packageArgs []string) ServerJSON { func createServerStructure(name, description, version, repoURL, repoSource, registryName,
packageName, packageVersion, runtimeHint, execute string, envVars []string, packageArgs []string) ServerJSON {
// Parse environment variables // Parse environment variables
var environmentVariables []EnvironmentVariable var environmentVariables []EnvironmentVariable
for _, envVar := range envVars { for _, envVar := range envVars {
@ -351,13 +357,14 @@ func createServerStructure(name, description, version, repoURL, repoSource, regi
description := fmt.Sprintf("Runtime argument %d", i+1) description := fmt.Sprintf("Runtime argument %d", i+1)
// Try to provide better descriptions based on common patterns // Try to provide better descriptions based on common patterns
if strings.HasPrefix(arg, "--") { switch {
case strings.HasPrefix(arg, "--"):
description = fmt.Sprintf("Command line flag: %s", arg) description = fmt.Sprintf("Command line flag: %s", arg)
} else if strings.HasPrefix(arg, "-") && len(arg) == 2 { case strings.HasPrefix(arg, "-") && len(arg) == 2:
description = fmt.Sprintf("Command line option: %s", arg) description = fmt.Sprintf("Command line option: %s", arg)
} else if strings.Contains(arg, "=") { case strings.Contains(arg, "="):
description = fmt.Sprintf("Configuration parameter: %s", arg) description = fmt.Sprintf("Configuration parameter: %s", arg)
} else if i > 0 && strings.HasPrefix(parts[i], "-") { case i > 0 && strings.HasPrefix(parts[i], "-"):
description = fmt.Sprintf("Value for %s", parts[i]) description = fmt.Sprintf("Value for %s", parts[i])
} }
@ -410,13 +417,14 @@ func smartSplit(command string) []string {
for _, char := range command { for _, char := range command {
switch { switch {
case char == '"' || char == '\'': case char == '"' || char == '\'':
if !inQuotes { switch {
case !inQuotes:
inQuotes = true inQuotes = true
quoteChar = char quoteChar = char
} else if char == quoteChar { case char == quoteChar:
inQuotes = false inQuotes = false
quoteChar = 0 quoteChar = 0
} else { default:
current.WriteRune(char) current.WriteRune(char)
} }
case char == ' ' && !inQuotes: case char == ' ' && !inQuotes: