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
JavaScript
/**
* 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);