Skip to main content

Command Palette

Search for a command to run...

Personalizar

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

Grandes modelos de linguagem não mantêm memória entre gerações. As regras fornecem contexto persistente e reutilizável no nível do prompt.

Quando aplicadas, o conteúdo das regras é incluído no início do contexto do modelo. Isso oferece à IA uma orientação consistente para gerar código, interpretar edições ou ajudar com fluxos de trabalho.

Regras do projeto

As regras do projeto ficam em .cursor/rules como arquivos .mdc e são versionadas no controle de versão. Elas são aplicadas por padrões de caminho, acionadas manualmente ou incluídas com base na relevância.

Use as regras do projeto para:

  • Codificar 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 você pode nomear como 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 inclui frontmatter para especificar description, globs e alwaysApply. Se você preferir markdown simples, use AGENTS.md no lugar.

.cursor/rules/  react-patterns.mdc       # Reconhecido como uma regra de projeto  api-guidelines.md        # Ignorado (extensão incorreta)  frontend/                # Organize as regras em pastas    components.mdc

Anatomia de uma regra

Cada regra é um arquivo Markdown com metadados de frontmatter e conteúdo. Controle como as regras são aplicadas pelo menu de tipo, que altera as propriedades description, globs, alwaysApply.

Tipo de regraDescrição
Always ApplyAplicar a todas as sessões de chat
Apply IntelligentlyQuando o agente decidir que é relevante com base na descrição
Aplicar a Arquivos EspecíficosQuando um arquivo corresponder a um padrão especificado
Apply ManuallyQuando for mencionada com @ no chat (por exemplo, @my-rule)

Nos bastidores, os três campos de frontmatter interagem para determinar quando uma regra é incluída:

alwaysApplydescriptionglobsComportamento
trueSempre incluída. globs e description são ignorados.
falsedefinidoAnexada automaticamente quando um arquivo correspondente está no contexto.
falsedefinidoomitidoO agente lê a descrição e inclui a regra quando relevante.
falseomitidoomitidoIncluída somente quando você mencionar a regra com @ no chat.
Always applied
---alwaysApply: true---- Todos os arquivos fonte devem incluir o cabeçalho de direitos autorais da empresa- Quando você não tiver certeza 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/`
Auto-attached by file pattern
---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
Agent-selected based on description
---description: RPC service conventions and patterns for the backendalwaysApply: false---- Define each service in its own file under `src/services/`- Always validate inputs at the service boundary before passing data  to internal functions- Return structured error objects with a `code` and `message` field,  never throw raw strings- Add a `@service-template.ts` reference file when creating a new  service for the standard boilerplate
Manual — only via @-mention
---alwaysApply: false---- Toda migração 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. Adicione uma nova coluna, faça o backfill,  e então remova a antiga em uma migração separada- Referencie o template para a estrutura de arquivo esperada@migration-template.sql

Exemplos de padrões glob

Use globs para restringir uma regra a arquivos ou diretórios específicos. Separe vários padrões com vírgulas.

PadrãoCorresponde a
*Qualquer segmento único de nome de arquivo
**Qualquer número de diretórios (recursivo)
*.tsTodos os arquivos .ts na raiz
**/*.tsTodos os os arquivos .ts em qualquer diretório
src/**Todos os arquivos em qualquer lugar dentro de src/
src/**/*.tsxTodos os arquivos .tsx em qualquer lugar dentro de src/
docs/**/*.md, docs/**/*.mdxArquivos .md e .mdx em docs/ (separados por vírgula)
tailwind.config.*tailwind.config com qualquer extensão

Criando uma regra

Existem duas maneiras de criar regras:

  • /create-rule no chat: Digite /create-rule no agente e descreva o que você quer. O agente gera o arquivo de regra com o frontmatter adequado e o salva em .cursor/rules.
  • No Customize: Abra Customize na barra lateral, vá para Rules e clique em Add Rule. Isso cria um novo arquivo de regra em .cursor/rules. No Customize você pode ver todas as regras e seus status.

Boas práticas

Boas regras são focadas, aplicáveis e com escopo bem definido.

  • Mantenha as regras com menos de 500 linhas
  • Divida regras grandes em várias regras componíveis
  • Forneça exemplos concretos ou arquivos de referência
  • Evite orientações vagas. Escreva regras como documentação interna clara
  • Reutilize regras quando repetir prompts no chat
  • Referencie arquivos em vez de copiar seu conteúdo — isso mantém as regras curtas e evita que fiquem desatualizadas conforme o código muda

O que evitar em regras

  • Copiar guias de estilo inteiros: use um linter em vez disso. O Agent já conhece convenções de estilo comuns.
  • Documentar todos os possíveis comandos: o Agent conhece ferramentas comuns como npm, git e pytest.
  • Adicionar instruções para casos de borda que raramente se aplicam: mantenha as regras focadas em padrões que você usa com frequência.
  • Duplicar o que já existe na sua base de código: aponte para exemplos canônicos em vez de copiar código.

Faça commit das suas regras no Git para que todo o seu time se beneficie. Quando perceber que o Agent cometeu um erro, atualize a regra. Você pode até marcar @cursor em uma issue ou PR no GitHub para que o Agent atualize a regra para você.

Formato do arquivo de regra

Cada regra é um arquivo em Markdown com metadados de frontmatter e conteúdo. Os metadados de frontmatter determinam como a regra é aplicada. O conteúdo é a própria regra.

---description: "This rule provides standards for frontend components and API validation"alwaysApply: false---...rest of the rule content

Se alwaysApply estiver definido como true, a regra será aplicada a todas as sessões de chat. Caso contrário, a descrição da regra será apresentada ao Cursor Agent, que decidirá se ela deve ser aplicada.

Exemplos

Esta regra define padrões para componentes de frontend:

Ao trabalhar no diretório de components:

  • Sempre use Tailwind para estilização
  • Use Framer Motion para animações
  • Siga as convenções de nomenclatura de componentes

Esta regra aplica validação para endpoints de API:

No diretório de API:

  • Use zod para toda validação
  • 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 princípios RESTful
  • Inclua middleware de tratamento de erros
  • Configure o logging corretamente

@express-service-template.ts

Esta regra define a estrutura de componentes React:

Componentes React devem seguir este layout:

  • Interface de props no topo
  • Componente como named export
  • Estilos na parte inferior

@component-template.tsx

Esta regra automatiza a análise do app:

Quando for solicitado analisar o app:

  1. Execute o servidor de desenvolvimento com npm run dev
  2. Capture os logs do console
  3. Sugira melhorias de performance

Esta regra ajuda a gerar documentação:

Ajude a rascunhar a documentação:

  • Extraindo comentários de 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 em INIT_APPLICATION_USER_PERSISTENT_STORAGE em @reactiveStorageService.tsx.

Para recursos beta, adicione o toggle em @settingsBetaTab.tsx; caso contrário, adicione em @settingsGeneralTab.tsx. Toggles podem ser adicionados como <SettingsSubSection> para checkboxes gerais. Veja o restante do arquivo para exemplos.

<SettingsSubSection  label="Your feature name"  description="Your feature description"  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;

Exemplos estão disponíveis em provedores e frameworks. Regras contribuídas 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 a partir do dashboard do Cursor. Administradores podem configurar se cada regra é obrigatória ou não para os membros da equipe.

As regras da equipe funcionam em conjunto com outros tipos de regras e têm precedência para garantir que os padrões da organização sejam mantidos em todos os projetos. Elas oferecem uma forma poderosa de garantir padrões de código, práticas e fluxos de trabalho consistentes em toda a sua equipe, sem exigir configuração individual.

Gerenciando regras da equipe

Administradores de equipe podem criar e gerenciar regras diretamente no painel do Cursor:

Depois que as regras da equipe são criadas, elas são aplicadas automaticamente a todos os membros e ficam visíveis no painel:

Ativação e imposição

  • Ativar 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 ative mais tarde.
  • Impor esta regra: Quando ativada, a regra é obrigatória para todos os membros da equipe e não pode ser desativada em Customize. Quando não é imposta, os membros da equipe podem desativar a regra em Regras da equipe no Customize.

Formato e como as Regras da equipe são aplicadas

  • Conteúdo: Regras da equipe são texto em formato livre. Elas não usam a estrutura de pastas de Regras do projeto.
  • Padrões glob: Regras da equipe suportam 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 arquivos correspondentes estão no contexto. Regras sem um padrão glob se aplicam a todas as conversas.
  • Onde se aplicam: Quando uma Regra da equipe está habilitada (e não foi desabilitada pelo usuário, a menos que seja obrigatória), ela é incluída no contexto do modelo para agente (Chat) em todos os repositórios e projetos daquela 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 há conflito de diretrizes.

Importar regras

Você pode importar regras de fontes externas para reutilizar configurações existentes ou usar regras de outras ferramentas.

Regras remotas (via GitHub)

Importe regras diretamente de qualquer repositório GitHub ao qual você tenha acesso — público ou privado.

  1. Abra Customize na barra lateral
  2. Vá para Rules e clique em Add Rule
  3. Selecione Remote Rule (Github)
  4. Cole a URL do repositório GitHub que contém as regras. O Cursor irá procurar todos os arquivos .mdc no repositório.
  5. O Cursor irá obter e sincronizar a(s) regra(s) com o seu projeto

As regras serão colocadas em .cursor/rules/imported/<repoName>. As regras 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 de agentes. Coloque-o na raiz do seu projeto como alternativa a .cursor/rules para casos de uso simples.

Ao contrário de Project Rules, 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 em subdiretórios.

# Project Instructions## Code Style- Use TypeScript for all new files- Prefer functional components in React- Use snake_case for database columns## Architecture- Follow the repository pattern- Keep business logic in service layers

Melhorias

O suporte a AGENTS.md em subdiretórios aninhados agora está disponível. Você pode colocar arquivos AGENTS.md em qualquer subdiretório do seu projeto, e eles serão aplicados automaticamente quando você estiver trabalhando com arquivos nesse diretório ou em seus subdiretórios.

Isso permite um controle mais granular das instruções de agentes 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 de componentes  backend/    AGENTS.md            # Instruções específicas do backend

As instruções de arquivos AGENTS.md aninhados são combinadas com as dos diretórios pai, com as instruções mais específicas tendo precedência.

Regras do Usuário

As Regras do Usuário são preferências globais definidas em Customize → Rules que valem para todos os projetos. Elas são usadas pelo agente (Chat) e são ideais para configurar o estilo de comunicação preferido ou convenções de código:

Please reply in a concise style. Avoid unnecessary repetition or filler language.

FAQ

Verifique o tipo de regra. Para Apply Intelligently, certifique-se de que uma descrição esteja 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 com @ para aplicá-las manualmente.

Sim, você pode pedir para o agente criar uma nova regra para você.

Não. As regras não afetam o Cursor Tab nem outros recursos de IA.

Não. Regras do Usuário não são aplicadas ao Inline Edit (Cmd/Ctrl+K). Elas são usadas apenas pelo agente (Chat).

Relacionados