code: public static void main(String[] args)
              throws YamlConvertException, IllegalDataStructureException, IllegalTestScriptException {
          if (args.length == 0) {
              throw new IllegalArgumentException(MSG_NO_COMMAND_LINE_ARGUMENT);
          }
          Action action = null;
          try {
              action = Action.getEnum(args[0]);
          } catch (IllegalArgumentException e) {
              throw new IllegalArgumentException(String.format(MSG_UNKNOWN_ACTION, args[0]));
          }
          String configFilePath;
          if (args.length <= 1) {
              configFilePath = "sahagin.yml";
          } else {
              configFilePath = args[1];
          }
          File configFile = new File(configFilePath);
          if (!configFile.exists()) {
              throw new IllegalArgumentException(String.format(
                      MSG_CONFIG_NOT_FOUND, configFile.getAbsolutePath()));
          }
          Config config = Config.generateFromYamlConfig(configFile);
          Logging.setLoggerEnabled(config.isOutputLog());
          AcceptableLocales locales = AcceptableLocales.getInstance(config.getUserLocale());
          SysMessages.globalInitialize(locales);
  
          switch (action) {
          case Report:
              report(config);
              break;
          default:
              throw new RuntimeException("implementation error");
          }
      }
docs: first argument is action name (now "report" only), second argument is configuration file path