Cursor is an AI-powered code editor built on
VS Code. It integrates the latest and best AI models—Claude, GPT-4, and others—with custom
tools the Cursor team has built to make operating your computer dramatically more efficient.
It's almost to the point where you can run your entire computer from a chat interface.
Truly an incredible tool for creating software, building automations, organizing your digital
life, and so much more. I love Cursor. Below are some things I do to make it work even better—feel
free to use any of this however you like.
Honestly, Cursor has become a more true second brain than Notion. You can build faster and deeper—it's
not just about storing information, but actively creating and iterating on ideas, code, and systems
in real-time. The ability to have conversations with your codebase, generate solutions instantly,
and build complex tools through natural language makes it a more dynamic and powerful thinking partner.
How I Use It▼
Code Generation— Describe what I want in plain English, get working code
Debugging— Paste errors into chat and get fixes with context
Refactoring— Select code and ask for improvements
Learning— Ask questions about unfamiliar APIs in context of my code
Key Shortcuts 4▼
Cmd+K— Edit selected code with natural language
Cmd+L— Open AI chat
Tab— Accept AI completions
@codebase— Reference your entire project in prompts
My Custom Commands 6▼
How to use: Create a folder at ~/.cursor/commands/ and save these as .md files. Cursor will automatically detect them as slash commands.
/addevent— Add events to Apple Calendar from natural language
addevent.md
# Add Calendar Event Command
This command will be available in chat with `/addevent`
**INSTRUCTION: When user invokes `/addevent` followed by event details, parse the natural language input to extract:**
- Event title (required)
- Date/time (required - parse from "tomorrow at 2pm", "Dec 15 at 3pm", etc.)
- Location (if mentioned with "at", "location:", "in")
- Notes/description (if provided)
- Duration (if specified, otherwise default to 1 hour)
**Then execute the add_event.py script with the parsed arguments to create the event in Apple Calendar.**
## Usage
```
/addevent Team Meeting tomorrow at 2pm
/addevent Lunch on Dec 15 at 12:30 PM - location: Restaurant
/addevent Conference Call - date: 2024-12-20 - time: 3:00 PM
```
## How it works
The script will:
- Parse date and time from your message (supports various formats)
- Create the event in your default Calendar
- Set duration to 1 hour by default
- Add location and notes if provided
## Supported formats
- **Dates**: "Dec 15, 2024", "tomorrow", "today", "next Monday"
- **Times**: "2:00 PM", "3pm", "14:00"
- **Combined**: "Dec 15 at 2pm", "tomorrow at 3pm"
/email— Draft and send emails via natural language
email.md
# Email Command
This command will be available in chat with `/email`
**INSTRUCTION: When user invokes `/email` followed by email details in natural language, parse the input to extract:**
- Recipient(s) (required - look for "to X", "email X", "send to X")
- Subject (look for "subject:", "re:", "about:", or infer from context)
- Body/content (extract the main message, look for "asking", "requesting", etc.)
- CC/BCC (if mentioned with "cc:" or "bcc:")
**Then execute the send_email.py script ONCE with the parsed arguments to create ONE email via Mail.app.**
## Usage
```
/email to emily asking if we can reschedule to thursday
/email to john@example.com subject: Project Update - body: Here's the latest
/email to sarah cc: manager asking about the meeting time
```
## How it works
The script will:
- Parse recipient(s) from phrases like "to emily", "email john"
- Extract or infer subject from context (formatted professionally)
- Extract the main message/body from your input
- Format professionally: greeting, capitalization, closing
- Create and send via Mail.app (or create draft if "draft" is included)
/calendar— Add events to Apple Calendar
calendar.md
# Calendar Command
This command will be available in chat with `/calendar`
**INSTRUCTION: When user invokes `/calendar` followed by event details, parse the natural language input to extract:**
- Event title (required)
- Date/time (required - parse from "tomorrow at 2pm", "Dec 15 at 3pm", etc.)
- Location (if mentioned with "at", "location:", "in")
- Notes/description (if provided)
- Duration (if specified, otherwise default to 1 hour)
**Then execute the add_event.py script with the parsed arguments to create the event in Apple Calendar.**
## Usage
```
/calendar meeting with Sarah tomorrow at 2pm
/calendar dentist appointment Dec 20 at 10am location: Downtown Dental
/calendar team standup every weekday at 9am for 30 minutes
```
## How it works
The script will:
- Parse event details from natural language
- Handle relative dates (tomorrow, next Monday, etc.)
- Create the event in your default Apple Calendar
- Support recurring events and custom durations
/desktop— Auto-organize desktop files
desktop.md
# Desktop Organizer Command
This command will be available in chat with `/desktop`
**INSTRUCTION: When user invokes `/desktop`, automatically execute the script with `--live` flag to organize their desktop files.**
Organizes files on your desktop into appropriate folders based on file names and types.
## Usage
```
/desktop
```
## What it does
- **Categorizes files** by name patterns and file types:
- Screenshots (screenshot images)
- Images (photos, graphics)
- PDFs (all PDF documents)
- Documents (Word docs, text files)
- Spreadsheets (Excel files)
- Archives (old files, backups)
- **Creates year subfolders** when years are detected in filenames
- **Skips existing folders** you want to keep
- **Handles duplicates** by adding timestamps
## Safety
- Preview mode shows what will happen before moving files
- Handles duplicates by adding timestamps
- Configurable folder exclusions
/organizefolder— Intelligently organize any folder
organizefolder.md
# Organize Folder Command
This command will be available in chat with `/organizefolder`
**INSTRUCTION: When user invokes `/organizefolder` followed by a folder path, automatically execute the organize_folder.py script with `--live` flag to organize files in that folder. If no path is provided, ask the user which folder they want to organize.**
Intelligently organizes files in any folder into appropriate subfolders based on file names, types, and content analysis.
## Usage
```
/organizefolder /path/to/folder
/organizefolder ~/Downloads
/organizefolder .
```
## What it organizes
- **Documents** — Word docs, text files, markdown
- **PDFs** — All PDF documents
- **Spreadsheets** — Excel, CSV files
- **Images** — Photos, screenshots, graphics
- **Videos** — Video files
- **Audio** — Music, podcasts
- **Code** — Source code files
- **Presentations** — PowerPoint, Keynote
- **Archives** — ZIP files, compressed
## Features
- **Smart categorization** — Analyzes file names and extensions
- **Year subfolders** — Organizes by year when detected
- **Duplicate handling** — Adds timestamps to prevent overwriting
- **Safe by default** — Preview before moving
/meta— Auto-sync command docs to website
meta.md
# Meta Command - Update Wiki Documentation
This command will be available in chat with `/meta`
**INSTRUCTION: When user invokes `/meta`, execute the update_wiki.py script to automatically sync the custom commands documentation on your website with the actual commands in ~/.cursor/commands/. The script will:**
1. Read all command markdown files from ~/.cursor/commands/
2. Parse each command's name, description, and key features
3. Update the wiki page with current documentation
4. Commit and push the changes to GitHub
This keeps the website documentation always in sync with your actual command configurations.
## Usage
```
/meta
```
## What it does
- Scans all your custom commands
- Updates the wiki page with current documentation
- Commits with message "Update custom commands documentation"
- Pushes to GitHub for automatic deployment
## How it works
The script reads each .md file, extracts the command name and description, then regenerates the documentation section on your website. This means adding a new command or updating an existing one just requires running `/meta` to publish the changes.
Note: These commands require companion Python scripts in ~/.cursor/commands/[command-name]/. The markdown files tell Cursor's AI how to parse your input and what script to run.