UNPKG

cursor-rules-awesome

Version:

World-class comprehensive coding standards for Cursor AI. 4,800+ lines covering 72 topics: OWASP Top 10, SRE practices, 15+ languages, 9 compliance frameworks (SOC 2, ISO 27001, HIPAA, PCI-DSS, GDPR). Perfect 10/10 rating.

127 lines (108 loc) 4.83 kB
#!/usr/bin/env node const fs = require('fs'); const path = require('path'); // Get the directory where cursor-rules-awesome is installed // This could be in node_modules/cursor-rules-awesome or global let packageDir; try { packageDir = path.dirname(require.resolve('../package.json')); } catch (e) { // Fallback to relative path packageDir = path.join(__dirname, '..'); } // Get the current working directory (user's project root) const projectRoot = process.cwd(); // Source and destination paths const sourceFile = path.join(packageDir, '.cursorrules'); const destFile = path.join(projectRoot, '.cursorrules'); console.log('\n=========================================='); console.log('Cursor Rules Awesome - Installation'); console.log('==========================================\n'); // Check if source file exists if (!fs.existsSync(sourceFile)) { console.error('ERROR: Cannot find .cursorrules file in package.'); console.error('Expected location:', sourceFile); console.error('\nPlease reinstall the package:'); console.error(' npm install cursor-rules-awesome\n'); process.exit(1); } // Check if .cursorrules already exists in project if (fs.existsSync(destFile)) { console.log('NOTICE: .cursorrules already exists in your project.'); console.log('Location:', destFile); console.log('\nOptions:'); console.log(' 1. Keep existing file (no action needed)'); console.log(' 2. Backup and replace with new version:'); console.log(' mv .cursorrules .cursorrules.backup'); console.log(' npx cursor-rules-init'); console.log(' 3. Manually compare and merge changes\n'); // Ask for confirmation to overwrite const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.question('Overwrite existing .cursorrules? (yes/no): ', (answer) => { rl.close(); if (answer.toLowerCase() === 'yes' || answer.toLowerCase() === 'y') { // Backup existing file const backupFile = destFile + '.backup'; try { fs.copyFileSync(destFile, backupFile); console.log('\nBackup created:', backupFile); } catch (e) { console.warn('Warning: Could not create backup'); } // Copy new file try { fs.copyFileSync(sourceFile, destFile); console.log('SUCCESS: .cursorrules updated!\n'); printSuccessMessage(destFile); } catch (error) { console.error('ERROR: Failed to copy file:', error.message); process.exit(1); } } else { console.log('\nInstallation cancelled. Existing .cursorrules kept.\n'); process.exit(0); } }); } else { // Copy .cursorrules to project root try { fs.copyFileSync(sourceFile, destFile); console.log('SUCCESS: .cursorrules installed to your project!\n'); printSuccessMessage(destFile); } catch (error) { console.error('ERROR: Failed to install .cursorrules:', error.message); console.error('\nManual installation:'); console.error(' Copy from:', sourceFile); console.error(' To:', destFile); console.error('\nOr try:'); console.error(' cp node_modules/cursor-rules-awesome/.cursorrules .\n'); process.exit(1); } } function printSuccessMessage(location) { console.log('Location:', location); console.log('Size: 4,800+ lines, 72 sections\n'); console.log('What\'s Next?'); console.log(' 1. Open your project in Cursor AI'); console.log(' 2. Start coding - rules are automatically applied'); console.log(' 3. See the difference in code quality\n'); console.log('Documentation:'); console.log(' - GitHub: https://github.com/tonynguyennvt/cursor-rules-awesome'); console.log(' - npm: https://www.npmjs.com/package/cursor-rules-awesome\n'); console.log('Features Included:'); console.log(' - OWASP Top 10 security best practices'); console.log(' - SRE practices (SLI/SLO/SLA, Error Budgets)'); console.log(' - 15+ programming languages'); console.log(' - 9 compliance frameworks (SOC 2, ISO 27001, HIPAA, PCI-DSS, GDPR)'); console.log(' - Production operations & maintenance guide'); console.log(' - CI/CD pipeline best practices'); console.log(' - Event-Driven Architecture & Event Sourcing'); console.log(' - Perfect 10/10 rating\n'); console.log('Tip: Review .cursorrules file to explore all 72 sections!\n'); console.log('Happy coding with enterprise-grade standards!\n'); console.log('==========================================\n'); }