- Replace dated migrations with ordered 2026_04_07_* chain; fold users update into base migration - Update OrganisationScope, AppServiceProvider, seeders, api routes, and .env.example - Refresh Cursor rules, CLAUDE.md, Makefile, README, and docs (API, SCHEMA, SETUP) - Adjust admin/app/portal HTML, packages, api-client, events types, and theme config - Update docker-compose and VS Code settings; remove stray Office lock files from resources Made-with: Cursor
22 lines
718 B
Plaintext
22 lines
718 B
Plaintext
# Crewli Cursor Rules
|
|
|
|
## Stack
|
|
PHP 8.2 + Laravel 12 | TypeScript + Vue 3 + Vuexy/Vuetify | Pinia + TanStack Query
|
|
|
|
## Laravel
|
|
- Resource controllers, form requests, API resources — always
|
|
- `HasUlids` on business models, `HasFactory`, `SoftDeletes` where documented
|
|
- Global scope `OrganisationScope` on event-related models
|
|
- Policies for authorization — never inline role checks
|
|
|
|
## Vue 3
|
|
- `<script setup lang="ts">` always
|
|
- TanStack Query for API state, Pinia for UI state
|
|
- Vuetify components first; custom CSS only as a last resort
|
|
|
|
## Naming
|
|
- snake_case DB | camelCase JS | PascalCase Vue | `use*` composables | `use*Store` Pinia
|
|
|
|
## Tests
|
|
- PHPUnit feature test per controller, minimum: 200 + 401 + 403
|