UNPKG

wordlift-cli

Version:

WordLift CLI - Your AI SEO Assistant powered by Google Gemini. Agentic SEO workflows with Agent Skills support, WordLift MCP integration, knowledge graphs, and intelligent content optimization for modern content creators.

77 lines (66 loc) 2.66 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 { const packageJson = require(path.join(packageDir, 'package.json')); const geminiCliVersionRange = packageJson.dependencies?.['@google/gemini-cli'] || 'unknown'; const geminiCliVersion = geminiCliVersionRange.replace(/^[^0-9]*/, ''); // 1. Run ASCII art patching (as fallback for older versions) console.log('🎨 Applying ASCII art patches...'); try { execSync('node scripts/patch-ascii-art.js', { cwd: packageDir, stdio: ['pipe', 'pipe', 'pipe'] // Suppress stderr to hide auth errors }); } catch (error) { // Silently continue - auth errors during install are expected } // 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: packageJson.version, setupDate: new Date().toISOString(), geminiCliVersion, features: { hideBannerSupport: true, asciiArtPatching: true, wrapperBranding: true } }, null, 2)); console.log(''); console.log('🎉 WordLift CLI setup complete!'); console.log(''); console.log('📋 Setup Summary:'); console.log(` ✓ Updated to Gemini CLI ${geminiCliVersion}`); console.log(' ✓ WordLift branding configured'); console.log(' ✓ Official hideBanner feature enabled'); console.log(' ✓ ASCII art patches applied (fallback)'); 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);