From a514521c6e21c6a8dbb9d6087f22d4a73889371e Mon Sep 17 00:00:00 2001 From: FernandoJVideira <03.pleaser-minster@icloud.com> Date: Tue, 25 Aug 2026 21:33:06 +0100 Subject: [PATCH] fix: register draft key on the root command with a working --size flag --- cmd/key.go | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/cmd/key.go b/cmd/key.go index 1e37cae..a34b28e 100644 --- a/cmd/key.go +++ b/cmd/key.go @@ -6,32 +6,26 @@ import ( "github.com/spf13/cobra" ) +const defaultKeySize = 32 + +var keySize int + func init() { - newCmd.AddCommand(keyCmd) + rootCmd.AddCommand(keyCmd) + keyCmd.Flags().IntVar(&keySize, "size", defaultKeySize, "Length of the generated key") } -var size int -var defaultSize = 32 - var keyCmd = &cobra.Command{ - Use: "key [size]", + Use: "key", Short: "Generate a new cryptographic key", Long: `Generate a new cryptographic key for use in Draft projects.`, Run: func(cmd *cobra.Command, args []string) { - var keyLength int - if cmd.Flags().Lookup("size").Changed { - keyLength = size - } else { - keyLength = defaultSize + if cmd.Flags().Changed("size") && keySize < defaultKeySize { + fmt.Printf("❌ Key size must be at least %d for adequate security.\n", defaultKeySize) + return } - if keyLength <= 32 { - fmt.Println("Warning: It is recommended to use a key size greater than 32 for better security.") - fmt.Println("Generating a key of default size:", defaultSize) - keyLength = defaultSize - } - - key := randomString(keyLength) - println("Generated Key:", key) + key := randomString(keySize) + fmt.Println("Generated Key:", key) }, }