Pular para o conteúdo principal

Melhores práticas para .cursor/rules

Este guia explica como configurar e utilizar efetivamente as regras do Cursor para melhorar a organização do código e a colaboração em equipe.

Entendendo .cursor/rules​

O que são Regras do Cursor?​

As regras do Cursor são configurações que definem:

  1. Padrões de Código

    • Estilo de formatação
    • Convenções de nomenclatura
    • Estrutura de arquivos
  2. Comportamento do Editor

    • Ações automáticas
    • Sugestões de código
    • Validações

Estrutura Básica​

version: 1.0
rules:
formatting:
enabled: true
style: default
naming:
enabled: true
conventions: []
validation:
enabled: true
checks: []

Configuração Básica​

Criando Arquivo de Regras​

  1. Crie o diretório .cursor
  2. Adicione o arquivo rules.yaml:
version: 1.0
project:
name: meu-projeto
language: python

rules:
formatting:
enabled: true
indent_style: space
indent_size: 4
max_line_length: 88

Regras de Formatação​

formatting:
enabled: true
style: black
options:
line_length: 88
indent_size: 4
quote_style: double
trailing_comma: true

Padrões Avançados​

Convenções de Nomenclatura​

naming:
enabled: true
conventions:
classes:
pattern: '^[A-Z][a-zA-Z0-9]*$'
message: "Classes devem usar PascalCase"
functions:
pattern: '^[a-z][a-zA-Z0-9_]*$'
message: "Funções devem usar snake_case"
variables:
pattern: '^[a-z][a-zA-Z0-9_]*$'
message: "Variáveis devem usar snake_case"

Validações de Código​

validation:
enabled: true
checks:
- type: complexity
max_complexity: 10
message: "Complexidade ciclomática muito alta"

- type: file_length
max_lines: 500
message: "Arquivo muito longo"

- type: function_length
max_lines: 50
message: "Função muito longa"

Padrões de Projeto​

Estrutura de Diretórios​

project:
structure:
src:
- "*.py"
- "**/*.py"
tests:
- "test_*.py"
- "**/test_*.py"
docs:
- "*.md"
- "**/*.md"

Dependências​

dependencies:
required:
- name: pytest
version: ">=6.0.0"
- name: black
version: ">=21.0.0"

development:
- name: pylint
version: ">=2.0.0"

Otimização​

Cache e Desempenho​

performance:
cache:
enabled: true
location: .cursor/cache
max_size: 1GB

analysis:
max_file_size: 1MB
exclude_patterns:
- "**/*.pyc"
- "**/__pycache__"

Integração com Ferramentas​

integrations:
git:
enabled: true
hooks:
pre-commit:
- format
- lint

ci:
enabled: true
actions:
- validate
- test

Colaboração em Equipe​

Compartilhamento de Regras​

sharing:
enabled: true
sync:
- formatting
- naming
- validation

team_defaults:
editor:
tab_size: 4
insert_spaces: true

Personalização por Usuário​

user_overrides:
allowed:
- editor.theme
- editor.font_size

restricted:
- formatting
- validation

Solução de Problemas​

Problemas Comuns​

  1. Conflitos de Regras

    • Verificar prioridade das regras
    • Resolver conflitos de formatação
    • Ajustar configurações conflitantes
  2. Problemas de Desempenho

    • Otimizar padrões de exclusão
    • Ajustar configurações de cache
    • Reduzir complexidade das regras
  3. Erros de Validação

    • Verificar sintaxe YAML
    • Validar expressões regulares
    • Confirmar versões compatíveis

Melhores Práticas​

Organização de Regras​

  1. Modularização

    includes:
    - rules/formatting.yaml
    - rules/naming.yaml
    - rules/validation.yaml
  2. Documentação

    documentation:
    rules:
    enabled: true
    location: docs/rules
    comments:
    enabled: true
    require_explanation: true

Manutenção​

  1. Versionamento

    version_control:
    enabled: true
    strategy: semantic
    changelog: true
  2. Atualizações

    updates:
    auto_update: false
    check_frequency: weekly
    notification: true

Segurança​

  1. Controle de Acesso

    security:
    permissions:
    modify_rules:
    roles: [admin, lead]
    view_rules:
    roles: [developer]
  2. Validação de Alterações

    validation:
    changes:
    require_review: true
    min_reviewers: 2
    auto_reject_invalid: true