From 74a5195f4459cf277f15f7b297080550838758a1 Mon Sep 17 00:00:00 2001 From: Dan Henton Date: Mon, 13 Apr 2026 21:13:45 +1200 Subject: [PATCH] add version to help output and wire ldflags in goreleaser --- .goreleaser.yaml | 2 ++ cmd/opencode-worktree/main.go | 12 ++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index f4b4fb8..d0a210d 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -10,6 +10,8 @@ before: builds: - env: - CGO_ENABLED=0 + ldflags: + - -s -w -X main.version={{.Version}} goos: - linux - windows diff --git a/cmd/opencode-worktree/main.go b/cmd/opencode-worktree/main.go index 11db6ed..812dc49 100644 --- a/cmd/opencode-worktree/main.go +++ b/cmd/opencode-worktree/main.go @@ -11,6 +11,9 @@ import ( "github.com/danhenton/opencode-worktree/internal/worktree" ) +// version is set at build time via ldflags. Defaults to "dev" for local builds. +var version = "dev" + func main() { if len(os.Args) < 2 { printUsage() @@ -32,6 +35,8 @@ func main() { runCompletions(os.Args[2:]) case "-h", "--help", "help": printUsage() + case "version", "--version": + fmt.Printf("opencode-worktree %s\n", version) default: fmt.Fprintf(os.Stderr, "❌ Unknown command: %s\n\n", os.Args[1]) printUsage() @@ -40,7 +45,9 @@ func main() { } func printUsage() { - fmt.Print(`Usage: opencode-worktree [options] + fmt.Printf(`opencode-worktree %s + +Usage: opencode-worktree [options] Commands: task [message] Create agent worktree and launch opencode @@ -60,10 +67,11 @@ Merge Options: General: -h, --help Show this help message + version, --version Show version Alias: The installer adds 'ocwt' as a shell alias for opencode-worktree. -`) +`, version) } func runTask(args []string) {