Skip to content

FifeCIC/EvolveWP.Core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

39 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

WPSeed - The AI-Powered WordPress Plugin Boilerplate

License: GPL v3 WordPress PHP Version PRs Welcome

The most advanced WordPress plugin boilerplate with built-in AI assistance, professional developer tools, and modern architecture.

Transform your plugin development workflow with WPSeed - a production-ready boilerplate that includes everything you need to build professional WordPress plugins faster.


πŸš€ Features at a Glance

πŸ€– AI-Powered Development

  • Built-in AI Assistant - Amazon Q and Gemini integration for code generation and debugging
  • Intelligent Context Awareness - AI understands your plugin structure and suggests improvements
  • Usage Tracking & Rate Limiting - Monitor AI usage with built-in analytics

πŸ› οΈ Professional Developer Tools

  • 10-Tab Development Dashboard - Assets, Theme Info, Debug Log, Database, PHP Info, Documentation, Dev Checklist, Tasks, Layouts, Diagrams, Architecture
  • Advanced Logging System - File-based and database-driven logging with filtering
  • Asset Management - Automatic asset tracking with missing file detection
  • GitHub Integration - Sync documentation directly to your repository
  • Task Management - View and manage GitHub issues from WordPress admin
  • Built-in Documentation Viewer - Access all docs from within WordPress admin

πŸ”Œ Modern Architecture

  • REST API Framework - Base controller with secure authentication
  • WP-CLI Commands - Built-in commands for plugin management
  • Background Processing - Queue system for long-running tasks
  • Object Registry - Global object access without globals
  • Data Freshness Manager - Cache validation and auto-refresh
  • Developer Flow Logger - Detailed decision tracking for debugging
  • Dependency Injection Ready - Clean, testable code structure
  • PSR-Compatible - Modern PHP standards (optional)
  • Unit Testing - PHPUnit configuration included
  • CI/CD Ready - GitHub Actions workflow included

πŸ“¦ Production-Ready Features

  • Custom Post Types & Taxonomies - Example implementations included
  • Settings Framework - Tabbed settings with multiple field types
  • Notification System - Database-driven persistent notifications
  • Multisite Support - Network activation detection and helpers
  • i18n Ready - Translation-ready with automatic loading
  • Enhanced Uninstall - Complete cleanup of options, transients, and user meta
  • Security First - Nonce verification, capability checks, input sanitization

🎨 UI/UX Components

  • Tooltip System - Contextual help throughout admin interface
  • Admin Notices - Progress boxes, intro boxes, and dismissible notices
  • List Tables - Basic and advanced WP_List_Table examples
  • Shortcode System - Template-based shortcode architecture

πŸ“Έ Screenshots

Development Dashboard

Development Dashboard 10-tab developer interface with comprehensive tools and built-in documentation

AI Assistant

AI Assistant Built-in AI chat for code generation and debugging

Settings Interface

Settings Page Professional tabbed settings with multiple field types

Asset Tracker

Assets Tracker Automatic asset management and missing file detection


⚑ Quick Start (5 Minutes)

1. Download & Install

# Clone the repository
git clone https://github.com/ryanbayne/wpseed.git

# Or download ZIP and extract to wp-content/plugins/

2. Rename Your Plugin

# Rename the folder
mv wpseed my-awesome-plugin

# Find & Replace in all files:
# evolvewp-core" β†’ "myawesomeplugin"
# "WPSeed" β†’ "MyAwesomePlugin"
# "WPSEED" β†’ "MYAWESOMEPLUGIN"
# "Plugin Seed" β†’ "My Awesome Plugin"

3. Activate & Configure

  1. Go to WordPress Admin β†’ Plugins
  2. Find "My Awesome Plugin" and click Activate
  3. Visit Settings β†’ My Awesome Plugin Settings
  4. Configure your plugin settings

4. Start Building

// Add your custom post type
// See: includes/classes/install.php

// Create REST endpoints
// See: includes/classes/rest-example.php

// Add settings pages
// See: includes/admin/settings/settings-example.php

That's it! You now have a professional plugin foundation ready for development.


πŸ“š Documentation


πŸ†š Why Choose WPSeed?

Feature WPSeed WP Plugin Boilerplate WP Plugin Skeleton Others
AI Assistant βœ… Built-in ❌ ❌ ❌
Developer Dashboard βœ… 10 Tabs ❌ ❌ ❌
REST API Framework βœ… ❌ βœ… ⚠️
WP-CLI Commands βœ… ❌ βœ… ⚠️
GitHub Integration βœ… ❌ ❌ ❌
Asset Management βœ… Advanced ⚠️ Basic ⚠️ Basic ⚠️
Logging System βœ… Dual (File + DB) ❌ ❌ ⚠️
Unit Testing βœ… βœ… βœ… ⚠️
CI/CD Ready βœ… GitHub Actions ❌ ⚠️ ⚠️
Integration Examples βœ… 12+ ❌ ❌ ❌
Active Development βœ… 2024 ⚠️ 2020 ⚠️ 2019 ⚠️

Legend: βœ… Full Support | ⚠️ Partial/Basic | ❌ Not Available


🎯 Perfect For

SaaS Plugins

Build subscription-based plugins with REST API integration, user management, and billing systems.

E-commerce Extensions

Extend WooCommerce, Easy Digital Downloads, or other e-commerce platforms with custom functionality.

API Integrations

Connect WordPress to external services with built-in API client architecture and logging.

Admin Tools

Create powerful admin dashboards with the included UI components and developer tools.

Custom Dashboards

Build client-facing dashboards with custom post types, taxonomies, and data visualization.


πŸ”§ What's Included

Core Systems

wpseed/
β”œβ”€β”€ includes/
β”‚   β”œβ”€β”€ classes/          # Core classes (Install, Logger, API, etc.)
β”‚   β”œβ”€β”€ functions/        # Helper functions
β”‚   β”œβ”€β”€ ai-system/        # AI integration (Amazon Q, Gemini)
β”‚   └── admin/            # Admin interface components
β”œβ”€β”€ admin/
β”‚   β”œβ”€β”€ page/             # Admin pages (Development, Settings)
β”‚   β”œβ”€β”€ notices/          # Notice system
β”‚   └── notifications/    # Notification system
β”œβ”€β”€ api/                  # API client architecture
β”œβ”€β”€ assets/               # CSS, JS, images
β”œβ”€β”€ templates/            # Template files
β”œβ”€β”€ tests/                # PHPUnit tests
β”œβ”€β”€ docs/                 # Documentation
└── examples/             # Integration examples

Developer Tools

  • Assets Tab - Track CSS/JS files, detect missing assets
  • Theme Tab - View active theme info and template hierarchy
  • Debug Log Tab - View and filter WordPress debug log
  • Database Tab - Inspect tables, run queries, optimize database
  • PHP Info Tab - Server configuration and PHP settings
  • Documentation Tab - Browse all documentation from within WordPress
  • Dev Checklist Tab - Pre-release checklist with industry tools
  • Tasks Tab - GitHub issues integration
  • Layouts Tab - Visual layout examples and CSS reference

πŸš€ Advanced Features

Background Processing

// Process large tasks in background
class My_Process extends EvolveWP_Core_Background_Process {
    protected $action = 'my_process';
    
    protected function task( $item ) {
        // Process item
        return false; // Remove from queue
    }
}

$process = new My_Process();
$process->push_to_queue( array( 'id' => 1 ) );
$process->save()->dispatch();

Object Registry

// Store and access objects globally
EvolveWP_Core_Object_Registry::add( 'my_object', $object );
$obj = EvolveWP_Core_Object_Registry::get( 'my_object' );

Data Freshness Manager

// Ensure cache freshness
$data = EvolveWP_Core_Data_Freshness_Manager::ensure_freshness(
    'cache_key',
    'hourly',
    function() {
        return fetch_fresh_data();
    }
);

Developer Flow Logger

// Track decision flows (developer mode only)
EvolveWP_Core_Developer_Flow_Logger::start_flow( 'data_processing' );
EvolveWP_Core_Developer_Flow_Logger::log_decision( 'Check cache', 'HIT' );
EvolveWP_Core_Developer_Flow_Logger::end_flow( 'Success' );

See docs/ADVANCED-FEATURES.md for complete guide.

Code Generator (WP-CLI)

# Generate Custom Post Type
wp wpseed generate cpt "Book" --plural="Books" --icon="book"

# Generate Taxonomy
wp wpseed generate taxonomy "Genre" --post-type="book"

# Generate REST Endpoint
wp wpseed generate rest "books" --methods="GET,POST"

# Generate Settings Page
wp wpseed generate settings "API Settings"

REST API Example

// Create custom endpoint
class My_REST_Controller extends EvolveWP_Core_REST_Controller {
    protected $rest_base = 'myendpoint';
    
    public function register_routes() {
        register_rest_route($this->namespace, '/' . $this->rest_base, array(
            'methods'  => 'GET',
            'callback' => array($this, 'get_items'),
            'permission_callback' => array($this, 'get_items_permissions_check'),
        ));
    }
    
    public function get_items($request) {
        return rest_ensure_response(array('data' => 'Hello World'));
    }
}

AI Integration Example

// Use AI assistant in your code
$ai = new EvolveWP_Core_AI_Assistant();
$response = $ai->process_request('Generate a custom post type for books');
echo $response['message'];

πŸ”Œ Integration Examples

WPSeed includes ready-to-use integration examples for popular plugins:

Tier 1 (E-commerce & Page Builders)

  • WooCommerce - Custom product fields, order management, admin columns
  • Easy Digital Downloads - Download meta, purchase hooks, custom receipts
  • Advanced Custom Fields - Field group registration, custom field types
  • Elementor - Custom widgets, dynamic tags, theme builder integration

Tier 2 (Forms & SEO)

  • Contact Form 7 - Form handlers, database logging, custom validation
  • Gravity Forms - Custom fields, form handlers, conditional logic
  • WPForms - Submission processing, validation, confirmation messages
  • Yoast SEO - Meta box integration, schema markup, sitemap customization

Tier 3 (Community & Learning)

  • BuddyPress - Profile tabs, custom fields, activity streams
  • bbPress - Forum hooks, topic/reply management, custom fields
  • LearnDash - Course completion, quiz tracking, points system
  • MemberPress - Subscription management, transaction hooks, validation

More Examples

See docs/INTEGRATIONS.md for complete list and usage instructions.


πŸ§ͺ Testing

Run Unit Tests

# Install PHPUnit
composer install

# Run tests
phpunit

# Run specific test
phpunit tests/test-sample.php

CI/CD

GitHub Actions workflow included - automatically runs tests on push/PR.


🌍 Internationalization

WPSeed is translation-ready:

# Generate POT file
wp i18n make-pot . languages/evolvewp-core.pot

# Create translation
# Use Poedit or Loco Translate to create .po/.mo files

Place translation files in /languages/ directory.


🀝 Contributing

We welcome contributions! Here's how:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines


πŸ“‹ Requirements

  • WordPress: 5.0 or higher
  • PHP: 7.4 or higher
  • MySQL: 5.7+ or MariaDB 10.2+

Recommended

  • PHP: 8.0+
  • Composer: For dependency management
  • WP-CLI: For command-line tools
  • Node.js: For asset compilation (optional)

πŸ“„ License

WPSeed is licensed under the GNU General Public License v3.0.

You are free to:

  • βœ… Use commercially
  • βœ… Modify
  • βœ… Distribute
  • βœ… Use privately

πŸ™ Credits & Acknowledgments

Built With Inspiration From

  • Automattic - WooCommerce architecture patterns
  • wpseed - Advanced developer tools and AI integration
  • WordPress Plugin Boilerplate - Community standards
  • WP-CLI - Command-line interface patterns

Contributors

  • Ryan Bayne - Original creator and maintainer
  • Community Contributors - See CONTRIBUTORS.md

Special Thanks

  • WordPress community for excellent documentation
  • All plugin developers who share their knowledge
  • Beta testers and early adopters

About This Project

Ryan Bayne created this boilerplate plugin in his free time to support other developers. He is now establishing Fife CIC (Community Interest Company) β€” a volunteer-driven organisation based in Fife, Scotland. All development work on this project has been carried out by unpaid hours.

Fife CIC's mission is to build technology and community services that create real opportunities for people β€” from accessible pathways into employment, to skills training, to supporting single parents and young people in their technology-related aspirations. Every line of code here contributes to that mission.


πŸ“ž Support & Community

Stay Connected

Support Development

If you find WPSeed valuable, consider supporting its development:


πŸ—ΊοΈ Roadmap

Future Enhancements

  • Plugin update server integration
  • Video tutorial series

πŸ“Š Stats

  • Lines of Code: 15,000+
  • Classes: 50+
  • Functions: 200+
  • Admin Pages: 10+
  • Integration Examples: 12
  • Documentation Pages: 20+

⚑ Quick Links


πŸ’‘ Pro Tips

Speed Up Development

# Use WP-CLI for faster setup
wp plugin install wpseed --activate

# Generate boilerplate code
wp wpseed generate cpt "Product"

# Clear cache quickly
wp wpseed cache clear

Best Practices

  1. Always use nonces for form submissions
  2. Sanitize input, escape output
  3. Use transients for expensive operations
  4. Log errors with the built-in logger
  5. Write tests for critical functionality

Common Customizations

  • Change plugin name: Find & replace evolvewp-core" throughout
  • Add custom post type: Edit includes/classes/install.php
  • Create REST endpoint: Extend EvolveWP_Core_REST_Controller
  • Add settings tab: Create file in includes/admin/settings/

Made with ❀️ by the WordPress Community

⭐ Star on GitHub β€’ πŸ“– Read Docs β€’ πŸ› Report Bug β€’ πŸ’‘ Request Feature

About

Provides base classes, dependency injection containers, and the centralized asset management system for all EvolveWP plugins.

Topics

Resources

License

GPL-3.0, GPL-3.0 licenses found

Licenses found

GPL-3.0
LICENSE
GPL-3.0
license.txt

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors