async confirm() {
    if (this.opts.yes) {
      throw new Error('Attempted to confirm with yes=true; this is a bug')
    }
    const rl = require('node:readline/promises').createInterface(
      process.stdin,
      process.stderr
    )
    try {
      const answer = await rl.question(`${yellow('Proceed?')} (y/N) `)
      return answer?.toLowerCase() === 'y'
    } finally {
      rl.close()
    }
  }
Prompts user to confirm before proceeding

@returns {Promise<boolean>}