Cursor

Single-file configuration for Cursor IDE

Fulcrum Opinion: Great for IDE-centric workflows—simple setup, immediate value. If your team lives in Cursor, this is the path of least resistance.

How Cursor Integration Works

Cursor uses a single .cursorrules file in your project root. Fulcrum compiles all agents, commands, and skills into this file, making them available as context for Cursor's AI assistant.

┌─────────────────────────────────────────────────┐
│              fulcrum/                           │
│  ├── agents/                                    │
│  ├── commands/                                  │
│  └── skills/                                    │
└─────────────────┬───────────────────────────────┘
                  │
                  │  fulcrum sync --vendor cursor
                  ▼
┌─────────────────────────────────────────────────┐
│              .cursorrules                       │
│  (single file with all definitions embedded)   │
└─────────────────────────────────────────────────┘

Generated Structure

Running fulcrum sync --vendor cursor generates a single .cursorrules file:

project-root/
├── .cursorrules              # Generated - all Fulcrum configs
├── .cursorrules.local        # Your additions (gitignored)
└── fulcrum/
    ├── agents/               # Source definitions
    ├── commands/
    └── skills/

File Contents

# .cursorrules (generated by Fulcrum)

## Project Context
This project uses Fulcrum for AI-assisted development workflows.

## Available Agents

### @tech-lead
Role: Technical leadership and architectural decisions
Expertise: System design, code review, mentorship
Responsibilities:
- Architectural oversight and design decisions
- Cross-team technical coordination
- Code review for critical paths
...

### @backend-engineer
Role: Server-side implementation specialist
Expertise: APIs, databases, performance optimization
...

## Available Commands

### /start
Purpose: Initialize a new work session
Usage: Start by describing your task clearly
Steps:
1. Analyze the request and create a work plan
2. Create a bead to track the work
3. Load relevant context
...

### /execute-work
Purpose: Execute a planned work item
Usage: Reference the bead ID (e.g., BEAD-001)
...

## Available Skills

### brainstorming
Trigger: When exploring requirements or design options
Behavior: Structured exploration before implementation
...

### code-reviewer
Trigger: When reviewing code changes
Behavior: Security, performance, and style analysis
...

Using Agents

Reference agents by description in your prompts. Cursor's AI will pick up the context:

# Invoke tech-lead perspective
"As the tech lead, review this architecture proposal"

# Get backend expertise
"As a backend engineer, help me design this API"

# Multiple perspectives
"Get input from both the tech lead and devops engineer on this deployment strategy"
No @ syntax: Unlike Claude Code, Cursor doesn't have native @ mentions. Describe the agent role naturally, and the AI uses the embedded definitions.

Using Commands

Reference workflow names in your prompts to trigger command behaviors:

# Start workflow
"Let's start a new task: implement user authentication"

# Execute work
"Execute the work for the authentication feature"

# Status check
"Show me the current status of my work items"

# Review workflow
"Review the changes I've made"

Command Reference

IntentPrompt StyleTriggered Behavior
New task"Start working on..."Creates bead, loads context
Execute"Execute / implement..."Runs planned work
Status"What's the status..."Shows progress, blockers
Review"Review my changes..."Code analysis, suggestions
PR"Create a PR..."Generates PR description

Using Skills

Skills are embedded in .cursorrules and activate based on context:

# Triggers brainstorming skill
"Let's brainstorm different approaches for the caching layer"

# Triggers code-reviewer skill
"Review this code for security issues"

# Triggers test-engineer skill
"Help me write tests for the authentication module"

# Triggers documentation-writer skill
"Document this API endpoint"

Skill Triggers

SkillNatural Triggers
brainstorming"brainstorm", "explore options", "what if"
code-reviewer"review", "check for issues", "security audit"
test-engineer"write tests", "test coverage", "testing"
documentation-writer"document", "add docs", "explain this"
pr-creator"create PR", "pull request", "submit"

Customization

Add project-specific rules in .cursorrules.local:

# .cursorrules.local (gitignored)

## Project-Specific Rules

### Code Style
- Use TypeScript strict mode
- Prefer functional components with hooks
- Use Tailwind CSS for styling

### Testing Requirements
- All new features require unit tests
- Integration tests for API endpoints
- E2E tests for critical user flows

### Team Conventions
- Feature branches: feature/JIRA-123-description
- Commit format: type(scope): message
- PR reviews required from 2 team members
Merge behavior: .cursorrules.local content is appended to the generated .cursorrules. Don't duplicate sections—extend them.

Customization Workflow

# 1. Initial sync
fulcrum sync --vendor cursor

# 2. Create local overrides
echo "## My Team Rules" >> .cursorrules.local

# 3. Re-sync (preserves .local)
fulcrum sync --vendor cursor

# 4. Verify combined output
cat .cursorrules  # Shows generated + local

Vendor Comparison

FeatureCursorClaude CodeWindsurfGemini CLI
Setup complexity✅ Single fileDirectory structureMultiple filesMultiple files
IDE integration✅ NativeCLI-basedNativeCLI-based
CustomizationAppend to file✅ Per-fileEdit rules.mdEdit GEMINI.md
Version controlSingle file✅ GranularMixedMixed
Agent invocationIn prompts✅ @ mentionsIn promptsIn prompts

Troubleshooting

Rules not loading

# Verify file exists
ls -la .cursorrules

# Check file permissions
chmod 644 .cursorrules

# Restart Cursor to reload rules
# Cmd/Ctrl + Shift + P → "Reload Window"

Rules too large

If your .cursorrules exceeds Cursor's context limits, selectively sync:

# Sync only essential components
fulcrum sync --vendor cursor --agents tech-lead,backend-engineer --skills core
Pro tip: Keep .cursorrules focused. If you don't use certain agents or skills, exclude them from sync to reduce context overhead.