UNPKG

ailock

Version:

AI-Proof File Guard - Protect sensitive files from accidental AI modifications

38 lines 1.62 kB
import { Command } from 'commander'; import chalk from 'chalk'; import { FileOperationService } from '../services/FileOperationService.js'; import { initializeUserConfig } from '../core/directory-tracker.js'; export const lockCommand = new Command('lock') .description('Lock files to prevent accidental modifications') .argument('[patterns...]', 'Files or patterns to lock (uses .ailock if not specified)') .option('-a, --all', 'Lock all files defined in .ailock configuration') .option('-v, --verbose', 'Show detailed output') .option('--dry-run', 'Preview what would be locked without making changes') .option('--no-gitignore', 'Include files that are gitignored') .action(async (patterns, options) => { try { // Initialize user configuration if needed await initializeUserConfig(); const service = new FileOperationService(); const result = await service.processFiles('lock', { patterns, all: options.all, dryRun: options.dryRun, verbose: options.verbose, includeGitignored: !options.gitignore }); await service.displaySummary('lock', result, { dryRun: options.dryRun, verbose: options.verbose }); // Exit with error if any operations failed if (result.failed.length > 0 && !options.dryRun) { process.exit(1); } } catch (error) { console.error(chalk.red('Error:'), error instanceof Error ? error.message : String(error)); process.exit(1); } }); //# sourceMappingURL=lock.js.map