Git workflow

Exowpee uses GitLab with a feature branch workflow:

Branch naming

Workflow

  1. Create a branch from dev
  2. Make your changes
  3. Push and create a Merge Request to dev
  4. Code review and CI pipeline must pass
  5. Merge into dev

Commit messages

Follow the Conventional Commits pattern:

Code style

Exowpee uses Laravel Pint for code formatting:
Configuration is in pint.json at the project root.

Key conventions

  • PHP 8.2+ features (enums, typed properties, named arguments)
  • PSR-12 coding standard
  • Strict types in new files
  • No unused imports or variables
  • Return types on all methods

Where to put code

Checklist before submitting

  • Code passes ./vendor/bin/pint --test
  • New models use KsuidTrait
  • New endpoints have FormRequest validation
  • New models have policies with permission checks
  • Migrations are idempotent
  • Translations added for en and fr
  • No hardcoded company IDs — use company() helper
  • Tested locally with docker compose exec app php -d memory_limit=1G artisan test --parallel --processes=4 --recreate-databases