code: async function initializeConfig() {
      await stdoutAsync(chalk.cyan.bold('\nThis util will walk you through creating a .qnamakerrc file\n\nPress ^C at any time to quit.\n\n'));
      const questions = [
          'What is your QnAMaker access/subscription key? (found on the Cognitive Services Azure portal page under "access keys") ',
          'What would you like to use as your active knowledgebase ID? [none] '
      ];
  
      const prompt = readline.createInterface({
          input: process.stdin,
          output: process.stdout,
      });
  
      const answers = [];
      for (let i = 0; i < questions.length; i++) {
          const question = questions[i];
          const answer = await new Promise((resolve) => {
  
              function doPrompt(promptMessage) {
                  prompt.question(promptMessage, response => {
                      resolve(response);
                  });
              }
  
              doPrompt(question);
          });
          answers.push(answer.trim());
      }
  
      let [subscriptionKey, kbId] = answers;
  
      const config = Object.assign({}, {subscriptionKey, kbId});
  
      if (subscriptionKey && kbId) {
          await updateKbId(config);
      }
  
      try {
          await new Promise((resolve, reject) => {
              const confirmation = `\n\nDoes this look ok?\n${JSON.stringify(config, null, 2)}\n[Yes]/No: `;
              prompt.question(confirmation, response => {
                  /^(y|yes)$/.test((response || 'yes').toLowerCase()) ? resolve(response) : reject();
              });
          });
      } catch (e) {
          return false;
      }
      await fs.writeJson(path.join(process.cwd(), '.qnamakerrc'), config, {spaces: 2});
      return true;
  }
docs: Walks the user though the creation of the .qnamakerrc
  file and writes it to disk. The knowledge base ID and subscription key
  are optional but if omitted, --\knowledgeBaseID and --subscriptionKey
  flags may be required for some commands.
  
  @returns {Promise<*>}