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
| Intent | Prompt Style | Triggered 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
| Skill | Natural 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 membersMerge 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 + localVendor Comparison
| Feature | Cursor | Claude Code | Windsurf | Gemini CLI |
|---|---|---|---|---|
| Setup complexity | ✅ Single file | Directory structure | Multiple files | Multiple files |
| IDE integration | ✅ Native | CLI-based | Native | CLI-based |
| Customization | Append to file | ✅ Per-file | Edit rules.md | Edit GEMINI.md |
| Version control | Single file | ✅ Granular | Mixed | Mixed |
| Agent invocation | In prompts | ✅ @ mentions | In prompts | In 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 corePro tip: Keep
.cursorrules focused. If you don't use certain agents or skills, exclude them from sync to reduce context overhead.