Skip to main content

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 .backup extension 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

ide_updater-0.1.6.tar.gz (46.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ide_updater-0.1.6-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

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

Hashes for ide_updater-0.1.6.tar.gz
Algorithm Hash digest
SHA256 f6583485585a5dc984e0f2b8650471b6f160f9ccbe6d7fd53f7847031236bf53
MD5 0354ff72729aee725b7f388cc6b1f9bc
BLAKE2b-256 116205cf0669cbeb9689bc8091997b2b510b45f9376ac3e6fd92e6cd96ad983a

See more details on using hashes here.

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

Hashes for ide_updater-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 6a8822586be34e2dadb5ca548245716f7e219ffdd27d931f16ce198ec794904c
MD5 d4777a1523cdc2b1eedcc259d41f7165
BLAKE2b-256 40670c1cdc90dd3f4c261967d819f6b174ce61c03422f9d836398f86d92f1fa8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page