Development workflow for UnoPim. Activates when running tests, linting code, building assets, or debugging; or when the user mentions test, lint, pint, build, npm, pest, format, style, quality, coverage, or needs to verify code works.
This skill provides guidance for the UnoPim development workflow, including running tests, code quality checks, building assets, and troubleshooting.
Follow these guidelines for UnoPim development workflow:
The standard development workflow:
./vendor/bin/pint./vendor/bin/pest --filter YourTestpackages/Webkul/Admin/src/Resources/assets/): cd packages/Webkul/Admin && npx vite buildresources/): npm run buildnpm run build does NOT build Admin package assets — they have separate Vite configsphp artisan optimize:clear# Format PHP code
./vendor/bin/pint
# Run all tests
./vendor/bin/pest
# Run specific test suite
./vendor/bin/pest --testsuite="Admin Feature Test"
# Build frontend assets
npm run build
# Clear all caches
php artisan optimize:clear
# Start dev server
php artisan serve
# Start queue worker (for import/export)
php artisan queue:work --queue="default,system"
Before considering ANY feature or fix complete, you MUST run and pass ALL applicable checks. GitHub Actions will fail if these are skipped.
# Auto-fix style on changed files
./vendor/bin/pint --dirty
# Verify no violations remain (dry run)
./vendor/bin/pint --test --dirty
See code-quality.md for common Pint pitfalls.
# Run tests for the package you changed
./vendor/bin/pest packages/Webkul/{Package}/tests/
# Run specific test file
./vendor/bin/pest path/to/YourTest.php
See running-tests.md for common Pest pitfalls.
Playwright tests (tests/e2e-pw/) run in CI but not locally. You MUST keep them in sync when changing:
Resources/lang/*/app.php): Search tests/e2e-pw/ for the old text and update assertionstests/e2e-pw/ for affected selectorstests/e2e-pw/tests/04-datatransfer/$.uid-based IDs in tests (e.g., id="36_dropzone-file") — use stable selectors like input[type="file"][name="file"]# Search Playwright tests for text you changed
grep -r "OLD TEXT" tests/e2e-pw/
./vendor/bin/pint before committing PHP changes