Cursor Helper
A powerful VS Code/Cursor extension that enhances your AI-assisted coding experience with notifications and intelligent monitoring.
✨ Features
- 🔔 Smart Notifications: Desktop alerts for task completion, context capacity, and file confirmations
- 📚 Prompt Template Library: Save, organize, and reuse effective prompts with variable substitution
- 🔊 Cross-Platform Sound: Native sound support for macOS, Windows, and Linux
- ⚙️ Highly Configurable: Extensive settings for messages, sounds, and thresholds
- 🔒 Privacy First: Runs entirely locally, no telemetry or external calls
📑 Table of Contents
🚀 Quick Start
1. Installation
From VSIX (Recommended for testing)
npm install && npm run build && npm run package
Install the generated .vsix via Extensions → Install from VSIX...
From Source (Development)
git clone https://github.com/alieneclectic/cursor-helper.git
cd cursor-helper
npm install
Press F5 to launch Extension Development Host
2. Setup Notifications
Easy Method:
- Open Command Palette:
Cmd+Shift+P (macOS) or Ctrl+Shift+P (Windows/Linux)
- Run:
Cursor Helper: Quick Setup (Copy Rule)
- Follow the prompts to add the rule to Cursor
Manual Method - Add this to Cursor Settings:
macOS/Linux
At the END of your turn, after you have completely finished all work and before ending your response, run this command to notify the user:
<!run:sh -lc "echo \"$(date) :: CURSOR_DONE\" > $HOME/.cursor-notify.flag">
Windows
At the END of your turn, after you have completely finished all work and before ending your response, run this command to notify the user:
<!run:powershell -command "$d=Get-Date; Set-Content -Path $env:USERPROFILE\.cursor-notify.flag -Value $d;">
3. Test It
Run Cursor Helper: Test Notification from the Command Palette. You should see a notification and hear a sound! 🎉
🎯 Features Deep Dive
Task Notifications
Get instant desktop notifications when Cursor completes tasks. The extension watches a flag file that Cursor updates via a custom rule. When detected, you'll receive a notification with optional sound.
How it works:
- Add the Cursor rule (see Quick Start)
- Cursor AI completes a task → updates flag file
- Extension detects change → triggers notification
Prompt Template Library
Save, organize, and reuse your most effective prompts with powerful variable substitution. Perfect for standardizing workflows and sharing best practices with your team.
Key Features:
- 📝 Create from scratch or selection: Convert any text into a reusable template
- 🔄 Variable substitution: Use
{{variableName}} for dynamic placeholders
- 📂 Category organization: Refactoring, Debugging, Testing, Documentation, Optimization, General
- 🏷️ Tags & search: Easily find templates with tags and full-text search
- 📊 Usage tracking: See which templates are most effective
- 🔀 Import/Export: Share templates across projects and teams
- ⭐ 8 default templates: Get started immediately with curated examples
Quick Start:
- Run:
Cursor Helper: Open Template Library
- Browse default templates or create your own
- Use
Cursor Helper: Insert Template to add to your prompt
Variable Syntax:
{{name}} - Simple placeholder
{{name:description}} - With descriptive prompt
{{name:description:default}} - With default value
Example Template:
Please refactor {{fileName:Name of the file}} to improve {{goal:Refactoring goal::readability}}.
Focus on:
- Code clarity
- Performance
- {{customFocus:Additional focus area::Error handling}}
Learn More: See TEMPLATE_LIBRARY_GUIDE.md for detailed documentation.
Context Monitoring
Get alerted when Cursor's context window nears capacity so you can start fresh or summarize.
Setup:
- Run:
Cursor Helper: Setup Context Window Monitoring
- Or manually add this rule to Cursor Settings:
macOS/Linux
When the context window usage exceeds 90%, run this command to alert the user:
<!run:sh -lc "echo \"$(date) :: CONTEXT_ALERT\" > $HOME/.cursor-context-alert.flag">
Windows
When the context window usage exceeds 90%, run this command to alert the user:
<!run:powershell -command "$d=Get-Date; Set-Content -Path $env:USERPROFILE\.cursor-context-alert.flag -Value $d;">
Adjust threshold in settings (default: 90%)
File Confirmations
Get notified when Cursor requests permission to edit files, so you never miss an important approval.
Setup:
- Run:
Cursor Helper: Setup File Confirmation Alerts
- Or manually add this rule to Cursor Settings:
macOS/Linux
Before asking for confirmation to edit a file, run this command to alert the user:
<!run:sh -lc "echo \"$(date) :: FILE_CONFIRM\" > $HOME/.cursor-file-confirm.flag">
Windows
Before asking for confirmation to edit a file, run this command to alert the user:
<!run:powershell -command "$d=Get-Date; Set-Content -Path $env:USERPROFILE\.cursor-file-confirm.flag -Value $d;">
⚙️ Configuration
All Settings
| Setting |
Type |
Default |
Description |
cursorHelper.flagFile |
string |
~/.cursor-notify.flag |
Task completion flag file path |
cursorHelper.message |
string |
Cursor task complete |
Notification message |
cursorHelper.playSound |
boolean |
true |
Enable sound on completion |
cursorHelper.customSoundPath |
string |
"" |
Custom sound file path |
cursorHelper.debounceMs |
number |
500 |
Debounce time (ms) |
cursorHelper.enableLogging |
boolean |
false |
Enable debug logging |
| Context Monitoring |
|
|
|
contextMonitoring.enabled |
boolean |
true |
Enable context alerts |
contextMonitoring.flagFile |
string |
~/.cursor-context-alert.flag |
Context flag file |
contextMonitoring.message |
string |
⚠️ Context window at capacity |
Alert message |
contextMonitoring.threshold |
number |
90 |
Alert threshold (%) |
| File Confirmations |
|
|
|
fileConfirmation.enabled |
boolean |
true |
Enable file edit alerts |
fileConfirmation.flagFile |
string |
~/.cursor-file-confirm.flag |
File confirm flag |
fileConfirmation.message |
string |
📝 Cursor is requesting file edit permission |
Alert message |
| Template Library |
|
|
|
templateLibrary.enabled |
boolean |
true |
Enable template library |
templateLibrary.showInCommandPalette |
boolean |
true |
Show in command palette |
templateLibrary.recentTemplatesCount |
number |
5 |
Number of recent templates |
Example Configuration:
{
"cursorHelper.message": "✅ Task complete!",
"cursorHelper.customSoundPath": "/System/Library/Sounds/Hero.aiff",
"cursorHelper.contextMonitoring.threshold": 85
}
Platform-Specific Sounds:
- macOS:
/System/Library/Sounds/Hero.aiff
- Windows:
C:\Users\YourName\Music\complete.wav
- Linux:
/home/username/sounds/complete.wav
💻 Commands
Access via Command Palette (Cmd+Shift+P / Ctrl+Shift+P):
| Command |
Description |
Quick Setup (Copy Rule) |
One-click setup with platform-specific rule |
Setup Context Window Monitoring |
Setup context capacity alerts |
Setup File Confirmation Alerts |
Setup file edit confirmation alerts |
Open Template Library |
Browse and manage prompt templates |
Insert Template |
Insert a template into current editor |
Create Template from Selection |
Create a new template from selected text |
Insert Recent Template |
Quick access to recently used templates |
Test Notification |
Test notification and sound |
Open Settings |
Open extension settings |
🐛 Troubleshooting
Notifications Not Working
Enable logging and check output:
{ "cursorHelper.enableLogging": true }
View: View → Output → Cursor Helper
Verify flag file exists:
# macOS/Linux
ls -la ~/.cursor-notify.flag
# Windows
Test-Path $env:USERPROFILE\.cursor-notify.flag
Test manually:
echo "test" > ~/.cursor-notify.flag
Common issues:
- Network drives don't support file watching (use local paths)
- Multiple notifications? Increase
debounceMs
- Rule not added to Cursor Settings?
Sound Not Playing
🔧 Development
Build & Run:
npm install # Install dependencies
npm run build # Build TypeScript
npm run watch # Watch mode for development
npm run package # Create .vsix package
Debug:
- Open project in VS Code/Cursor
- Press
F5 to launch Extension Development Host
- Test commands via Command Palette
- View logs: View → Output → Cursor Helper
Architecture:
src/
├── core/types.ts # Core interfaces
├── config/configManager.ts # Settings management
├── watchers/ # File watchers
├── notifiers/vscodeNotifier.ts # Notification handler
├── sound/soundPlayer.ts # Cross-platform audio
├── templates/ # Prompt template library
└── extension.ts # Entry point
The codebase uses interfaces (IWatcher, INotifier, ISoundPlayer) making it easy to extend with new functionality.
🤝 Contributing
Contributions welcome! The extension is designed for extensibility.
Quick Start:
- Fork & clone
npm install → Make changes → npm run watch
- Press
F5 to test
- Submit PR with clear description
Contribution Ideas:
- New watcher types (HTTP, logs, processes)
- Webhook notifications
- Rich notifications with actions
- Automated tests
Standards: TypeScript strict mode, interfaces over types, async/await, JSDoc for public APIs
📜 Changelog
v0.7.1 (2025-10-02)
- 🗑️ REMOVED: Token tracking feature (was non-functional without automatic API integration)
- 🧹 Cleaned up codebase and reduced complexity
- ✨ Focus on core working features: notifications, templates, and monitoring
v0.7.0 (2025-10-02)
- 📚 NEW: Prompt Template Library with variable substitution
- 🔄 Save and reuse effective prompts across projects
- 📂 Category organization and tag-based search
- 📊 Usage tracking and analytics
- 🔀 Import/Export templates for team sharing
- ⭐ 8 curated default templates included
v0.6.1 (2025-10-02)
- 🐛 Fixed: Notifications now trigger only when Cursor is completely done, not on individual step success
- 📝 Updated Cursor Rule to be more explicit about end-of-turn timing
v0.6.0 (2025-10-02)
- 🐛 Fixed notification timing (removed in v0.7.1)
v0.5.0 (2025-10-01)
- 📝 File edit confirmation alerts
v0.2.0 (2025-10-01)
- ⚠️ Context window monitoring
v0.1.0 (2025-10-01)
- 🎉 Initial release with notifications & sounds
View full changelog
[0.7.1] - Code Cleanup & Feature Removal
- Removed non-functional token tracking feature
- Token tracking required manual input and lacked automatic API integration
- Cleaned up 500+ lines of unused code and dependencies
- Improved codebase maintainability and focus
- Updated documentation to reflect current feature set
[0.7.0] - Prompt Template Library
- Added comprehensive prompt template management system
- Variable substitution with
{{variable}} syntax
- Category organization and tag-based search
- Import/Export templates for team collaboration
- 8 curated default templates included
- Usage tracking and analytics
[0.6.1] - Bug Fix: Notification Timing
- Fixed notifications triggering on individual step success instead of completion
- Updated Cursor Rule to explicitly request end-of-turn execution
- Added UPDATE_RULE.md guide for users to update their rules
- Improved rule clarity with "At the END of your turn" phrasing
[0.5.0] - File Confirmations
- File edit confirmation alerts
- FileConfirmationWatcher implementation
- Setup command and configuration options
[0.2.0] - Context Monitoring
- Context window capacity monitoring
- Configurable threshold alerts
- Setup command and configuration
[0.1.0] - Initial Release
- File-based task completion detection
- Cross-platform notifications and sounds
- Extensible architecture with interfaces
- Quick setup commands
- Configuration hot-reload
📄 License
MIT License - see LICENSE for details.
🙏 Support
Built with ❤️ for the Cursor AI community.
Enjoy Cursor Helper! 🎉