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.
- 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
- 11-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
- Listener Monitor - Track and debug all POST/GET/AJAX requests with decision logging
- 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
- Settings Backup/Restore - Export, import, and reset plugin settings
- 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
- 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
- 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
10-tab developer interface with comprehensive tools and built-in documentation
Built-in AI chat for code generation and debugging
Professional tabbed settings with multiple field types
Automatic asset management and missing file detection
# Clone the repository
git clone https://github.com/FifeCIC/WPSeed.git
# Or download ZIP and extract to wp-content/plugins/# Rename the folder
mv wpseed my-awesome-plugin
# Find & Replace in all files:
# "wpseed" β "myawesomeplugin"
# "WPSeed" β "MyAwesomePlugin"
# "WPSEED" β "MYAWESOMEPLUGIN"
# "Plugin Seed" β "My Awesome Plugin"- Go to WordPress Admin β Plugins
- Find "My Awesome Plugin" and click Activate
- Visit Settings β My Awesome Plugin Settings
- Configure your plugin settings
// 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.phpThat's it! You now have a professional plugin foundation ready for development.
- Getting Started Guide - Detailed setup and customization
- Architecture Overview - File structure and design patterns
- API Reference - Functions, classes, and hooks
- Listener Patterns - Form processing and request handling
- Translation Guide - Internationalization workflow
- RTL Testing - Right-to-left language support
- Repeater Fields Guide - Dynamic repeatable field groups
- Integration Examples - WooCommerce, ACF, Elementor, and more
| 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 | |||
| Logging System | β Dual (File + DB) | β | β | |
| Unit Testing | β | β | β | |
| CI/CD Ready | β GitHub Actions | β | ||
| Integration Examples | β 12+ | β | β | β |
| Active Development | β 2024 |
Legend: β
Full Support |
Build subscription-based plugins with REST API integration, user management, and billing systems.
Extend WooCommerce, Easy Digital Downloads, or other e-commerce platforms with custom functionality.
Connect WordPress to external services with built-in API client architecture and logging.
Create powerful admin dashboards with the included UI components and developer tools.
Build client-facing dashboards with custom post types, taxonomies, and data visualization.
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
- 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
// Process large tasks in background
class My_Process extends WPSeed_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();// Store and access objects globally
WPSeed_Object_Registry::add( 'my_object', $object );
$obj = WPSeed_Object_Registry::get( 'my_object' );// Ensure cache freshness
$data = WPSeed_Data_Freshness_Manager::ensure_freshness(
'cache_key',
'hourly',
function() {
return fetch_fresh_data();
}
);// Track decision flows (developer mode only)
WPSeed_Developer_Flow_Logger::start_flow( 'data_processing' );
WPSeed_Developer_Flow_Logger::log_decision( 'Check cache', 'HIT' );
WPSeed_Developer_Flow_Logger::end_flow( 'Success' );See docs/ADVANCED-FEATURES.md for complete guide.
# 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"// Create custom endpoint
class My_REST_Controller extends WPSeed_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'));
}
}// Use AI assistant in your code
$ai = new WPSeed_AI_Assistant();
$response = $ai->process_request('Generate a custom post type for books');
echo $response['message'];WPSeed includes ready-to-use integration examples for popular plugins:
- 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
- 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
- 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
See docs/INTEGRATIONS.md for complete list and usage instructions.
# Install PHPUnit
composer install
# Run tests
phpunit
# Run specific test
phpunit tests/test-sample.phpGitHub Actions workflow included - automatically runs tests on push/PR.
WPSeed is translation-ready:
# Generate POT file
wp i18n make-pot . languages/wpseed.pot
# Create translation
# Use Poedit or Loco Translate to create .po/.mo filesPlace translation files in /languages/ directory.
We welcome contributions! Here's how:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow WordPress Coding Standards
- Write tests for new features
- Update documentation
- Keep commits atomic and descriptive
- WordPress: 5.0 or higher
- PHP: 7.4 or higher
- MySQL: 5.7+ or MariaDB 10.2+
- PHP: 8.0+
- Composer: For dependency management
- WP-CLI: For command-line tools
- Node.js: For asset compilation (optional)
WPSeed is licensed under the GNU General Public License v3.0.
You are free to:
- β Use commercially
- β Modify
- β Distribute
- β Use privately
- Automattic - WooCommerce architecture patterns
- wpseed - Advanced developer tools and AI integration
- WordPress Plugin Boilerplate - Community standards
- WP-CLI - Command-line interface patterns
- Ryan Bayne - Original creator and maintainer
- Community Contributors - See CONTRIBUTORS.md
- WordPress community for excellent documentation
- All plugin developers who share their knowledge
- Beta testers and early adopters
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.
- Blog: ryanbayne.wordpress.com
- LinkedIn: Ryan Bayne
- FifeCIC: Fife Community Interest Company
If you find WPSeed valuable, consider supporting its development:
- β Star this repository on GitHub
- π° Sponsor Ryan on GitHub
- π° Back Ryans Patreon
- π° Buy Ryan A Coffee
- π Report bugs and suggest features
- π Contribute code or documentation
- π¬ Share your experience and help others
- Plugin update server integration
- Video tutorial series
- Lines of Code: 15,000+
- Classes: 50+
- Functions: 200+
- Admin Pages: 12+
- Integration Examples: 12
- Documentation Pages: 25+
- Translation Files: 31 languages
- Download Latest Release
- View Changelog
- Read Documentation
- Watch Video Tutorial
- Report an Issue
- Request a Feature
# 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- Always use nonces for form submissions
- Sanitize input, escape output
- Use transients for expensive operations
- Log errors with the built-in logger
- Write tests for critical functionality
- Change plugin name: Find & replace "wpseed" throughout
- Add custom post type: Edit
includes/classes/install.php - Create REST endpoint: Extend
WPSeed_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