magento-module-developer

Creates robust, maintainable, and extensible Magento 2 modules following enterprise architecture patterns. Use when developing custom modules, implementing new functionality, creating extensions, or building Magento 2 components. Masters dependency injection, service contracts, repository patterns,

By maxnorm · 407 installs

npx skills add maxnorm/magento2-agent-skills --skill magento-module-developer

Source repository · Upstream listing

Magento 2 Module Developer Expert specialist in creating well architected, maintainable, and extensible Magento 2 modules that seamlessly integrate with Magento's core framework following Adobe Commerce best practices. When to Use Creating new Magento 2 modules or extensions Implementing custom functionality Building module architecture and structure Setting up module dependencies and configuration Implementing service contracts and APIs Creating database schemas and data patches Module Development Process 1. Planning & Architecture Requirements Analysis : Break down functional and non functional requirements Architecture Design : Plan module structure and integration points Database Design : Design entity relationships and data flow API Design : Define service contracts and data transfer objects Performance Considerations : Plan for scalability and optimization 2. Module Setup Module Structure : Create proper directory structure following Magento conventions: Registration : Create registration.php and composer.json Module Declaration : Create etc/module.xml with proper dependencies Version Control : Set up Git with proper .gitignore 3. Core Implementation Models & Entities Entity models extending Magento\Framework\Model\AbstractModel Resource models extending Magento\Framework\Model\ResourceModel\Db\AbstractDb Collections extending Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection Use db schema.xml for database schema definitions Repositories Implement repository pattern for data access Create repository interfaces in Api/ directory Implement repositories in Model/ directory Use service contracts for clean API interfaces Service Classes Business logic in service classes Use dependency injection for all dependencies Implement service contracts for extensibility Controllers Frontend controllers extending Magento\Framework\App\Action\Action Admin controllers extending Magento\Backend\App\Action API controllers implementing service contracts 4. Configuration Files module.xml di.xml Configure dependency injection Define preferences, virtual types, plugins Use proper scope (global, frontend, adminhtml, webapi rest, webapi soap) db schema.xml Define database tables, columns, indexes Use proper data types and constraints Follow Magento naming conventions Design Patterns & Principles Service Contracts Create interfaces in Api/ directory Implement clean API interfaces Use data transfer objects (DTOs) for data exchange Maintain backward compatibility Repository Pattern Separate data access from business logic Use repositories for all data operations Implement proper error handling Support transactions where needed Dependency Injection Use constructor injection only Avoid service locator pattern Leverage Magento's DI container Use type hints for all dependencies Plugin System Use plugins to extend functionality Prefer before/after plugins over around plugins Avoid around plugins unless necessary Document plugin execution order Event/Observer Pattern Dispatch events for extensibility Implement observers for loose coupling Use proper event naming conventions Document event data structure Module Components Backend Components Models : Entity models, resource models, collections Repositories : Data access layer implementations Services : Business logic and application services Controllers : Admin controllers and API endpoints Blocks : Admin interface building blocks UI Components : Admin grids, forms, and components Frontend Components Controllers : Frontend page controllers and actions Blocks : View logic and data preparation Templates : PHTML template files with proper escaping Layout Files : XML layout configurations JavaScript : Frontend interaction and AJAX functionality CSS/LESS : Styling and responsive design Database Components db schema.xml : Database schema definitions Data Patches : Data migration and setup scripts Schema Patches : Database structure modifications Indexers : Custom search and filter indexers Advanced Features API Development Create REST endpoints with proper authentication Implement GraphQL resolvers and schemas Design clean API interfaces Implement rate limiting and security measures Event System Integration Dispatch custom events for extensibility Implement event observers Create before/after/around plugins Use virtual types for flexibility Caching & Performance Implement custom cache types and tags Handle cache invalidation properly Use lazy loading for expensive operations Optimize database queries and joins Multi Store Support Handle multi store configurations Implement proper configuration scopes Ensure proper data separation Support store context switching Best Practices Code Quality Follow PSR 12 and Magento coding standards Use declare(strict types=1); in all PHP files Implement comprehensive type hinting Write unit and integration tests Maintain high code coverage Security Implement input validation Use proper output escaping in templates Implement CSRF protection Enforce proper access control (ACL) Handle sensitive data appropriately Performance Optimize database queries Use proper indexes Implement caching strategies Monitor memory usage Optimize collection loading Extensibility Provide extension points via plugins Dispatch events for third party integration Allow configuration without code changes Use interface segregation Maintain backward compatibility Testing Unit Tests : Test individual classes and methods Integration Tests : Test module integration with core Functional Tests : End to end test scenarios Static Analysis : Use PHPStan/Psalm for code quality Documentation Technical documentation for developers User documentation for end users API documentation for all public APIs Installation guides Troubleshooting guides References [Adobe Commerce Extension Development](https://developer.adobe.com/commerce/php/development/) [Coding Standards](https://developer.adobe.com/commerce/php/coding standards/) [Best Practices](https://developer.adobe.com/commerce/php/best practices/) Focus on creating modules that are maintainable, extensible, and aligned with Magento's enterprise grade architecture principles.