Skip to content

Conversation

@ChiefBoyardee
Copy link
Contributor

🎯 Problem Solved

Issue: Cursor IDE profiles have isolated extension environments, causing version inconsistencies across user profiles.

Symptoms:

  • Extension updates only applied to active/default profile
  • Multiple profiles (e.g., 'Rimworld', 'Development') had different extension versions
  • Some profiles stuck on outdated versions (0.483.0) while default had latest (0.551.0)
  • Manual profile switching required for consistent updates

🔧 Solution Implemented

Core Features

  • 🔍 Automatic Profile Detection: Scans %APPDATA%\Cursor\User\profiles\ for all active profiles
  • 📦 Multi-Profile Installation: Deploys extensions to ALL Cursor profiles simultaneously
  • 📝 Registry Management: Updates each profile's extensions.json automatically
  • 🛡️ Robust Fallback: Multiple installation methods with graceful error handling
  • 📊 Enhanced Logging: Comprehensive status reporting for all operations

Technical Implementation

// New methods added to IDEManager class
- getCursorProfiles()           // Profile discovery
- copyExtensionToAllProfiles()  // Direct extension deployment
- updateProfileExtensionsJson() // Profile registry management
- copyDirectory()               // Utility for recursive copying

📈 Impact & Results

Before

  • ❌ 3 profiles with Augment 0.483.0 (outdated)
  • ❌ 5 profiles with no Augment extension
  • ✅ 1 default profile with Augment 0.551.0

After

  • ALL 8 profiles with Augment 0.551.0
  • ✅ Automatic synchronization on future updates
  • ✅ Zero manual intervention required

🧪 Testing Performed

  • ✅ Detected 8 Cursor profiles successfully
  • ✅ Installed Augment 0.551.0 to all profiles
  • ✅ Verified extensions.json updates in each profile
  • ✅ Tested fallback mechanisms for error scenarios
  • ✅ Confirmed Windows Task Scheduler integration

🔄 Changes Made

Core Files

  • index.js: Enhanced IDEManager with multi-profile support
  • config.json: Added installInAllProfiles: true option
  • Install-WindowsTask.ps1: Updated to use --install-all-profiles flag

New Files

  • CHANGELOG.md: Comprehensive change documentation
  • test-cursor-profiles.js: Profile detection testing utility
  • test-profile-install.js: Profile installation testing utility

🔮 Future Benefits

  • Consistency: All profiles stay synchronized automatically
  • Scalability: Foundation for supporting other multi-profile IDEs
  • Reliability: Robust error handling and fallback mechanisms
  • Maintainability: Comprehensive logging and testing utilities

🚨 Breaking Changes

None - This enhancement is fully backward compatible with existing single-profile setups.

📋 Checklist

  • Code follows project conventions
  • Comprehensive testing performed
  • Documentation updated (CHANGELOG.md)
  • Backward compatibility maintained
  • Error handling implemented
  • Logging enhanced for debugging

Ready for merge! This enhancement resolves the multi-profile extension synchronization issue and provides a robust foundation for future IDE profile management features.


Pull Request opened by Augment Code with guidance from the PR author

BREAKING CHANGE: Enhanced extension installation to support all Cursor profiles

## Problem Solved
- Cursor profiles have isolated extension environments
- Previous implementation only installed to active/default profile
- Users with multiple profiles (e.g., 'Rimworld', 'Development') had inconsistent extension versions
- Some profiles remained on outdated versions (0.483.0) while default had latest (0.551.0)

## Solution Implemented
- **Profile Detection**: Automatic discovery of all active Cursor profiles in %APPDATA%\Cursor\User\profiles\
- **Multi-Profile Installation**: Direct extension copying to all profile directories
- **Registry Management**: Automatic updating of each profile's extensions.json
- **Robust Fallback**: Multiple installation methods with graceful degradation
- **Enhanced Logging**: Comprehensive status reporting for all profile operations

## Technical Changes
- Added getCursorProfiles() method for profile discovery
- Added copyExtensionToAllProfiles() for direct extension deployment
- Added updateProfileExtensionsJson() for profile registry management
- Enhanced installExtensionInAllIDEs() with Cursor-specific logic
- Updated Windows Task Scheduler to use --install-all-profiles flag
- Added installInAllProfiles configuration option

## Testing
- Verified detection of 8 Cursor profiles
- Successfully installed Augment 0.551.0 to all profiles
- Confirmed profile extensions.json updates
- Tested fallback mechanisms

## Impact
- All Cursor profiles now receive consistent extension updates
- Eliminates manual profile switching for extension updates
- Maintains backward compatibility with single-profile setups
- Provides foundation for future multi-profile IDE support

Fixes: Cursor profile extension version inconsistency
Closes: Multi-profile installation requirements
Copy link
Contributor Author

@ChiefBoyardee ChiefBoyardee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was seeing that some of my different profiles weren't getting updates on my Windows box so I had Augment add a fix for it that covers all installed profiles and was able to successfully test it. I don't think the two javascript test scripts are necessary but I included them anyway because why not

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant