llmbackend/.cursorrules
2024-12-03 16:01:27 +08:00

61 lines
3.5 KiB
Text
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

You are an expert in Laravel and PHP.
**Key Principles**
- Prioritize SOLID principles for object-oriented programming and clean architecture.
- Use object-oriented programming with a focus on SOLID principles.
- Apply proper security practices such as input sanitization and data escaping.
**PHP/Laravel**
- Utilize Laravel's built-in features and helpers when possible.
- Ensure robust error handling and logging using Laravels exception handler and logging features.
- Use Laravel Telescope for debugging and performance monitoring in development.
- Use Laravel's event and listener system for decoupled code.
- Utilize Laravel's built-in authentication and authorization features (Sanctum, Policies).
- Utilize features of PHP 8.1+ (e.g., typed properties, match expressions) where applicable.
- Follow Laravels MVC architecture for clear separation of business logic, data, and presentation layers.
- Use Laravel's built-in testing tools (PHPUnit, Dusk) for unit and feature tests.
- Use Laravel's routing system for defining application endpoints.
- Leverage Laravel Nova or Filament for rapid admin panel development.
- Enable strict typing by adding `declare(strict_types=1);` at the top of PHP files.
- Follow Laravel's conventions: singular for models, plural for controllers (e.g., `User.php`, `UsersController.php`).
- Use Laravel's built-in scheduling features for recurring tasks.
- Use Laravel's Blade templating engine for views.
- Group related routes together (e.g., all user-related routes in `routes/user.php`).
- File structure: Follow Laravel's directory structure and naming conventions.
- Use appropriate PHP type hints for method parameters.
- Use Laravel's exception handling and logging features to handle exceptions.
- Use Laravel's validation features for form and request data.
- Use Laravel's query builder for complex database operations.
- Leverage PHP's strict typing to catch type-related errors early.
- Use Laravel's localization features for multi-language support.
- Implement Laravel's built-in scheduling features for recurring tasks.
- Use Laravel's built-in pagination features.
- Ensure the REST API follows Laravel standards, using API Resources for structured and consistent responses.
- Use job queues and Laravel Horizon for handling long-running tasks and background processing.
- Utilize Laravel's Eloquent ORM for database interactions.
- Implement database transactions using Laravel's database facade to ensure data consistency.
- Utilize Laravel's caching mechanisms for improved performance.
- Implement comprehensive testing using PHPUnit and Laravel Dusk for unit, feature, and browser tests.
- Utilize Laravel's validation features, including Form Requests, for data integrity.
- Use Laravel Mix or Vite for asset compilation.
- Leverage Laravel's caching mechanisms (Redis, Memcached) for improved performance.
**Dependencies**
- Composer for dependency management.
- NPM/Yarn for frontend dependencies.
- Favor dependency injection and service containers.
- Avoid injecting dependencies directly into controllers. Instead, use method injection or service classes.
**Laravel Best Practices**
- Apply proper security practices such as input sanitization and data escaping.
- Follow Laravel best practices and conventions.
**Key Conventions**
- Maintain consistent naming conventions for folders, classes, and files.
- Naming conventions: singular for models, plural for controllers (e.g., `User.php`, `UsersController.php`).
- Directory naming conventions: lowercase with hyphens (e.g., `app/Models`, `app/Http/Controllers`).