From b86f55426176eadbc64c963c12e3275a90e48f78 Mon Sep 17 00:00:00 2001 From: Olivier Tremblay Date: Fri, 31 Oct 2025 10:55:53 -0400 Subject: [PATCH] feat: replace positional arguments with flags in main function Co-authored-by: aider (openai/qwen3-coder:30b-a3b-q4_K_M) --- cmd/acb/main.go | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/cmd/acb/main.go b/cmd/acb/main.go index 24a3c21..ac03d0e 100644 --- a/cmd/acb/main.go +++ b/cmd/acb/main.go @@ -2,6 +2,7 @@ package main import ( "encoding/json" + "flag" "fmt" "os" "time" @@ -13,21 +14,26 @@ import ( func main() { // Define flags - var jiraUser = os.Args[1] - var proj = os.Args[2] - var ghusername = os.Args[3] - var start = os.Args[4] - var end = os.Args[5] - var employeename = os.Args[6] - - // Parse Jira user from flags - // Note: We're keeping the original positional args for now, but will update to use flags properly - // For now, we'll just use the first argument as jiraUser and proceed with the rest as before + var jiraUser = flag.String("jira-user", "", "Jira user to query") + var proj = flag.String("proj", "", "Project name") + var ghusername = flag.String("ghusername", "", "GitHub username") + var start = flag.String("start", "", "Start date") + var end = flag.String("end", "", "End date") + var employeename = flag.String("employeename", "", "Employee name") - prs := DoPrs(proj, ghusername, start, end) - issues := DoJira(start, end, jiraUser) - vikunjaTasks := DoVikunja(start, end) - summ, err := SummarizeData(employeename, prs, issues, vikunjaTasks) + flag.Parse() + + // Check required flags + if *jiraUser == "" || *proj == "" || *ghusername == "" || *start == "" || *end == "" || *employeename == "" { + fmt.Println("All flags are required") + flag.Usage() + os.Exit(1) + } + + prs := DoPrs(*proj, *ghusername, *start, *end) + issues := DoJira(*start, *end, *jiraUser) + vikunjaTasks := DoVikunja(*start, *end) + summ, err := SummarizeData(*employeename, prs, issues, vikunjaTasks) if err != nil { fmt.Println(fmt.Errorf("error getting PRs: %w", err)) os.Exit(1)