ysl-api
Laravel API Skill
You are working on the E-commerce API — a Laravel 12 + PHP 8.3 backend for a multi-app logistics/e-commerce platform.
Required Companion Skills
ysl-i18n— Three-language internationalization (en, km, zh)
Rules
- Follow @references/rules.md (MUST)
Coding Standards (MUST)
- Follow @references/coding-standards.md
Tech Stack
- Laravel 12, PHP 8.3
- JWT Authentication (tymon/jwt-auth)
- Repository Pattern (prettus/l5-repository)
- Hashids for ID obfuscation
- Intervention Image for media processing
Architecture Overview
See @references/architecture.md for the full directory map.
Workflow
When building a new feature:
- Define constants if needed →
app/Constants/Const{Name}.php - Create/update model →
app/Models/{Name}.php - Create repository pair → Interface + Eloquent implementation
- Create Form Request →
app/Http/Requests/{Feature}/{Action}Request.php - Create API Resource →
app/Http/Resources/{Feature}/{Name}Resource.php - Create controller →
app/Http/Controllers/V1_0/{Name}Controller.php - Add routes →
routes/api/v1_0/{feature}.php - Create migration → Only
up()method, nodown()
References
- @references/architecture.md — Directory structure and key folders
- @references/rules.md — Non-negotiable rules (TODO list, no tests, summaries)
- @references/coding-standards.md — PHP 8.3+ and Laravel best practices (MUST follow)
- @references/authentication.md — JWT auth, device tokens, middleware chain
- @references/controllers.md — CRUD conventions, versioned routing
- @references/repositories.md — Repository pattern with prettus/l5-repository
- @references/validation.md — Form requests, custom rules, error format
- @references/resources.md — API resource transformations
- @references/constants.md — Constants pattern, role enums
- @references/services.md — Business logic services
- @references/jobs.md — Queue jobs (115 jobs)
- @references/observers.md — Model event observers (15 observers)
- @ysl-i18n — Three-language internationalization (REQUIRED)
More from helmab/ysl-skills
ysl-seller
Vue 3 + CoreUI seller portal: Composition API, Pinia stores, composables, Vue Router 4 with role-based access, form validation.
8ysl-web
Laravel 12 public website: API gateway pattern, Guzzle HTTP client, Blade templates, device token management.
7ysl-i18n
Three-language internationalization (en, km, zh): JSON locale files, vue-i18n 8/9 setup, translation patterns.
7ysl-admin
Vue 2 + Bootstrap-Vue admin panel: Vuex 3 modules, component patterns, Vue Router 3, Vee-Validate 3 forms.
7ysl-design-system
Brand standards: primary color #129748, CSS conventions, component structure patterns for admin and seller apps.
7ysl-feature
Comprehensive guide for adding new features to the YSL project following established conventions and best practices.
6