WordPress Development CLI Tool with Natural Language Interface
Standalone version of wp-cc-mcp - complete WordPress development lifecycle in your terminal
Features β’ Installation β’ Usage β’ Documentation β’ Contributing
- π£οΈ Natural Language Interface - Use everyday language to execute WordPress development tasks
- π³ Docker Management - Start, stop, and manage WordPress containers with ease
- π Project Lifecycle - Create, manage, and delete WordPress projects automatically
- π Research & Content - Research topics and generate content using AI (Jina AI)
- π§ͺ Testing Suite - Comprehensive testing for links, SEO, and site functionality
- π Deployment - One-click deployment to SiteGround and other hosts
- βοΈ WordPress Operations - Complete WordPress management via CLI
- π Database Management - Database dump, import, diff, and reset operations
- π Git Integration - Seamless Git workflow automation
- π¨ Beautiful Output - Colored terminal output with progress bars and tables
# Clone the repository
git clone https://github.com/codeverlan/wp-cc-cli.git
cd wp-cc-cli
# Run the installation script
./install.sh# Clone the repository
git clone https://github.com/codeverlan/wp-cc-cli.git
cd wp-cc-cli
# Install dependencies
npm install
# Copy environment configuration
cp .env.example .env
# Edit .env with your configuration
nano .env
# Make CLI executable
npm run prepare
# Install globally (optional)
npm link# Pull the Docker image (when available)
docker pull wp-cc-cli:latest
# Run the CLI via Docker
docker run -it --rm -v $(pwd):/app wp-cc-cli "create project called my-blog"# Check version
wp-cc version
# Show help
wp-cc help
# Test natural language processing
wp-cc "list projects"WP-CC CLI understands natural language commands. Just describe what you want to do!
# Create new projects
wp-cc "create project called my-blog on port 8080"
wp-cc "create a new WordPress project called portfolio on port 3000"
# List and manage projects
wp-cc "list all projects"
wp-cc "show me all WordPress projects"
wp-cc "start the project called my-blog"
wp-cc "stop containers for my-website"
wp-cc "restart the portfolio project"
wp-cc "delete project called old-site"# Container management
wp-cc "start containers for my-website"
wp-cc "stop the docker containers"
wp-cc "restart all containers"
wp-cc "show logs for my-blog"
wp-cc "check container status"# Research topics
wp-cc "research topic 'best coffee shops in seattle'"
wp-cc "research 'artificial intelligence in healthcare'"
wp-cc "find information about 'sustainable fashion trends'"
# Generate content
wp-cc "generate content from research for my-blog"
wp-cc "create blog posts about coffee shops"
wp-cc "write articles about AI in healthcare"# Link testing
wp-cc "test all links on my-website"
wp-cc "check for broken links on my-blog"
wp-cc "validate all internal and external links"
# SEO testing
wp-cc "test seo for my-blog"
wp-cc "check SEO optimization for my-website"
wp-cc "validate meta tags and descriptions"
# Comprehensive testing
wp-cc "run comprehensive tests for my-site"
wp-cc "execute full test suite"
wp-cc "test everything on my-blog"# Deploy to production
wp-cc "deploy my-blog to production"
wp-cc "deploy my-site to siteground production"
wp-cc "push my-website to live server"
# Deployment management
wp-cc "sync from production"
wp-cc "clear cache on production"# Theme management
wp-cc "install theme 'generatepress' for my-blog"
wp-cc "activate the astra theme on my-website"
wp-cc "switch to twenty twenty-four theme"
# Plugin management
wp-cc "install plugin 'yoast-seo' for my-website"
wp-cc "activate contact form 7 plugin"
wp-cc "update all plugins on my-blog"
# WordPress configuration
wp-cc "configure WordPress settings for my-blog"
wp-cc "set up permalinks"
wp-cc "configure WordPress security"# Database management
wp-cc "dump database for my-blog"
wp-cc "export database from my-website"
wp-cc "import database to my-site"
wp-cc "create database backup"
wp-cc "reset database to clean state"# Git workflow
wp-cc "git status for my-blog"
wp-cc "git commit 'Added new blog posts' for my-website"
wp-cc "git push changes for my-blog"
wp-cc "git pull latest changes"The CLI understands various command patterns:
| Pattern | Example |
|---|---|
create project called [name] |
wp-cc "create project called my-blog" |
start containers for [project] |
wp-cc "start containers for my-blog" |
research topic "[topic]" |
wp-cc "research topic 'coffee shops'" |
test all links on [project] |
wp-cc "test all links on my-website" |
deploy [project] to production |
wp-cc "deploy my-blog to production" |
# Show general help
wp-cc help
# Show version information
wp-cc version
# Show available examples
wp-cc
# Show detailed help with all commands
wp-cc help detailed- Use quotes for multi-word topics:
wp-cc "research topic 'best coffee shops'" - Be specific with project names:
wp-cc "start containers for my-website" - Combine operations:
wp-cc "create project called blog and start containers" - Use natural language:
wp-cc "I want to test all the links on my website"
Copy the example environment file and configure your settings:
cp .env.example .env
nano .env# WordPress Projects Directory
WP_PROJECTS_DIR=/Users/yourname/projects/wp-projects
# Database Configuration
DATABASE_PATH=./data/wp-cli.db
# API Keys (recommended for full functionality)
JINA_API_KEY=your_jina_api_key_here
UNSPLASH_API_KEY=your_unsplash_api_key_here
# SiteGround Deployment (optional)
SITEGROUND_SERVER=your.server.siteground.biz
SITEGROUND_USERNAME=your_username
SITEGROUND_PATH=/www/your-site.com
SITEGROUND_URL=https://your-site.com
# Docker Configuration
DOCKER_TIMEOUT=120000
DOCKER_COMPOSE_COMMAND=docker-compose
# Logging Configuration
LOG_LEVEL=info
LOG_FILE=./logs/wp-cli.log
# CLI Configuration
CLI_DEFAULT_PORT=8080
CLI_OUTPUT_FORMAT=table- Visit Jina AI
- Sign up for an account
- Navigate to API settings
- Copy your API key to
.env
- Visit Unsplash Developers
- Create a new application
- Copy your Access Key to
.env
The CLI uses Docker for WordPress project isolation. Ensure Docker is running:
# Check Docker status
docker --version
docker-compose --version
# Test Docker
docker run hello-worldβββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β Natural β β Command β β Manager β
β Language βββββΆβ Router βββββΆβ Classes β
β Input β β β β β
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β
ββββββββββΌβββββββββ
β WordPress β
β Docker β
β Environment β
βββββββββββββββββββ
- π§ Natural Language Parser: Regex-based pattern matching for command understanding
- π Command Router: Routes parsed commands to appropriate manager classes
- π’ Manager Classes: 24 specialized managers for different WordPress operations
- π³ Docker Integration: Manages WordPress containers automatically
- π Database Layer: SQLite for project state management
- π¨ Output Formatter: Beautiful CLI output with colors and tables
| Manager | Responsibility | Tools |
|---|---|---|
ProjectManager |
Project lifecycle management | 4 tools |
DockerManager |
Container orchestration | 4 tools |
ResearchManager |
Content research & generation | 8 tools |
TestingManager |
Site testing & validation | 6 tools |
WordPressManager |
WordPress core operations | 6 tools |
DatabaseManager |
Database operations | 4 tools |
GitManager |
Version control | 4 tools |
SiteGroundManager |
Deployment automation | 4 tools |
WPCLIManager |
WP-CLI integration | 8 tools |
WPRestManager |
REST API operations | 7 tools |
create project- Create new WordPress project with Docker setuplist projects- Display all WordPress projects with statusstart project- Start all containers for a projectdelete project- Remove project and all associated data
start containers- Start Docker containers for projectstop containers- Stop running containersrestart containers- Restart containers with latest changesshow logs- Display container logs in real-time
research topic- Exhaustive topic research using Jina AIresearch exhaustive- Deep research with citations and sourcesgenerate content- Generate blog posts from research datafind images- Download relevant images from Unsplashscrape site- Extract content from websitesvalidate research- Verify research data completenesscreate SEO pages- Generate SEO-optimized pagesimport JSON data- Import structured data into WordPress
test links- Comprehensive link validation (no 404s policy)test SEO- SEO optimization validationtest comprehensive- Full test suite executiontest performance- Site performance testingtest security- Security vulnerability scanninggenerate test report- Create detailed test documentation
deploy to production- Deploy to SiteGround via Gitsync from production- Pull changes from productionclear cache- Clear SiteGround cacheget deployment info- Check deployment statusprepare deployment- Pre-deployment validationrollback deployment- Rollback to previous version
install theme- Install and activate WordPress themesinstall plugin- Install and configure pluginsconfigure WordPress- Set up WordPress settingsmanage users- User management operationsmanage posts- Post and page managementmanage media- Media library operationsWP-CLI operations- Direct WP-CLI command executionREST API operations- WordPress REST API integration
dump database- Export database with migration trackingimport database- Import SQL database filesdiff database- Generate migration scriptsreset database- Reset database to clean state
git status- Check Git repository statusgit commit- Commit changes with proper formattinggit push- Push changes to remote repositorygit pull- Pull latest changes from remote
# Clone the repository
git clone https://github.com/codeverlan/wp-cc-cli.git
cd wp-cc-cli
# Install dependencies
npm install
# Set up development environment
cp .env.example .env
# Edit .env with your development settings
# Run in development mode
npm run dev
# Run tests
npm test
# Lint code
npm run lint
# Fix linting issues
npm run lint:fixwp-cc-cli/
βββ bin/
β βββ wp-cc # Main CLI executable
βββ src/
β βββ index.js # Main CLI interface
β βββ managers/ # 24 manager classes
β β βββ docker-manager.js
β β βββ project-manager.js
β β βββ research-manager.js
β β βββ ... (21 more)
β βββ utils/ # Utility functions
βββ tests/ # Test files
βββ docs/ # Documentation
βββ .env.example # Environment template
βββ package.json # Dependencies and scripts
βββ README.md # This file
- Add Pattern to Command Router (
src/index.js):
'my new command': {
pattern: /my new command (.+)/i,
handler: this.handleMyNewCommand.bind(this)
}- Implement Handler Method:
async handleMyNewCommand(match, commandText) {
const parameter = match[1];
// Your implementation here
return { success: true, message: 'Command executed' };
}- Add Tests:
// tests/my-new-command.test.js
import { WPCli } from '../src/index.js';
test('my new command', async () => {
const cli = new WPCli();
const result = await cli.executeCommand('my new command test');
expect(result.success).toBe(true);
});# Run all tests
npm test
# Run tests with coverage
npm run test:coverage
# Run tests in watch mode
npm run test:watch
# Run specific test file
npm test -- my-new-command.test.js# Check code style
npm run lint
# Fix code style automatically
npm run lint:fix
# Check for security vulnerabilities
npm audit
# Fix security issues
npm audit fix| Feature | wp-cc-mcp | wp-cc-cli |
|---|---|---|
| Context Usage | High (in Claude Code) | β None (standalone) |
| Interface | MCP protocol | β Natural language CLI |
| Performance | Good | β Better (direct execution) |
| Portability | Requires Claude Code | β Works anywhere |
| Setup | Complex (MCP server) | β Simple (npm install) |
| Dependencies | MCP SDK | β Standard CLI tools |
| Learning Curve | High | β Low (natural language) |
| Resource Usage | Higher | β Lower |
| Debugging | Complex | β Standard CLI debugging |
We welcome contributions! Please follow our contributing guidelines.
-
Fork the repository
# Fork on GitHub, then clone your fork git clone https://github.com/yourusername/wp-cc-cli.git -
Create a feature branch
git checkout -b feature/amazing-feature
-
Make your changes
- Follow the existing code style
- Add tests for new functionality
- Update documentation
-
Run the test suite
npm test npm run lint -
Commit your changes
git commit -m "feat: add amazing feature" -
Push to your fork
git push origin feature/amazing-feature
-
Create a Pull Request
- Provide a clear description of changes
- Link any relevant issues
- Ensure CI passes
- Use ES6+ syntax with ES modules
- Follow Prettier code formatting
- Write JSDoc comments for functions
- Add tests for new functionality
- Keep commit messages conventional
When reporting bugs, please include:
- CLI version:
wp-cc version - Node.js version:
node --version - Operating system:
uname -a - Command used: Full command that failed
- Error message: Complete error output
- Expected behavior: What you expected to happen
- Actual behavior: What actually happened
This project is licensed under the MIT License - see the LICENSE file for details.
β Commercial use - You can use this in commercial projects β Modification - You can modify the code β Distribution - You can distribute your modifications β Private use - You can use privately β Liability - No warranty provided β Trademark - Cannot use the trademark
- π Documentation: Check this README and
/docsfolder - π Issues: Create an issue on GitHub
- π¬ Discussions: GitHub Discussions
- π§ Email: [email protected] (for commercial support)
Problem: wp-cc: command not found
# Solution: Install globally or use npx
npm link
# or
npx wp-cc "your command"Problem: Docker not working
# Check Docker status
docker --version
docker info
# Start Docker Desktop if neededProblem: Permission denied
# Check file permissions
ls -la bin/wp-cc
# Make executable
chmod +x bin/wp-ccProblem: API key errors
# Check .env file
cat .env
# Verify API keys are correct- Use specific project names - Faster command parsing
- Keep Docker updated - Better container performance
- Regular database cleanup - Prevents bloat
- Monitor resource usage - Avoid system overload
- Plugin System - Extensible plugin architecture
- Web Interface - Optional web dashboard
- Multi-cloud Support - AWS, DigitalOcean deployment
- Advanced AI Features - More sophisticated content generation
- Team Collaboration - Multi-user project management
- Performance Monitoring - Built-in analytics dashboard