UnoPim Backend Development
This skill provides guidance for developing UnoPim backend PHP code according to project standards and conventions.
When to Use This Skill
ALWAYS invoke this skill before:
- Writing new PHP tests (
*Test.phpfiles) - Creating new PHP classes, models, or repositories
- Modifying existing backend PHP code
- Adding events, listeners, or observers
- Working with Eloquent models and Concord proxies
Instructions
Follow UnoPim project conventions when adding or modifying backend PHP code:
- Coding style: See coding-conventions.md for Laravel/PSR standards
- Architecture patterns: See architecture.md for Concord, Repository, Strategy patterns
- Models and repositories: See models-repositories.md for Eloquent and Concord proxy patterns
- Events and listeners: See events-listeners.md for event-driven patterns
- Writing tests: See testing.md for Pest testing conventions
Key Principles
- Follow Laravel coding standards with
pint(Laravel preset) - Use the Repository pattern — all repos extend
Webkul\Core\Eloquent\Repository - Use Concord proxy models for model extensibility
- Place new code under the appropriate
packages/Webkul/{Package}/src/directory - Use PSR-4 autoloading:
Webkul\{Package}\namespace - Events follow
{domain}.{entity}.{action}.{before|after}naming - Product/category values use structured JSON with scoping (
common,locale_specific,channel_specific,channel_locale_specific) - Run
./vendor/bin/pintbefore committing - Run
./vendor/bin/pestto verify tests pass