Files
crewli/.cursorrules
2026-04-15 21:01:45 +02:00

27 lines
974 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
## Vuexy reference path (mandatory)
- When looking at Vuexy examples, demos, or patterns, ALWAYS reference:
`resources/vuexy-admin-v10.11.1/vue-version/typescript-version/full-version/`
- Never reference `javascript-version/` or `starter-kit/` variants
## 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