package cmd import ( "fmt" "os" "github.com/spf13/cobra" ) var confluenceToken string var rootCmd = &cobra.Command{ Use: "mdcx", Short: "Markdown to Confluence XML converter", Long: "Convert Markdown to Confluence storage format XML, embed into templates, and extract back.", } func Execute() { if err := rootCmd.Execute(); err != nil { fmt.Fprintln(os.Stderr, err) os.Exit(1) } } func init() { rootCmd.PersistentFlags().StringVar(&confluenceToken, "token", "", "Confluence Personal Access Token (or set CONFLUENCE_TOKEN)") } // resolveToken returns the token from flag or environment variable. func resolveToken() string { if confluenceToken != "" { return confluenceToken } return os.Getenv("CONFLUENCE_TOKEN") }