Skip to content

Latest commit

 

History

History
131 lines (87 loc) · 4.41 KB

README.md

File metadata and controls

131 lines (87 loc) · 4.41 KB

ModulesPress Logo

Total Downloads Latest Stable Version NPM Version License Discord

ModulesPress is a modern WordPress plugin development framework that brings the power of TypeScript, React, and NestJS-style architecture to WordPress development.


🌟 Overview

ModulesPress supercharges your WordPress plugin development by introducing modern development practices and powerful features that make building complex plugins a breeze.

✨ Key Features

  • 📂 PSR-4 Autoloader - All classes are loaded by default
  • 🎯 Modern Architecture - NestJS-inspired modular design
  • Vite Integration - Bundling and hot reloading of assets
  • 🎨 Blade Templates - Elegant templating with Laravel's Blade
  • 🚀 TypeScript & React - First-class support for modern frontend
  • 🛠️ PHP 8+ Attributes - Use decorators for clean, declarative code
  • 🎭 Dependency Injection - Powerful IoC container
  • 🔌 Plugin Framework - Built specifically for WordPress plugins
  • 🔄 Hot Module Replacement - Instant feedback during development

📹 ModulesPress Video Guide

Discover how to get started with ModulesPress. This video walks you through installation, setup, and plugin packaging using the powerful ModulesPress framework and CLI.

🚀 Quick Start

Installation

composer global require modulespress/cli

Note: Make sure the composer global bin directory is in your PATH.

After installation, you can access the CLI using either modulespress or mp in your terminal.

Documentation

For comprehensive documentation and guides, visit our Official Documentation.

🎯 Framework Philosophy

ModulesPress is built on these core principles:

  1. Modern Development: Embrace contemporary development practices
  2. Developer Experience: Provide excellent tooling and debugging
  3. Type Safety: Leverage TypeScript and PHP 8+ features
  4. Performance: Optimize for production environments
  5. WordPress Integration: Seamless WordPress compatibility

📝 Example Usage

Here's a simple example of a ModulesPress plugin:

/**
 * Plugin Name: My Awesome Plugin
 * Description: Built with ModulesPress
 * Version: 1.0.0
 */

use MyPlugin\Modules\RootModule\RootModule; 
use ModulesPress\Foundation\ModulesPressPlugin;

if (!defined('ABSPATH')) exit;

final class MyAwesomePlugin extends ModulesPressPlugin {
   
    public const NAME = "My ModulesPress Plugin";
    public const SLUG = "my-modulespress-plugin";

    public function __construct() {
        parent::__construct(
            rootModule: RootModule::class,
            rootDir: __DIR__,
            rootFile: __FILE__
        );
    }

}

(new MyAwesomePlugin())->bootstrap();

🤝 Contributing

We welcome contributions! Please feel free to submit a Pull Request.

📄 License

This project is licensed under the MIT License.

🌐 Community

Join our Discord community for support and discussions.

📚 Documentation

For detailed documentation, please visit our Wiki.

🤝 Support

If you need help or have questions:

🙏 Acknowledgments

Thanks to all our contributors and the open source community!