add confirmation for rules removal
This commit is contained in:
@@ -519,6 +519,17 @@ function registerCommands(programInstance) {
|
||||
.flatMap((b) => b.split(',').map((s) => s.trim()))
|
||||
.filter(Boolean);
|
||||
|
||||
if (action === 'remove') {
|
||||
const ui = await import('./ui.js');
|
||||
const confirmed = await ui.confirmRulesRemove(expandedBrands);
|
||||
if (!confirmed) {
|
||||
console.log(chalk.yellow('Aborted: No rules were removed.'));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// (removed duplicate projectDir, brands check, and expandedBrands parsing)
|
||||
|
||||
const removalResults = [];
|
||||
|
||||
for (const brand of expandedBrands) {
|
||||
|
||||
@@ -1725,6 +1725,36 @@ IMPORTANT: Make sure to include an analysis for EVERY task listed above, with th
|
||||
`;
|
||||
}
|
||||
|
||||
/**
|
||||
* Confirm removing brand rules (destructive operation)
|
||||
* @param {string[]} brands - Array of brand names to remove
|
||||
* @returns {Promise<boolean>} - Promise resolving to true if user confirms, false otherwise
|
||||
*/
|
||||
async function confirmRulesRemove(brands) {
|
||||
const brandList = brands
|
||||
.map((b) => b.charAt(0).toUpperCase() + b.slice(1))
|
||||
.join(', ');
|
||||
console.log(
|
||||
boxen(
|
||||
chalk.yellow(
|
||||
`WARNING: This will permanently delete all rules and configuration for: ${brandList}.
|
||||
This will remove the entire .[brand] directory for each selected brand.\n\nAre you sure you want to proceed?`
|
||||
),
|
||||
{ padding: 1, borderColor: 'yellow', borderStyle: 'round' }
|
||||
)
|
||||
);
|
||||
const inquirer = await import('inquirer');
|
||||
const { confirm } = await inquirer.default.prompt([
|
||||
{
|
||||
type: 'confirm',
|
||||
name: 'confirm',
|
||||
message: 'Type y to confirm, or n to abort:',
|
||||
default: false
|
||||
}
|
||||
]);
|
||||
return confirm;
|
||||
}
|
||||
|
||||
/**
|
||||
* Confirm overwriting existing tasks.json file
|
||||
* @param {string} tasksPath - Path to the tasks.json file
|
||||
@@ -1991,5 +2021,6 @@ export {
|
||||
confirmTaskOverwrite,
|
||||
displayApiKeyStatus,
|
||||
displayModelConfiguration,
|
||||
displayAvailableModels
|
||||
displayAvailableModels,
|
||||
confirmRulesRemove
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user