Regras
As regras fornecem instruções de nível de sistema ao agente. Elas reúnem prompts, scripts e muito mais, facilitando o gerenciamento e o compartilhamento de fluxos de trabalho com toda a equipe.
O Cursor oferece suporte a quatro tipos de regras:
Regras do projeto
Armazenadas em .cursor/rules, com controle de versão e aplicáveis à sua base de código.
Regras do Usuário
Globais para seu ambiente do Cursor. Usadas pelo agente (Chat).
Regras da equipe
Regras para toda a equipe gerenciadas pelo dashboard. Disponíveis nos planos Team e Enterprise.
AGENTS.md
Instruções do agente em formato Markdown. Alternativa simples a
.cursor/rules.
Como as regras funcionam
Modelos de linguagem de grande porte não retêm memória entre conclusões. As regras fornecem contexto persistente e reutilizável no nível do prompt.
Quando aplicados, os conteúdos das regras são incluídos no início do contexto do modelo. Isso dá à IA orientações consistentes para gerar código, interpretar edições ou auxiliar em fluxos de trabalho.
Regras do projeto
As regras do projeto ficam em .cursor/rules como arquivos .mdc e são versionadas. Elas podem ser aplicadas a padrões de caminho, invocadas manualmente ou incluídas conforme a relevância.
Use regras do projeto para:
- Registrar conhecimento específico do domínio sobre sua base de código
- Automatizar fluxos de trabalho ou modelos específicos do projeto
- Padronizar decisões de estilo ou arquitetura
Estrutura do arquivo de regra
Cada regra é um arquivo .mdc que pode ter o nome que você quiser. As Regras do projeto devem usar a extensão .mdc. Um arquivo .md simples em .cursor/rules é ignorado pelo sistema de regras porque não tem frontmatter para especificar description, globs e alwaysApply. Se preferir markdown simples, use AGENTS.md.
.cursor/rules/ react-patterns.mdc # Reconhecida como uma regra de projeto api-guidelines.md # Ignorado (extensão incorreta) frontend/ # Organize as regras em pastas components.mdcAnatomia de uma regra
Cada regra é um arquivo markdown com metadados no frontmatter e conteúdo. Controle como as regras são aplicadas no menu suspenso Tipo, que altera as propriedades description, globs e alwaysApply.
| Tipo de regra | Descrição |
|---|---|
Sempre aplicar | Aplicar a todas as sessões de chat |
Aplicar de forma inteligente | Quando o agente determinar que é relevante com base na descrição |
Aplicar a Arquivos Específicos | Quando um arquivo corresponder a um padrão especificado |
Aplicar manualmente | Quando for mencionada com @ no chat (por exemplo, @my-rule) |
Nos bastidores, os três campos do frontmatter interagem para determinar quando uma regra é incluída:
alwaysApply | description | globs | Comportamento |
|---|---|---|---|
true | — | — | Sempre incluída. Globs e descrição são ignorados. |
false | — | fornecido | Anexada automaticamente quando um arquivo correspondente está no contexto. |
false | fornecido | omitido | O agente lê a descrição e inclui a regra quando ela é relevante. |
false | omitido | omitido | Incluída apenas quando você menciona a regra com @ no chat. |
---alwaysApply: true---- Todos os arquivos-fonte devem incluir o header de copyright da empresa- Quando tiver dúvidas sobre detalhes de implementação, leia os arquivos-fonte relevantes antes de propor alterações- Nunca modifique arquivos gerados nos diretórios `dist/` ou `build/`---globs: src/components/**/*.tsxalwaysApply: false---- Use named exports, not default exports- Co-locate styles in a module CSS file next to the component- Keep components under 200 lines. Extract subcomponents into the same directory when a file grows beyond that- Prefer composition over prop drilling. Pass children or render props instead of threading data through multiple layers---description: Convenções e padrões de serviços RPC para o backendalwaysApply: false---- Defina cada serviço em seu próprio arquivo dentro de `src/services/`- Sempre valide as entradas no limite do serviço antes de repassar dados para funções internas- Retorne objetos de erro estruturados com os campos `code` e `message`, nunca lance strings brutas- Adicione um arquivo de referência `@service-template.ts` ao criar um novo serviço para obter o boilerplate padrão---alwaysApply: false---- Toda migration de banco de dados deve ter as funções `up` e `down` para que possa ser totalmente revertida- Nunca altere o tipo de uma coluna diretamente. Crie uma nova coluna, faça o backfill e só então remova a antiga em uma migration separada- Consulte o template para conhecer a estrutura de arquivo esperada@migration-template.sqlExemplos de padrões glob
Use globs para aplicar uma regra a arquivos ou diretórios específicos. Separe vários padrões por vírgulas.
| Padrão | Corresponde a |
|---|---|
* | Qualquer segmento individual de nome de arquivo |
** | Qualquer número de diretórios (recursivo) |
*.ts | Todos os arquivos .ts na raiz |
**/*.ts | Todos os arquivos .ts em qualquer diretório |
src/** | Todos os arquivos em qualquer local dentro de src/ |
src/**/*.tsx | Todos os arquivos .tsx em qualquer local dentro de src/ |
docs/**/*.md, docs/**/*.mdx | Arquivos .md e .mdx em docs/ (separados por vírgulas) |
tailwind.config.* | tailwind.config com qualquer extensão |
Criar uma regra
Há duas maneiras de criar regras:
/create-ruleno chat: Digite/create-ruleno agente e descreva o que deseja. O agente gera o arquivo de regra com o frontmatter adequado e o salva em.cursor/rules.- Pelo personalizar: Abra personalizar na barra lateral, vá para Rules e clique em Adicionar regra. Isso cria um novo arquivo de regra em
.cursor/rules. No personalizar, você pode ver todas as regras e seus status.
Melhores práticas
Boas regras são objetivas, práticas e bem delimitadas.
- Mantenha as regras com menos de 500 linhas
- Divida regras longas em várias regras combináveis
- Forneça exemplos concretos ou faça referência a arquivos
- Evite orientações vagas. Escreva regras como documentação interna clara
- Reutilize regras ao repetir prompts no chat
- Faça referência a arquivos em vez de copiar seu conteúdo — isso mantém as regras curtas e evita que fiquem desatualizadas à medida que o código muda
O que evitar nas regras
- Copiar guias de estilo inteiros: Use um linter. O agente já conhece as convenções de estilo mais comuns.
- Documentar todos os comandos possíveis: O agente conhece ferramentas comuns, como npm, git e pytest.
- Adicionar instruções para casos de borda raros: Mantenha as regras focadas nos padrões que você usa com frequência.
- Duplicar o que já está na sua base de código: Aponte para exemplos canônicos em vez de copiar código.
Comece simples. Adicione regras apenas quando perceber que o agente comete o mesmo erro repetidamente. Não otimize demais antes de entender seus padrões.
Versione suas regras no git para que toda a equipe se beneficie. Quando o agente cometer um erro, atualize a regra. Você pode até marcar @cursor em uma issue ou PR no GitHub para que o agente atualize a regra para você.
Formato do arquivo de regra
Cada regra é um arquivo markdown com metadados de frontmatter e conteúdo. Os metadados de frontmatter controlam como a regra é aplicada. O conteúdo é a própria regra.
---description: "This rule provides standards for frontend components and API validation"alwaysApply: false---...restante do conteúdo da regraSe alwaysApply for verdadeiro, a regra será aplicada a todas as sessões de chat. Caso contrário, a descrição da regra será apresentada ao agente Cursor, que decidirá se ela deve ser aplicada.
Exemplos
Esta regra estabelece padrões para componentes de frontend:
Ao trabalhar no diretório de componentes:
- Sempre use Tailwind para estilização
- Use Framer Motion para animações
- Siga as convenções de nomenclatura dos componentes
Esta regra exige validação para endpoints de API:
No diretório de API:
- Use zod para todas as validações
- Defina tipos de retorno com schemas do zod
- Exporte tipos gerados a partir dos schemas
Esta regra fornece um modelo para serviços Express:
Use este modelo ao criar um serviço Express:
- Siga os princípios RESTful
- Inclua middleware de tratamento de erros
- Configure o logging adequadamente
@express-service-template.ts
Esta regra define a estrutura de componentes React:
Os componentes React devem seguir este layout:
- Interface de props no topo
- Componente como exportação nomeada
- Estilos na parte inferior
@component-template.tsx
Esta regra automatiza a análise do app:
Quando for solicitado analisar o app:
- Execute o servidor de desenvolvimento com
npm run dev - Obtenha os logs do console
- Sugira melhorias de desempenho
Esta regra ajuda a gerar documentação:
Ajude a elaborar a documentação:
- Extraindo comentários do código
- Analisando o README.md
- Gerando documentação em markdown
Primeiro, crie uma propriedade para alternar em @reactiveStorageTypes.ts.
Adicione o valor padrão a INIT_APPLICATION_USER_PERSISTENT_STORAGE em @reactiveStorageService.tsx.
Para funcionalidades beta, adicione o toggle em @settingsBetaTab.tsx; caso contrário, adicione-o em @settingsGeneralTab.tsx. Os toggles podem ser adicionados como <SettingsSubSection> para caixas de seleção gerais. Consulte o restante do arquivo para ver exemplos.
<SettingsSubSection label="Nome da sua funcionalidade" description="Descrição da sua funcionalidade" value={ vsContext.reactiveStorageService.applicationUserPersistentStorage .myNewProperty ?? false } onChange={(newVal) => { vsContext.reactiveStorageService.setApplicationUserPersistentStorage( "myNewProperty", newVal, ); }}/>Para usar no app, importe o reactiveStorageService e use a propriedade:
const flagIsEnabled = vsContext.reactiveStorageService.applicationUserPersistentStorage .myNewProperty;Há exemplos disponíveis em provedores e frameworks. Regras criadas pela comunidade podem ser encontradas em coleções colaborativas e repositórios online.
Regras da equipe
Os planos Team e Enterprise podem criar e aplicar regras em toda a organização pelo dashboard do Cursor. Os admins podem configurar se cada regra é obrigatória para os membros da equipe.
As Regras da equipe funcionam em conjunto com outros tipos de regra e têm precedência, garantindo que os padrões organizacionais sejam mantidos em todos os projetos. Elas oferecem uma maneira eficaz de manter padrões, práticas e fluxos de trabalho de desenvolvimento consistentes em toda a equipe, sem exigir configuração individual.
Gerenciar regras da equipe
Os administradores da equipe podem criar e gerenciar regras diretamente no dashboard do Cursor:
Depois de criadas, as regras da equipe são aplicadas automaticamente a todos os membros e ficam visíveis no dashboard:
Ativação e imposição
- Habilitar esta regra imediatamente: Quando marcada, a regra fica ativa assim que você a cria. Quando desmarcada, a regra é salva como rascunho e não se aplica até que você a habilite mais tarde.
- Impor esta regra: Quando habilitada, a regra é obrigatória para todos os membros da equipe e não pode ser desabilitada em personalizar. Quando não é imposta, os membros da equipe podem desativar a regra em Regras da equipe em personalizar.
Por padrão, os usuários podem desabilitar Regras da equipe que não são impostas. Use Impor esta regra para evitar isso.
Formato e aplicação das Regras da equipe
- Conteúdo: as Regras da equipe são textos livres. Elas não usam a estrutura de pastas das Regras do projeto.
- Padrões glob: as Regras da equipe oferecem suporte a padrões glob para aplicação com escopo de arquivo. Quando um padrão glob é definido (por exemplo,
**/*.py), a regra só se aplica quando há arquivos correspondentes no contexto. Regras sem padrão glob se aplicam a todas as conversas. - Onde se aplicam: quando uma Regra da equipe está habilitada (e não é desabilitada pelo usuário, a menos que seja imposta), ela é incluída no contexto do modelo para o agente (Chat) em todos os repositórios e projetos da equipe.
- Precedência: as regras são aplicadas nesta ordem: Regras da equipe → Regras do projeto → Regras do Usuário. Todas as regras aplicáveis são combinadas; fontes anteriores têm precedência quando as orientações entram em conflito.
Algumas equipes usam regras impostas como parte de fluxos de trabalho internos de conformidade. Embora haja suporte para isso, a orientação de IA não deve ser seu único controle de segurança.
Importando regras
Você pode importar regras de fontes externas para reutilizar configurações existentes ou importar regras de outras ferramentas.
Regras remotas (via GitHub)
Importe regras diretamente de qualquer repositório do GitHub ao qual você tenha acesso, seja público ou privado.
- Abra personalizar na barra lateral
- Acesse Regras e clique em Adicionar regra
- Selecione Regra remota (GitHub)
- Cole a URL do repositório do GitHub que contém as regras. O Cursor buscará todos os arquivos
.mdcno repositório. - O Cursor fará pull das regras e as sincronizará com seu projeto
As regras serão adicionadas a .cursor/rules/imported/<repoName>. Elas também manterão seus caminhos relativos; portanto, dir/rule.mdc será importado como .cursor/rule/imported/<repoName>/dir/rule.mdc.
AGENTS.md
AGENTS.md é um arquivo Markdown simples para definir instruções para agentes. Coloque-o na raiz do projeto como alternativa a .cursor/rules para casos de uso mais simples.
Ao contrário das Regras do projeto, AGENTS.md é um arquivo Markdown simples, sem metadados ou configurações complexas. É ideal para projetos que precisam de instruções simples e legíveis, sem a sobrecarga de regras estruturadas.
O Cursor oferece suporte a AGENTS.md na raiz do projeto e nos subdiretórios.
# Instruções do projeto## Estilo de código- Use TypeScript em todos os arquivos novos- Prefira componentes funcionais no React- Use snake_case nas colunas do banco de dados## Arquitetura- Siga o padrão repository- Mantenha a lógica de negócio nas camadas de serviçoMelhorias
Agora há suporte a arquivos AGENTS.md aninhados em subdiretórios. Você pode colocar arquivos AGENTS.md em qualquer subdiretório do projeto, e eles serão aplicados automaticamente ao trabalhar com arquivos nesse diretório ou em seus subdiretórios.
Isso permite um controle mais granular das instruções do agente com base na área da base de código em que você está trabalhando:
project/ AGENTS.md # Instruções globais frontend/ AGENTS.md # Instruções específicas do frontend components/ AGENTS.md # Instruções específicas do componente backend/ AGENTS.md # Instruções específicas do backendAs instruções de arquivos AGENTS.md aninhados são combinadas às dos diretórios pai, e as mais específicas têm precedência.
Regras do Usuário
As Regras do Usuário são preferências globais definidas em personalizar → Regras e aplicadas a todos os projetos. Elas são usadas pelo agente (Chat) e são ideais para definir o estilo de comunicação e as convenções de código preferidos:
Responda de forma concisa. Evite repetições desnecessárias ou enrolação.Perguntas frequentes
Verifique o tipo da regra. Para Aplicar de forma inteligente, certifique-se de que haja uma descrição definida. Para Aplicar a Arquivos Específicos, certifique-se de que o padrão de arquivo corresponda aos arquivos referenciados.
Sim. Use @filename.ts para incluir arquivos no contexto da sua regra. Você também pode @mencionar regras no chat para aplicá-las manualmente.
Sim, você pode pedir ao agente para criar uma nova regra.
Não. As regras não afetam o Cursor Tab nem outras funcionalidades de IA.
Não. As Regras do Usuário não se aplicam à Inline Edit (Cmd/Ctrl+K). Elas são usadas apenas pelo Agente (Chat).