{"id":30202751,"url":"https://github.com/abderrahimghazali/cursor-rules","last_synced_at":"2025-08-16T15:04:40.282Z","repository":{"id":309097795,"uuid":"1035153662","full_name":"abderrahimghazali/cursor-rules","owner":"abderrahimghazali","description":"Installable Cursor AI rules for web dev: PHP/Drupal, JS (React/Vue), Python security, DevOps/CI.","archived":false,"fork":false,"pushed_at":"2025-08-09T19:42:14.000Z","size":245,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-08-09T21:13:33.692Z","etag":null,"topics":["best-practices","cursor","devops","drupal"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abderrahimghazali.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-09T19:09:45.000Z","updated_at":"2025-08-09T20:50:02.000Z","dependencies_parsed_at":"2025-08-09T21:26:21.194Z","dependency_job_id":null,"html_url":"https://github.com/abderrahimghazali/cursor-rules","commit_stats":null,"previous_names":["abderrahimghazali/cursor-rules"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/abderrahimghazali/cursor-rules","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abderrahimghazali%2Fcursor-rules","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abderrahimghazali%2Fcursor-rules/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abderrahimghazali%2Fcursor-rules/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abderrahimghazali%2Fcursor-rules/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abderrahimghazali","download_url":"https://codeload.github.com/abderrahimghazali/cursor-rules/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abderrahimghazali%2Fcursor-rules/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270228408,"owners_count":24548821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-13T02:00:09.904Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["best-practices","cursor","devops","drupal"],"created_at":"2025-08-13T11:02:12.641Z","updated_at":"2025-08-13T11:03:01.500Z","avatar_url":"https://github.com/abderrahimghazali.png","language":"Shell","readme":"# Cursor AI Project Rules for Web Development\n\n[![Cursor Rules CI](https://github.com/abderrahimghazali/cursor-rules/actions/workflows/test.yml/badge.svg)](https://github.com/abderrahimghazali/cursor-rules/actions/workflows/test.yml)\n\n## 📌 About This Repository\nThis repository contains a **set of Cursor AI rules** specifically designed to **enhance efficiency, enforce coding standards, and automate best practices** for **web developers**, particularly those working with **PHP, Drupal, JavaScript, and frontend frameworks**.\n\nThese rules help **Cursor AI** assist developers by:\n- Enforcing coding standards and best practices\n- Ensuring tests and documentation remain up to date\n- Detecting inefficiencies in AI query usage and improving response quality\n- Providing automated suggestions for commit messages, dependencies, and performance optimisations\n\n---\n\n## 🚀 Who Is This For?\nThis repository is ideal for:\n- **PHP \u0026 Drupal developers** following Drupal coding standards\n- **Web developers** working with JavaScript, React, Vue, Tailwind, and other frontend technologies\n- **Software teams** looking for a structured, automated workflow with Cursor AI\n- **Open-source contributors** who want a standardized set of development rules\n\n---\n\n## 📥 Installation\n\n### Interactive Installation (Recommended)\n\nFor a fully interactive installation with prompts:\n\n```bash\n# Step 1: Download the installer\ncurl -s https://raw.githubusercontent.com/abderrahimghazali/cursor-rules/master/install.php -o install.php\n\n# Step 2: Run the installer interactively\nphp install.php\n```\n\nThis two-step process ensures you get the interactive experience with:\n- Prompts to choose which rule sets to install (Core, Web Stack, Python, or All)\n- Option to remove the installer file after installation (defaults to yes)\n\n### Quick Non-Interactive Installation\n\nFor a quick installation without prompts (installs core rules only):\n\n```bash\ncurl -s https://raw.githubusercontent.com/abderrahimghazali/cursor-rules/master/install.php | php\n```\n\nor install rules by tag expression\n```bash\ncurl -s https://raw.githubusercontent.com/abderrahimghazali/cursor-rules/master/install.php | php -- --tags \"language:javascript category:security\"\n```\n\n⚠️ **Note**: When using the curl piping method above, interactive mode is **not possible** because STDIN is already being used for the script input. The installer will automatically default to installing core rules only.\n\n### Installation with Specific Options\n\nTo install with specific options and bypass the interactive mode:\n\n```bash\ncurl -s https://raw.githubusercontent.com/abderrahimghazali/cursor-rules/master/install.php | php -- [options]\n```\n\nFor example, to install all rules:\n\n```bash\ncurl -s https://raw.githubusercontent.com/abderrahimghazali/cursor-rules/master/install.php | php -- --all\n```\n\n### Installation Options\n\nThe installer supports the following options:\n- `--core`: Install core rules only\n- `--web-stack` or `--ws`: Install web stack rules (includes core rules)\n- `--python`: Install Python rules (includes core rules)\n- `--all`: Install all rules\n- `--yes` or `-y`: Automatically answer yes to all prompts\n- `--destination=DIR`: Install to a custom directory (default: .cursor/rules)\n- `--debug`: Enable detailed debug output for troubleshooting installation issues\n- `--ignore-files \u003copt\u003e`: Control installation of .cursorignore files (yes, no, ask), default's to yes\n- `--help` or `-h`: Show help message\n\n### .cursorignore Files\n\nThe installer can automatically add recommended `.cursorignore` and `.cursorindexingignore` files to your project. These files tell Cursor AI which files and directories to exclude from processing, which helps to:\n\n- **Improve performance** by skipping large generated files, vendor directories, and node_modules\n- **Reduce noise** in AI responses by focusing only on relevant project files\n- **Prevent unnecessary context** from third-party code being included in AI prompts\n\nThe `.cursorignore` file ensures files are not indexed by Cursior and they are not read by Cursor or sent to the models for processing. This is a good setting for files that may contain secrets or other information you'd prefer to keep private. The `.cursorindexingignore` file is just for indexing and is there mainly for performance reasons.\n\nBy default, the installer will add these files (controlled by the `--ignore-files` option). You can:\n- Set to `yes` (default): Always install ignore files\n- Set to `no`: Never install ignore files\n- Set to `ask`: Prompt during installation\n\nIf you need to modify the ignore patterns, you can edit the `.cursorignore` files manually after installation.\n\n### Troubleshooting Installation\n\nIf you encounter issues during installation, try running the installer with the debug option:\n\n```bash\nphp install.php --debug\n```\n\nThis will provide detailed information about what the installer is doing, which can help identify the source of any problems.\n\nCommon issues:\n- If only core rules are installed when selecting other options, make sure your internet connection is working properly as the installer needs to download additional rules from GitHub.\n- If you're behind a corporate firewall or proxy, you may need to configure PHP to use your proxy settings.\n\n### Examples\n\nInstall core rules only:\n```bash\ncurl -s https://raw.githubusercontent.com/abderrahimghazali/cursor-rules/master/install.php | php -- --core\n```\n\nInstall web stack rules (includes core rules):\n```bash\ncurl -s https://raw.githubusercontent.com/abderrahimghazali/cursor-rules/master/install.php | php -- --web-stack\n# Or using the shorter alias\ncurl -s https://raw.githubusercontent.com/abderrahimghazali/cursor-rules/master/install.php | php -- --ws\n```\n\nInstall all rules:\n```bash\ncurl -s https://raw.githubusercontent.com/abderrahimghazali/cursor-rules/master/install.php | php -- --all\n```\n\nInstall to a custom directory:\n```bash\ncurl -s https://raw.githubusercontent.com/abderrahimghazali/cursor-rules/master/install.php | php -- --all --destination=my/custom/path\n```\n\n#### Tag-Based Selection\n\nThe installer now supports filtering rules by tags, allowing you to install only the rules relevant to your project:\n\n```sh\n# Install all JavaScript security rules\ncurl -s https://raw.githubusercontent.com/abderrahimghazali/cursor-rules/master/install.php | php -- --tags \"language:javascript category:security\"\n\n# Install all OWASP Top 10 rules for PHP\ncurl -s https://raw.githubusercontent.com/abderrahimghazali/cursor-rules/master/install.php | php -- --tags \"language:php standard:owasp-top10\"\n\n# Install all React-related rules\ncurl -s https://raw.githubusercontent.com/abderrahimghazali/cursor-rules/master/install.php | php -- --tags \"framework:react\"\n\n# Install rules matching multiple criteria with OR logic\ncurl -s https://raw.githubusercontent.com/abderrahimghazali/cursor-rules/master/install.php | php -- --tags \"language:javascript OR language:php\"\n```\n\nAvailable tag presets:\n- `web`: JavaScript, HTML, CSS, PHP\n- `frontend`: JavaScript, HTML, CSS\n- `drupal`: Drupal-specific rules\n- `react`: React-specific rules\n- `vue`: Vue-specific rules\n- `python`: Python-specific rules\n- `security`: Security-focused rules\n- `owasp`: OWASP Top 10 rules\n- `a11y`: Accessibility rules\n- `php-security`: PHP security-focused rules\n- `js-security`: JavaScript security-focused rules\n- `python-security`: Python security-focused rules\n- `drupal-security`: Drupal security-focused rules\n- `php-owasp`: PHP OWASP Top 10 rules\n- `js-owasp`: JavaScript OWASP Top 10 rules\n- `python-owasp`: Python OWASP Top 10 rules\n- `drupal-owasp`: Drupal OWASP Top 10 rules\n\nSee the [TAG_STANDARDS.md](TAG_STANDARDS.md) file for detailed information about the tagging system.\n\n### Manual Installation\n\nIf you prefer to install manually:\n\n1. Clone this repository:\n   ```bash\n   git clone https://github.com/abderrahimghazali/cursor-rules.git\n   ```\n\n2. Copy the rules to your project:\n   ```bash\n   mkdir -p /path/to/your/project/.cursor/rules\n   cp -r cursor-rules/.cursor/rules/* /path/to/your/project/.cursor/rules/\n   ```\n\n---\n\n## 📜 Available Cursor Rules\n\nEach rule is written in `.mdc` format and structured to enforce best practices in different aspects of development.\n\n### Core Rules\n| File Name | Purpose |\n|-----------|---------|\n| [`cursor-rules.mdc`](.cursor/rules/cursor-rules.mdc) | Defines standards for creating and organising Cursor rule files |\n| [`git-commit-standards.mdc`](.cursor/rules/git-commit-standards.mdc) | Enforces structured Git commit messages with proper prefixes and formatting |\n| [`github-actions-standards.mdc`](.cursor/rules/github-actions-standards.mdc) | Ensures GitHub Actions workflows follow best practices |\n| [`improve-cursorrules-efficiency.mdc`](.cursor/rules/improve-cursorrules-efficiency.mdc) | Detects and optimises inefficient AI queries |\n| [`pull-request-changelist-instructions.mdc`](.cursor/rules/pull-request-changelist-instructions.mdc) | Guidelines for creating consistent pull request changelists in markdown format with proper code block formatting |\n| [`readme-maintenance-standards.mdc`](.cursor/rules/readme-maintenance-standards.mdc) | Ensures README documentation is comprehensive and up-to-date |\n| [`testing-guidelines.mdc`](.cursor/rules/testing-guidelines.mdc) | Ensures proper testing practices and separation between test and production code |\n\n### Web Development Rules\n\n#### Frontend Development\n| File Name | Purpose |\n|-----------|---------|\n| [`accessibility-standards.mdc`](.cursor/rules/accessibility-standards.mdc) | WCAG compliance and accessibility best practices |\n| [`api-standards.mdc`](.cursor/rules/api-standards.mdc) | RESTful API design and documentation standards |\n| [`build-optimization.mdc`](.cursor/rules/build-optimization.mdc) | Webpack/Vite configuration and build process optimisation |\n| [`javascript-performance.mdc`](.cursor/rules/javascript-performance.mdc) | Best practices for optimising JavaScript performance |\n| [`javascript-standards.mdc`](.cursor/rules/javascript-standards.mdc) | Standards for JavaScript development in Drupal |\n| [`node-dependencies.mdc`](.cursor/rules/node-dependencies.mdc) | Node.js versioning and package management best practices |\n| [`react-patterns.mdc`](.cursor/rules/react-patterns.mdc) | React component patterns and hooks usage guidelines |\n| [`tailwind-standards.mdc`](.cursor/rules/tailwind-standards.mdc) | Tailwind CSS class organisation and best practices |\n| [`vue-best-practices.mdc`](.cursor/rules/vue-best-practices.mdc) | Vue 3 and NuxtJS specific standards and optimisations |\n\n#### Backend Development\n| File Name | Purpose |\n|-----------|---------|\n| [`php-drupal-best-practices.mdc`](.cursor/rules/php-drupal-best-practices.mdc) | PHP \u0026 Drupal Development Standards and Best Practices |\n| [`php-drupal-development-standards.mdc`](.cursor/rules/php-drupal-development-standards.mdc) | Standards for PHP and Drupal development |\n| [`drupal-database-standards.mdc`](.cursor/rules/drupal-database-standards.mdc) | Database schema changes, migrations, and query optimisation |\n| [`drupal-file-permissions.mdc`](.cursor/rules/drupal-file-permissions.mdc) | Drupal file permissions security standards |\n| [`govcms-saas.mdc`](.cursor/rules/govcms-saas.mdc) | Constraints and best practices for GovCMS Distribution projects |\n| [`govcms-saas-project-documentation-creation.mdc`](.cursor/rules/govcms-saas-project-documentation-creation.mdc) | GovCMS SaaS Documentation Generator. This rule helps generate comprehensive technical documentation for GovCMS SaaS projects, automatically detecting frameworks and dependencies, and providing structured documentation that aligns with government standards. |\n\n#### Security Rules\n| File Name | Purpose |\n|-----------|---------|\n| [`drupal-authentication-failures.mdc`](.cursor/rules/drupal-authentication-failures.mdc) | Prevents authentication failures in Drupal |\n| [`drupal-broken-access-control.mdc`](.cursor/rules/drupal-broken-access-control.mdc) | Prevents broken access control vulnerabilities in Drupal |\n| [`drupal-cryptographic-failures.mdc`](.cursor/rules/drupal-cryptographic-failures.mdc) | Prevents cryptographic failures in Drupal applications |\n| [`drupal-injection.mdc`](.cursor/rules/drupal-injection.mdc) | Prevents injection vulnerabilities in Drupal |\n| [`drupal-insecure-design.mdc`](.cursor/rules/drupal-insecure-design.mdc) | Prevents insecure design patterns in Drupal |\n| [`drupal-integrity-failures.mdc`](.cursor/rules/drupal-integrity-failures.mdc) | Prevents integrity failures in Drupal |\n| [`drupal-logging-failures.mdc`](.cursor/rules/drupal-logging-failures.mdc) | Prevents logging failures in Drupal |\n| [`drupal-security-misconfiguration.mdc`](.cursor/rules/drupal-security-misconfiguration.mdc) | Prevents security misconfigurations in Drupal |\n| [`drupal-ssrf.mdc`](.cursor/rules/drupal-ssrf.mdc) | Prevents Server-Side Request Forgery in Drupal |\n| [`drupal-vulnerable-components.mdc`](.cursor/rules/drupal-vulnerable-components.mdc) | Identifies and prevents vulnerable components in Drupal |\n| [`javascript-broken-access-control.mdc`](.cursor/rules/javascript-broken-access-control.mdc) | Prevents broken access control vulnerabilities in JavaScript applications |\n| [`javascript-cryptographic-failures.mdc`](.cursor/rules/javascript-cryptographic-failures.mdc) | Prevents cryptographic failures in JavaScript applications |\n| [`javascript-injection.mdc`](.cursor/rules/javascript-injection.mdc) | Prevents injection vulnerabilities in JavaScript applications |\n| [`javascript-insecure-design.mdc`](.cursor/rules/javascript-insecure-design.mdc) | Prevents insecure design patterns in JavaScript applications |\n| [`javascript-security-misconfiguration.mdc`](.cursor/rules/javascript-security-misconfiguration.mdc) | Prevents security misconfigurations in JavaScript applications |\n| [`javascript-vulnerable-outdated-components.mdc`](.cursor/rules/javascript-vulnerable-outdated-components.mdc) | Identifies and prevents vulnerable components in JavaScript applications |\n| [`javascript-identification-authentication-failures.mdc`](.cursor/rules/javascript-identification-authentication-failures.mdc) | Prevents authentication failures in JavaScript applications |\n| [`javascript-software-data-integrity-failures.mdc`](.cursor/rules/javascript-software-data-integrity-failures.mdc) | Prevents software and data integrity failures in JavaScript applications |\n| [`javascript-security-logging-monitoring-failures.mdc`](.cursor/rules/javascript-security-logging-monitoring-failures.mdc) | Prevents logging and monitoring failures in JavaScript applications |\n| [`javascript-server-side-request-forgery.mdc`](.cursor/rules/javascript-server-side-request-forgery.mdc) | Prevents Server-Side Request Forgery in JavaScript applications |\n| [`security-practices.mdc`](.cursor/rules/security-practices.mdc) | Security best practices for PHP, JavaScript, and Drupal |\n| [`secret-detection.mdc`](.cursor/rules/secret-detection.mdc) | Detects and prevents secrets from being committed to code |\n\n#### DevOps \u0026 Infrastructure\n| File Name | Purpose |\n|-----------|---------|\n| [`docker-compose-standards.mdc`](.cursor/rules/docker-compose-standards.mdc) | Docker Compose standards |\n| [`lagoon-docker-compose-standards.mdc`](.cursor/rules/lagoon-docker-compose-standards.mdc) | Standards for Lagoon Docker Compose configuration |\n| [`lagoon-yml-standards.mdc`](.cursor/rules/lagoon-yml-standards.mdc) | Standards for Lagoon configuration files and deployment workflows |\n| [`vortex-cicd-standards.mdc`](.cursor/rules/vortex-cicd-standards.mdc) | Standards for Vortex CI/CD and Renovate configuration |\n| [`vortex-scaffold-standards.mdc`](.cursor/rules/vortex-scaffold-standards.mdc) | Standards for Vortex/DrevOps scaffold usage and best practices |\n\n#### Development Process\n| File Name | Purpose |\n|-----------|---------|\n| [`code-generation-standards.mdc`](.cursor/rules/code-generation-standards.mdc) | Standards for code generation and implementation |\n| [`debugging-standards.mdc`](.cursor/rules/debugging-standards.mdc) | Standards for debugging and error handling |\n| [`generic_bash_style.mdc`](.cursor/rules/generic_bash_style.mdc) | Enforce general Bash scripting standards with enhanced logging |\n| [`multi-agent-coordination.mdc`](.cursor/rules/multi-agent-coordination.mdc) | Multi-agent coordination and workflow standards |\n| [`project-definition-template.mdc`](.cursor/rules/project-definition-template.mdc) | Template for defining project context |\n| [`tests-documentation-maintenance.mdc`](.cursor/rules/tests-documentation-maintenance.mdc) | Require tests for new functionality and enforce documentation updates |\n| [`third-party-integration.mdc`](.cursor/rules/third-party-integration.mdc) | Standards for integrating external services |\n| [`behat-steps.mdc`](.cursor/rules/behat-steps.mdc) | Documentation for available Behat testing steps in Drupal projects |\n\n### Python Rules\n| File Name | Purpose |\n|-----------|---------|\n| [`python-authentication-failures.mdc`](.cursor/rules/python-authentication-failures.mdc) | Prevents authentication failures in Python |\n| [`python-broken-access-control.mdc`](.cursor/rules/python-broken-access-control.mdc) | Prevents broken access control vulnerabilities in Python |\n| [`python-cryptographic-failures.mdc`](.cursor/rules/python-cryptographic-failures.mdc) | Prevents cryptographic failures in Python applications |\n| [`python-injection.mdc`](.cursor/rules/python-injection.mdc) | Prevents injection vulnerabilities in Python |\n| [`python-insecure-design.mdc`](.cursor/rules/python-insecure-design.mdc) | Prevents insecure design patterns in Python |\n| [`python-integrity-failures.mdc`](.cursor/rules/python-integrity-failures.mdc) | Prevents integrity failures in Python |\n| [`python-logging-monitoring-failures.mdc`](.cursor/rules/python-logging-monitoring-failures.mdc) | Prevents logging and monitoring failures in Python |\n| [`python-security-misconfiguration.mdc`](.cursor/rules/python-security-misconfiguration.mdc) | Prevents security misconfigurations in Python |\n| [`python-ssrf.mdc`](.cursor/rules/python-ssrf.mdc) | Prevents Server-Side Request Forgery in Python |\n| [`python-vulnerable-outdated-components.mdc`](.cursor/rules/python-vulnerable-outdated-components.mdc) | Identifies and prevents vulnerable components in Python |\n\n---\n\n## 🔧 Usage\n\n### In Cursor AI\n\nOnce installed, Cursor AI will automatically use these rules when working with your codebase. The rules will:\n\n1. **Provide Guidance**: Offer suggestions and best practices when writing code\n2. **Enforce Standards**: Flag code that doesn't meet the defined standards\n3. **Automate Repetitive Tasks**: Generate boilerplate code, documentation, and tests\n4. **Improve Security**: Identify potential security vulnerabilities\n5. **Optimise Performance**: Suggest performance improvements\n\n### Rule Customisation\n\nYou can customise the rules by:\n\n1. **Editing Rule Files**: Modify the `.mdc` files to match your project's specific requirements\n2. **Adding New Rules**: Create new `.mdc` files following the same format\n3. **Disabling Rules**: Remove or rename rule files you don't want to use\n\n---\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'feat: add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n### Commit Message Standards\n\nThis project follows the [Conventional Commits](https://www.conventionalcommits.org/) specification. Commit messages should be structured as follows:\n\n```\n\u003ctype\u003e: \u003cdescription\u003e\n\n[optional body]\n\n[optional footer(s)]\n```\n\nTypes include:\n- `fix`: for bug fixes\n- `feat`: for new features\n- `perf`: for performance improvements\n- `docs`: for documentation updates\n- `style`: for frontend changes (SCSS, Twig, etc.)\n- `refactor`: for code refactoring\n- `test`: for adding or updating tests\n- `chore`: for maintenance tasks\n\nExample: `feat: add support for Python security rules`\n\n---\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n## 🙏 Acknowledgements\n\n- [Cursor AI](https://cursor.sh/) for the amazing AI-powered code editor\n- All contributors who have helped improve these rules\n\n---\n\n## 📊 Benefits of Using These Rules\n\n### For Individual Developers\n\n1. **Consistency**:\n   - Maintain consistent coding style across projects\n   - Reduce cognitive load when switching between tasks\n   - Ensure best practices are followed even when under time pressure\n\n2. **Efficiency**:\n   - Automate repetitive coding tasks\n   - Reduce time spent on boilerplate code\n   - Get immediate feedback on code quality\n\n3. **Learning**:\n   - Learn best practices through contextual suggestions\n   - Discover security vulnerabilities and how to fix them\n   - Improve coding habits through consistent reinforcement\n\n### For Teams\n\n1. **Standardisation**:\n   - Enforce team-wide coding standards\n   - Reduce code review friction\n   - Maintain consistent documentation\n\n2. **Knowledge Sharing**:\n   - Codify team knowledge in rules\n   - Reduce onboarding time for new team members\n   - Share best practices automatically\n\n3. **Quality Assurance**:\n   - Catch common issues before they reach code review\n   - Ensure security best practices are followed\n   - Maintain high code quality across the team\n\n### For Organisations\n\n1. **Governance**:\n   - Enforce organisational standards\n   - Ensure compliance with security requirements\n   - Maintain consistent code quality across teams\n\n2. **Efficiency**:\n   - Reduce time spent on code reviews\n   - Decrease technical debt accumulation\n   - Streamline development processes\n\n3. **Knowledge Management**:\n   - Preserve institutional knowledge in rules\n   - Simplified onboarding for new team members\n\n### Recommendations for Users\n\n1. **Selective Rule Usage**:\n   - Disable rules not relevant to your specific technology stack\n   - Configure rule priorities based on your project's needs\n   - Consider creating custom installation scripts that only install relevant rules\n\n2. **Performance Optimisation**:\n   - If experiencing slowdowns, review which rules are most frequently triggered\n   - Consider disabling computationally expensive rules for very large files\n   - Report performance issues so rule patterns can be optimised\n\n3. **Custom Rule Development**:\n   - When creating custom rules, follow the patterns established in existing rules\n   - Use specific file filters to minimise unnecessary rule evaluation\n   - Test new rules thoroughly in isolation before adding to the collection\n\n### Future Scalability Plans\n\nWhile maintaining all rules in a single repository currently provides the best developer experience, we're preparing for potential future growth:\n\n1. **Enhanced Categorisation**:\n   - Rules include clear language/framework tagging with a structured hierarchical system (As seen in the OWASP Top Ten Rules):\n     - `language:php` - Explicitly identifies the programming language\n     - `framework:drupal` - Specifies the framework or CMS\n     - `category:security` - Defines the primary functional category\n     - `subcategory:injection` - Provides more granular categorisation (e.g., injection, authentication)\n     - `standard:owasp-top10` - Identifies the security standard being applied\n     - `risk:a01-broken-access-control` - Specifies the exact risk identifier\n   - This tagging system enables selective installation based on language, framework, or security concern\n   - Installation scripts can target specific categories (e.g., only install PHP rules or only OWASP rules)\n\n2. **Modular Design**:\n   - Rule file structure supports potential future separation\n   - Consistent naming conventions facilitate organisation\n\n3. **Monitoring and Feedback**:\n   - Repository growth and performance impacts are monitored\n   - User feedback helps identify optimisation opportunities\n\nIf you encounter any issues with rule management or have suggestions for improving organisation, please submit an issue or pull request.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabderrahimghazali%2Fcursor-rules","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabderrahimghazali%2Fcursor-rules","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabderrahimghazali%2Fcursor-rules/lists"}