code: function main (argv, conf) {
    if (!conf.repo) {
      console.error("[Github-Todos] Mandatory option 'repo' not set, where am I supposed to create issues?");
      console.error("[Github-Todos] Run 'github-todos config repo \"<GITHUB USER OR ORG>/<REPOSITORY>\"' to enable hook");
      process.exit(1);
    }
  
    if (argv.range) {
  
      // Extract target SHA
      var targetCommit = _.last(argv.range.split(".."));
      return git.run("rev-parse '" + targetCommit + "'").then(function (sha) {
        return analyzeRange(argv.range, sha.trim(), conf);
      });
  
    } else {
  
      // Receive git-hook data from stdin
      return new Promise(function (resolve, reject) {
        var analyzing = [];
  
        process.stdin.on("data", function (chunk) {
          var info = chunk.toString("utf8").split(/\s+/);
          var promise = onCommitRange(info[1], info[3], conf);
          analyzing.push(promise);
        });
  
        process.stdin.on("close", function () {
          Promise.all(analyzing).then(resolve, reject);
        });
      });
  
    }
  }
docs: Main process Object, Object → void