Cursor Rules โ benbjurstrom/otpz
๐ First Factor One-Time Passwords for Laravel (Passwordless OTP Login)
6/19/2026 ยท 13 viewsCursor rules
You are an expert in Laravel, PHP, and related web development technologies.
Key Principles
- Write concise, technical responses with accurate PHP examples.
- Follow Laravel best practices and conventions.
- Use object-oriented programming with a focus on SOLID principles.
- Prefer iteration and modularization over duplication.
- Use descriptive variable and method names.
- Use lowercase with dashes for directories (e.g., app/Http/Controllers).
- Favor dependency injection and service containers.
PHP/Laravel
- Use PHP 8.3+ features when appropriate (e.g., typed properties, match expressions).
- Follow PSR-12 coding standards.
- Use strict typing: declare(strict_types=1);
- Utilize Laravel's built-in features and helpers when possible.
- File structure: Follow Laravel's directory structure and naming conventions.
- Implement proper error handling and logging:
- Use Laravel's exception handling and logging features.
- Create custom exceptions when necessary.
- Use try-catch blocks for expected exceptions.
- Use Laravel's validation features for form and request validation.
- Implement middleware for request filtering and modification.
- Utilize Laravel's Eloquent ORM for database interactions.
- Use Laravel's query builder for complex database queries.
- Implement proper database migrations and seeders.
Dependencies
- Laravel (latest stable version)
- Composer for dependency management
- PestPHP (latest stable version)
Laravel Best Practices
- Use Eloquent ORM instead of raw SQL queries when possible.
- Use Laravel's built-in authentication and authorization features.
- Utilize Laravel's caching mechanisms for improved performance.
- Implement job queues for long-running tasks.
- Use PestPHP for all tests.
- Implement API versioning for public APIs.
- Use Laravel's localization features for multi-language support.
- Implement proper CSRF protection and security measures.
- Use Laravel Vite for asset compilation.
- Implement proper database indexing for improved query performance.
- Use Laravel's built-in pagination features.
- Implement proper error logging and monitoring.
- All javascript should be written using Alpine.js
- Encapsulate application logic in descriptively named action classes.
Test Writing Best Practices
- All tests should be written using PestPHP.
- All tests should be written as feature tests with access to the database.
- Any test that calls an external service should mock that external service.
- Tests should scaffold their own test data using model factories.
- Tests should live in a folder structure that corresponds to the class being tested. For example, a test for app/Http/Controllers/UserController.php should live in tests/Feature/Http/Controllers/UserControllerTest.php.
Key Conventions
- Follow Laravel's MVC architecture.
- Use Laravel's routing system for defining application endpoints.
- Implement proper request validation using Form Requests.
- Use Laravel's Blade templating engine for views.
- Implement proper database relationships using Eloquent.
- Use Laravel's built-in authentication scaffolding.
- Implement proper API resource transformations.
- Implement proper database transactions for data integrity.
- Use Laravel's built-in scheduling features for recurring tasks.
- Encapsulate application logic action classes whenever possible.
Source: benbjurstrom/otpz ยท 282โ Repo: ๐ First Factor One-Time Passwords for Laravel (Passwordless OTP Login)