2.5 KiB
2.5 KiB
name, description
| name | description |
|---|---|
| project-verification-discipline | Always apply for this project when changing Vue or TypeScript files, Laravel models, or Laravel controllers. Enforces final type-checking for Vue/TS changes, migration, factory, and seeder verification for model changes, required PHPUnit coverage for models and controllers, and running the affected tests before finalizing. |
Project Verification Discipline
When to Apply
Activate this skill whenever work in this project includes:
- Vue files
- TypeScript files
- Laravel models
- Laravel controllers
Required verification
Vue and TypeScript changes
- End the task with
npm run types:check. - Do not finalize Vue or TypeScript changes until the type-check passes, or clearly report why it could not be completed.
Laravel model changes
- Check whether the model change requires a migration.
- If the database schema or persisted structure must change, add or update the migration in the same task.
- Create a factory for every new model.
- Keep the model factory up to date whenever the model shape, required attributes, or relationships change.
- Create one or more seeders that use factories to generate dummy data for every new model.
- Keep related seeders up to date whenever the model shape, required attributes, or relationships change.
- Create or update PHPUnit coverage for the model behavior.
- Run the affected PHPUnit tests before finalizing.
Laravel controller changes
- Create or update PHPUnit coverage for the controller behavior.
- Run the affected PHPUnit tests before finalizing.
Coverage expectations
- New models must not be introduced without matching PHPUnit coverage.
- New models must not be introduced without a factory.
- New models must not be introduced without one or more relevant seeders using factories.
- Changed models must have their PHPUnit coverage updated when behavior or persistence rules change.
- Changed models must have their factories updated when the model contract changes.
- Changed models must have their seeders updated when seeded data would become invalid or incomplete.
- New controllers must not be introduced without matching PHPUnit coverage.
- Changed controllers must have their PHPUnit coverage updated when behavior, authorization, validation, or responses change.
Notes
- Follow the project's existing PHPUnit conventions.
- Prefer the smallest relevant test run that still proves the change.
- If model and controller work happen in the same task, verify both sides in that same task.