cmd/opencodereview/main.go(29 行)main.go 是 OCR 二進位的真正入口,只有 29 行。它做三件事:把版本號注入 llm 套件、初始化內嵌資源載入器、初始化遙測,最後把控制權交給 rootCmd.Execute()(cobra 根命令,定義在 root.go)。所有子命令(review/scan/config/llm…)都是透過 init() 註冊到 rootCmd 上的。
llm.AppVersion = Version 把建置時寫入的版本字串注入 llm 套件——這是 ocr version 輸出來源之一。llm.InitEmbeddedLoader() 初始化內嵌資源載入器(tiktoken BPE 檔、內建工具 JSON 等會被編譯進二進位)。
main() 極簡是「command 物件」模式的特色——真正的邏輯在 cobra 命令的 RunE 回呼,main 只負責拉起與收尾。telemetry.Init(ctx) 回傳 bool——遙測預設關閉,只有 config 或環境變數啟用時才為 true。若啟用,defer telemetry.ShutdownWithTimeout(ctx, 5*time.Second) 保證程式結束前把 span/metric flush 出去。
if err := rootCmd.Execute(); err != nil 是標準 cobra 用法:命令解析 + 子命令分派都在這發生。錯誤以 Error: %v 印到 os.Stderr(不是 stdout——保持 stdout 乾淨給 JSON 輸出)並 os.Exit(1)。
llm.AppVersion 與 InitEmbeddedLoader 各做什麼、遙測為何是條件式 defer、以及錯誤為何寫 stderr 而非 stdout。下一步:review_cmd.go(真正做事的命令)。