UNPKG

wordlift-cli

Version:

WordLift CLI - A customized CLI for WordLift SEO workflows with agent memory system and smart project directory detection

70 lines (59 loc) 2.24 kB
#!/usr/bin/env node /** * WordLift CLI Post-Install Setup Script * This script ensures robust WordLift branding across different environments */ const fs = require('fs'); const path = require('path'); const { execSync } = require('child_process'); console.log('🚀 Setting up WordLift CLI...'); // Check if this is running during npm install const isPostInstall = process.env.npm_lifecycle_event === 'postinstall'; const packageDir = isPostInstall ? process.cwd() : path.dirname(__dirname); async function setupWordLiftCli() { try { // 1. Run ASCII art patching console.log('🎨 Applying ASCII art patches...'); try { execSync('node scripts/patch-ascii-art.js', { cwd: packageDir, stdio: 'inherit' }); } catch (error) { console.warn('⚠️ ASCII art patching failed, but continuing with wrapper-only approach'); } // 2. Ensure wrapper is properly configured console.log('🔧 Configuring WordLift CLI wrapper...'); const wrapperPath = path.join(packageDir, 'bin/wordlift-cli.js'); if (fs.existsSync(wrapperPath)) { console.log('✅ WordLift CLI wrapper is ready'); } else { console.error('❌ WordLift CLI wrapper not found'); process.exit(1); } // 3. Create installation status file const statusFile = path.join(packageDir, '.wordlift-setup-complete'); fs.writeFileSync(statusFile, JSON.stringify({ version: require(path.join(packageDir, 'package.json')).version, setupDate: new Date().toISOString(), patchingEnabled: true, wrapperEnabled: true }, null, 2)); console.log(''); console.log('🎉 WordLift CLI setup complete!'); console.log(''); console.log('📋 Setup Summary:'); console.log(' ✓ WordLift branding configured'); console.log(' ✓ ASCII art patches applied (where possible)'); console.log(' ✓ Wrapper fallback enabled'); console.log(' ✓ All Gemini CLI features preserved'); console.log(''); console.log('🚀 Ready to use: wordlift-cli'); console.log(''); } catch (error) { console.error('❌ Setup failed:', error.message); process.exit(1); } } // Run setup setupWordLiftCli().catch(console.error);