docs: def cli(username, repository, path, password, deploy, env, clipboard, env_file):
      """Encrypt passwords and environment variables for use with Travis CI.
  
      Travis Encrypt requires as arguments the user's GitHub username and repository name.
      Once the arguments are passed, a password prompt will ask for the password that needs
      to be encrypted. The given password will then be encrypted via the PKCS1v15 padding
      scheme and printed to standard output. If the path to a .travis.yml file
      is given as an argument, the encrypted password is added to the .travis.yml file.
      """
      key = retrieve_public_key('{}/{}' .format(username, repository))
  
      if env_file:
          if path:
              config = load_travis_configuration(path)
  
              for env_var, value in dotenv_values(env_file).items():
                  encrypted_env = encrypt_key(key, value.encode())
                  config.setdefault('env', {}).setdefault('global', {})[env_var] = {'secure': encrypted_env}
              dump_travis_configuration(config, path)
              print('Encrypted variables from {} added to {}'.format(env_file, path))
          else:
              print('\nPlease add the following to your .travis.yml:')
              for env_var, value in dotenv_values(env_file).items():
                  encrypted_env = encrypt_key(key, value.encode())
                  print("{}:\n  secure: {}".format(env_var, encrypted_env))
      else:
          encrypted_password = encrypt_key(key, password.encode())
  
          if path:
              config = load_travis_configuration(path)
              if config is None:
                  config = OrderedDict()
  
              if deploy:
                  config.setdefault('deploy', {}).setdefault('password', {})['secure'] = encrypted_password
  
              elif env:
                  try:
                      config.setdefault('env', {}).setdefault('global', {})['secure'] = encrypted_password
                  except TypeError:
                      for item in config['env']['global']:
                          if isinstance(item, dict) and 'secure' in item:
                              item['secure'] = encrypted_password
  
              else:
                  config.setdefault('password', {})['secure'] = encrypted_password
  
              dump_travis_configuration(config, path)
  
              print('Encrypted password added to {}' .format(path))
          elif clipboard:
              pyperclip.copy(encrypted_password)
              print('\nThe encrypted password has been copied to your clipboard.')
          else:
              print('\nPlease add the following to your .travis.yml:\nsecure: {}' .format(encrypted_password))