docs: function reportSummary(report = {}) {
  	if (reportIsValid(report)) {
  		return '';
  	}
  
  	const countErrors = report.errors.length;
  	const countWarnings = report.warnings.length;
  	const color = countErrors > 0 ? 'red' : 'yellow';
  
  	const summaries = [];
  	const issues = [];
  
  	if (countErrors > 0) {
  		summaries.push(chalk`{red ${countErrors}} ${countErrors === 1 ? 'error' : 'errors'}`);
  		report.errors.forEach(error => {
  			issues.push(chalk`  {bold.red -} ${error.message} {dim ${error.name}}`);
  		});
  	}
  
  	if (countWarnings > 0) {
  		summaries.push(chalk`{yellow ${countWarnings}} ${countWarnings === 1 ? 'warning' : 'warnings'}`);
  		report.warnings.forEach(warning => {
  			issues.push(chalk`  {bold.yellow -} ${warning.message} {dim ${warning.name}}`);
  		});
  	}
  
  	const summary = summaries.length > 0 ? chalk`{dim ${summaries.join(', ')}}` : '';
  	const header = chalk`{bold.${color} !} {bold Final commit violates conventions} ${summary}`;
  	const footer = chalk`{dim aborted commit}`;
  
  	return `${header}\n${issues.join('\n')}\n\n  ${footer}`;
  }