import ArgumentParser struct EncryptCommand: AsyncParsableCommand { static let commandName = "encrypt" static let configuration = CommandConfiguration( commandName: commandName, abstract: createAbstract("Encrypt a vault file.") ) @OptionGroup var options: VaultOptions @Option( name: .shortAndLong, help: "Output file." ) var output: String? mutating func run() async throws { var args = ["encrypt"] if let output { args.append(contentsOf: ["--output", output]) } try await runVault( commandName: Self.commandName, options: options, args ) } }