A powerful CLI tool for Linux developers to automatically update and manage popular IDEs (VS Code, Cursor) with smart version detection, progress tracking, and seamless installation handling
Project description
IDE Updater
A CLI tool to quickly update Linux IDEs (VS Code and Cursor) with a simple command.
Keep your development environment fresh with automatic IDE updates!
Features
- 🚀 Multi-IDE Support: VS Code and Cursor IDE
- 🔍 Smart Version Detection: Checks both system-wide and local installations
- 📦 Automatic Downloads: Fetches latest versions from official sources
- 🎯 Clean Installation: Manages AppImages and tar.gz files properly
- 🔄 Smart Updates: Automatically updates IDEs in their current location
- ⚙️ Configurable: Stores settings in
~/.config/ide-updater/ - 🎨 Beautiful Output: Rich terminal interface with progress bars
Installation
Quick Install with pipx (Recommended)
If you have pipx installed:
pipx install ide-updater && pipx ensurepath
If you don't have pipx yet (complete one-command install):
python3 -m pip install --user pipx && python3 -m pipx ensurepath && pipx install ide-updater && pipx ensurepath
After installation: Restart your terminal or run source ~/.bashrc to make the command available immediately.
Why pipx?
pipx is the recommended way to install Python CLI applications. It:
- ✅ Installs apps in isolated environments (no conflicts)
- ✅ Makes commands globally available
- ✅ Works on modern Linux systems (avoids "externally-managed-environment" errors)
- ✅ Easy to update:
pipx upgrade ide-updater
Alternative: Using pip in a virtual environment
python3 -m venv venv && source venv/bin/activate && pip install ide-updater
From Source
git clone https://github.com/cosmah/ide-updater.git
cd ide-updater
pip install -e .
Usage
# Check for updates
ide-updater check
# Update all IDEs
ide-updater update
# Update specific IDE
ide-updater update cursor
ide-updater update vscode
# Initialize configuration
ide-updater init
Configuration
The tool stores configuration in ~/.config/ide-updater/config.json:
{
"install_dir": "/home/user/Applications",
"temp_dir": "/home/user/.cache/ide-updater",
"ides": {
"vscode": {"enabled": true, "channel": "stable"},
"cursor": {"enabled": true},
"kiro": {"enabled": false}
}
}
Note: Kiro support is temporarily disabled due to download access restrictions. The download URLs have changed or require authentication.
Installation Behavior
Smart Update Location:
- If an IDE is already installed (detected in PATH or known locations), the updater will replace it in the same location
- If no existing installation is found, it installs to the configured
install_dir(default:~/Applications/) - Old versions are automatically backed up with a
.backupextension before replacement
This ensures your system configurations (desktop entries, PATH, etc.) continue working after updates!
Supported IDEs
| IDE | Version Detection | Download Source | Installation | Status |
|---|---|---|---|---|
| VS Code | Microsoft Update API | Official Microsoft | tar.gz extraction | ✅ Active |
| Cursor | Changelog scraping | cursor.com API | AppImage | ✅ Active |
| Kiro | Downloads page + AWS | AWS S3 bucket | AppImage/tar.gz | ⚠️ Disabled (Access restricted) |
Requirements
- Linux (tested on Ubuntu, should work on other distributions)
- Python 3.8+
- Internet connection for downloads
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Support the Project
If this tool saves you time and makes your development workflow easier, consider supporting its development:
Your support helps maintain and improve this tool for the entire Linux developer community!
License
MIT License - see LICENSE file for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ide_updater-0.1.6.tar.gz.
File metadata
- Download URL: ide_updater-0.1.6.tar.gz
- Upload date:
- Size: 46.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6583485585a5dc984e0f2b8650471b6f160f9ccbe6d7fd53f7847031236bf53
|
|
| MD5 |
0354ff72729aee725b7f388cc6b1f9bc
|
|
| BLAKE2b-256 |
116205cf0669cbeb9689bc8091997b2b510b45f9376ac3e6fd92e6cd96ad983a
|
File details
Details for the file ide_updater-0.1.6-py3-none-any.whl.
File metadata
- Download URL: ide_updater-0.1.6-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a8822586be34e2dadb5ca548245716f7e219ffdd27d931f16ce198ec794904c
|
|
| MD5 |
d4777a1523cdc2b1eedcc259d41f7165
|
|
| BLAKE2b-256 |
40670c1cdc90dd3f4c261967d819f6b174ce61c03422f9d836398f86d92f1fa8
|