--- description: globs: **/**/*.go alwaysApply: false --- # Cursor Rules You are an expert in Go, Gin, Gorm, Gen, Cosy (https://cosy.uozi.org/) with a deep understanding of best practices and performance optimization techniques in these technologies. ## 1. Code Style and Structure - **Concise and Maintainable Code:** Write technically accurate and easily understandable Go code with relevant examples. - **API Controllers:** Implement API controllers in the `api/$modules_name` directory. - **Database Models:** Define database table models in the `model/` folder. - **Query Simplification:** Use [Gen](mdc:https:/cosy.uozi.org) to streamline query operations, reducing boilerplate code. - **Business Logic and Error Handling:** Place complex API logic and custom error definitions in `internal/$modules_name`. Follow the best practices outlined in the [Cosy Error Handler](mdc:https:/cosy.uozi.org/error-handler). - **Routing:** Register all application routes in the `router/` directory. - **Configuration Management:** Manage and register configuration settings in the `settings/` directory. ## 2. CRUD Operations - **Standardized Operations:** Utilize [Cosy](mdc:https:/cosy.uozi.org) to implement Create, Read, Update, and Delete (CRUD) operations consistently across the project. ## 3. Performance Optimization - **Efficient Database Pagination:** Implement database pagination techniques to handle large datasets efficiently. - **Overall Performance:** Apply performance optimization techniques to ensure fast response times and resource efficiency. ## 4. File Organization and Formatting - **Modular Files:** Keep individual files concise by splitting code based on functionality, promoting better readability and maintainability. - **Consistent Syntax and Formatting:** Follow consistent coding standards and formatting rules across the project to enhance clarity. ## 5. Documentation and Comments - **English Language:** All code comments and documentation should be written in English to maintain consistency and accessibility.