Regras fornecem instruções em nível de sistema para o Agent e o Inline Edit. Pensa nelas como contexto persistente, preferências ou fluxos de trabalho pros teus projetos. O Cursor oferece suporte a quatro tipos de regras:

Project Rules

Armazenadas em .cursor/rules, com controle de versão e com escopo pra tua base de código.

User Rules

Globais no teu ambiente do Cursor. Definidas nas configurações e sempre aplicadas.

AGENTS.md

Instruções do Agent em formato Markdown. Alternativa simples a .cursor/rules.

.cursorrules (Legacy)

Ainda compatível, mas obsoleto. Usa Project Rules em vez disso.

Como as regras funcionam

Modelos de linguagem grandes não mantêm memória entre respostas. 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 dá à IA uma orientação consistente para gerar código, interpretar edições ou ajudar em fluxos de trabalho.
Regra aplicada no contexto com chat
As regras se aplicam ao Chat e ao Inline Edit. Regras ativas aparecem na barra lateral do Agent.

Regras do projeto

As regras do projeto ficam em .cursor/rules. Cada regra é um arquivo e é controlada por versão. Elas podem ser aplicadas usando padrões de caminho, invocadas manualmente ou incluídas com base na relevância. Subdiretórios podem incluir seu próprio diretório .cursor/rules com escopo para aquela pasta. Usa as regras do projeto para:
  • Codificar conhecimento específico do domínio sobre teu codebase
  • Automatizar fluxos de trabalho ou templates específicos do projeto
  • Padronizar decisões de estilo ou de arquitetura

Anatomia das regras

Cada arquivo de regra é escrito em MDC (.mdc), um formato que oferece suporte a metadados e conteúdo. Controla como as regras são aplicadas pelo menu de tipo, que altera as propriedades description, globs, alwaysApply.
Tipo de regraDescrição
AlwaysSempre incluída no contexto do modelo
Auto AttachedIncluída quando arquivos que correspondem a um padrão glob são referenciados
Agent RequestedDisponível para a IA, que decide se deve incluí-la. É obrigatório fornecer uma descrição
ManualIncluída apenas quando mencionada explicitamente usando @ruleName
---
description: Boilerplate de serviço RPC
globs:
alwaysApply: false
---

- Usa nosso padrão interno de RPC ao definir serviços
- Sempre usa snake_case para nomes de serviço.

@service-template.ts

Regras aninhadas

Organiza as regras colocando elas em diretórios .cursor/rules ao longo do teu projeto. Regras aninhadas são anexadas automaticamente quando arquivos no seu diretório são referenciados.
project/
  .cursor/rules/        # Regras do projeto inteiro
  backend/
    server/
      .cursor/rules/    # Regras específicas do backend
  frontend/
    .cursor/rules/      # Regras específicas do frontend

Criando uma regra

Cria regras usando o comando New Cursor Rule ou acessando Cursor Settings > Rules. Isso cria um novo arquivo de regra em .cursor/rules. Nas configurações, dá pra ver todas as regras e o status de cada uma.
Comparação entre regras curtas e longas

Gerando regras

Gera regras diretamente nas conversas usando o comando /Generate Cursor Rules. Útil quando tu já decidiu o comportamento do agente e quer reutilizar isso.

Boas práticas

Boas regras são objetivas, acionáveis e bem delimitadas.
  • Mantém as regras com menos de 500 linhas
  • Divide regras grandes em várias regras componíveis
  • Fornece exemplos concretos ou arquivos de referência
  • Evita orientações vagas. Escreve regras como docs internas claras
  • Reaproveita regras ao repetir prompts no chat

Exemplos

Esta regra define padrões para componentes de frontend:Ao trabalhar no diretório components:
  • Sempre usa Tailwind para estilização
  • Usa Framer Motion para animações
  • Segue as convenções de nomenclatura de componentes
Esta regra aplica validação para endpoints de API:No diretório api:
  • Usa zod para toda a validação
  • Define tipos de retorno com schemas do zod
  • Exporta tipos gerados a partir dos schemas
Esta regra fornece um template para serviços Express:Usa este template ao criar um serviço Express:
  • Segue princípios RESTful
  • Inclui middleware de tratamento de erros
  • Configura logging adequado
@express-service-template.tsEsta regra define a estrutura de componentes React:Componentes React devem seguir este layout:
  • Interface de Props no topo
  • Componente como named export
  • Estilos no final
@component-template.tsx
Esta regra automatiza a análise do app:Quando pedirem para analisar o app:
  1. Roda o servidor de dev com npm run dev
  2. Captura os logs do console
  3. Sugere melhorias de performance
Esta regra ajuda a gerar documentação:Ajuda a rascunhar a documentação:
  • Extraindo comentários de código
  • Analisando README.md
  • Gerando documentação em Markdown
Primeiro cria uma propriedade para alternar em @reactiveStorageTypes.ts.Adiciona o valor padrão em INIT_APPLICATION_USER_PERSISTENT_STORAGE em @reactiveStorageService.tsx.Para features beta, adiciona o toggle em @settingsBetaTab.tsx; caso contrário, adiciona em @settingsGeneralTab.tsx. Toggles podem ser adicionados como <SettingsSubSection> para checkboxes gerais. Dá uma olhada no resto 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
					);
				}}
			/>
Pra usar no app, importa reactiveStorageService e usa a propriedade:
const flagIsEnabled = vsContext.reactiveStorageService.applicationUserPersistentStorage.myNewProperty
Muitos exemplos disponíveis de providers e frameworks. Regras contribuídas pela comunidade podem ser encontradas em coleções e repositórios colaborativos online.

AGENTS.md

AGENTS.md é um arquivo Markdown simples para definir instruções de agentes. Coloca ele na raiz do teu projeto como alternativa a .cursor/rules para casos de uso simples. Diferente das Regras do Projeto, AGENTS.md é um arquivo Markdown puro, sem metadados ou configurações complexas. É perfeito pra projetos que precisam de instruções simples e legíveis, sem a sobrecarga de regras estruturadas.
# Instruções do Projeto

## Estilo de Código
- Usa TypeScript em todos os arquivos novos
- Prefere componentes funcionais no React
- Usa snake_case para colunas do banco de dados

## Arquitetura
- Segue o padrão de repositório
- Mantém a lógica de negócio nas camadas de serviço

Regras do usuário

As regras do usuário são preferências globais definidas em Cursor Settings → Rules que valem para todos os projetos. Elas são texto puro e perfeitas pra definir o estilo de comunicação preferido ou convenções de código:
Responde de forma concisa. Evita repetições desnecessárias ou linguagem supérflua.

.cursorrules (Legado)

O arquivo .cursorrules na raiz do teu projeto ainda é suportado, mas será descontinuado. A gente recomenda migrar para as Project Rules para ter mais controle, flexibilidade e visibilidade.

FAQ

Confere o tipo de regra. Para Agent Requested, garante que exista uma descrição definida. Para Auto Attached, garante que o padrão de arquivo corresponda aos arquivos referenciados.
Sim. Usa @filename.ts para incluir arquivos no contexto da tua regra.
Sim, gera regras de projeto a partir do chat usando o comando /Generate Cursor Rules. Se Memories estiver ativado, as memórias são geradas automaticamente.
Não. As regras se aplicam apenas ao Agent e ao Inline Edit.