{"id":28469603,"url":"https://github.com/gouveags/cursor-installer","last_synced_at":"2026-04-17T08:02:36.282Z","repository":{"id":297388730,"uuid":"996467213","full_name":"gouveags/cursor-installer","owner":"gouveags","description":"Cursor IDE installer \u0026 auto-updater for Ubuntu/Debian Linux. CLI launcher, desktop integration \u0026 auto-updates via systemd.","archived":false,"fork":false,"pushed_at":"2025-06-06T22:01:53.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-01T16:50:32.726Z","etag":null,"topics":["clone-app","cursor-ai","debian","ide","installer","linux","ubuntu","vscode"],"latest_commit_sha":null,"homepage":"https://www.cursor.com/downloads","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gouveags.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-05T01:56:31.000Z","updated_at":"2025-06-06T22:01:58.000Z","dependencies_parsed_at":"2025-06-05T08:30:57.085Z","dependency_job_id":"0c291515-3384-400b-839a-46487ab788e3","html_url":"https://github.com/gouveags/cursor-installer","commit_stats":null,"previous_names":["gouveags/cursor-installer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gouveags/cursor-installer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gouveags%2Fcursor-installer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gouveags%2Fcursor-installer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gouveags%2Fcursor-installer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gouveags%2Fcursor-installer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gouveags","download_url":"https://codeload.github.com/gouveags/cursor-installer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gouveags%2Fcursor-installer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000724,"owners_count":26082862,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clone-app","cursor-ai","debian","ide","installer","linux","ubuntu","vscode"],"created_at":"2025-06-07T09:08:03.917Z","updated_at":"2025-10-08T23:18:03.863Z","avatar_url":"https://github.com/gouveags.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cursor Installer 🖱️\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Linux](https://img.shields.io/badge/OS-Linux-blue.svg)](https://www.kernel.org)\n[![Ubuntu](https://img.shields.io/badge/Ubuntu-20.04%2B-orange.svg)](https://ubuntu.com)\n[![Debian](https://img.shields.io/badge/Debian-11%2B-red.svg)](https://debian.org)\n\n\u003e **No need to be frustrated anymore, cursor-installer is here to help!**\n\nTransform your Linux system into a Cursor-powered development environment with this comprehensive installer. This tool provides automatic installation, updates, and management of the Cursor IDE - an AI-powered code editor that will revolutionize your coding experience.\n\n## 📋 Table of Contents\n\n- [Cursor Installer 🖱️](#cursor-installer-️)\n  - [📋 Table of Contents](#-table-of-contents)\n  - [✨ Features](#-features)\n  - [🚀 Quick Start](#-quick-start)\n    - [One-Line Installation](#one-line-installation)\n    - [Manual Installation](#manual-installation)\n    - [Branch-Specific Installation](#branch-specific-installation)\n  - [📋 System Requirements](#-system-requirements)\n  - [🎮 Usage](#-usage)\n    - [Interactive Menu](#interactive-menu)\n    - [Command Line Interface](#command-line-interface)\n      - [Available Commands](#available-commands)\n      - [Command Examples](#command-examples)\n  - [🗂️ Project Structure](#️-project-structure)\n  - [🔧 Installation Details](#-installation-details)\n    - [What Gets Installed](#what-gets-installed)\n    - [Installation Locations](#installation-locations)\n  - [🔄 Update System](#-update-system)\n    - [Automatic Updates](#automatic-updates)\n    - [Manual Updates](#manual-updates)\n  - [🗑️ Uninstallation](#️-uninstallation)\n    - [Uninstall Cursor IDE](#uninstall-cursor-ide)\n    - [Remove Auto-updater](#remove-auto-updater)\n    - [Complete Removal](#complete-removal)\n    - [Manual Cleanup](#manual-cleanup)\n  - [🧪 Development \\\u0026 Testing](#-development--testing)\n    - [Advanced Test Runner](#advanced-test-runner)\n      - [Test Commands](#test-commands)\n      - [Test Environments](#test-environments)\n      - [Test Options](#test-options)\n      - [Test Examples](#test-examples)\n    - [Docker Testing](#docker-testing)\n    - [Test Infrastructure](#test-infrastructure)\n    - [Continuous Integration](#continuous-integration)\n    - [Development Workflow](#development-workflow)\n    - [Contributing Guidelines](#contributing-guidelines)\n  - [🔍 Troubleshooting](#-troubleshooting)\n    - [Common Issues](#common-issues)\n    - [Debug Information](#debug-information)\n    - [Log Files](#log-files)\n  - [📚 FAQ](#-faq)\n  - [🤝 Contributing](#-contributing)\n  - [📜 License](#-license)\n  - [🙏 Acknowledgments](#-acknowledgments)\n  - [🔗 Links](#-links)\n\n## ✨ Features\n\n- **🚀 One-line Installation**: Install with a single curl command\n- **🔄 Automatic Updates**: Background updates via systemd service\n- **📱 Desktop Integration**: Native Linux desktop entry and menu integration\n- **🖥️ Multi-Distribution Support**: Works on Ubuntu 20.04+, Debian 11+, and derivatives\n- **⚡ Lightning Fast**: Optimized installation and update process\n- **🎯 Command Line Interface**: Full-featured CLI with comprehensive commands\n- **🛠️ Easy Management**: Install, update, uninstall, and configure with simple commands\n- **🔧 Comprehensive Help**: Built-in help system and detailed documentation\n- **🧪 Tested**: Comprehensive testing infrastructure with Docker\n\n## 🚀 Quick Start\n\n### One-Line Installation\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/gouveags/cursor-installer/main/boot.sh | bash\n```\n\n### Manual Installation\n\n```bash\ngit clone https://github.com/gouveags/cursor-installer.git\ncd cursor-installer\n./install.sh\n```\n\n### Branch-Specific Installation\n\nInstall from a specific branch (useful for testing development versions):\n\n```bash\n# Install from develop branch\nexport BRANCH_REF=develop\ncurl -fsSL https://raw.githubusercontent.com/gouveags/cursor-installer/main/boot.sh | bash\n\n# Install from a specific feature branch\nexport BRANCH_REF=feature/my-feature\ncurl -fsSL https://raw.githubusercontent.com/gouveags/cursor-installer/main/boot.sh | bash\n```\n\n**Note**: The `BRANCH_REF` environment variable allows you to install cursor-installer from any branch in the repository. This is particularly useful for:\n- Testing development versions\n- Contributing to the project\n- Trying experimental features\n\n## 📋 System Requirements\n\n- **Operating System**: Ubuntu 20.04+ or Debian 11+\n- **Architecture**: x86_64 (64-bit)\n- **Dependencies**: curl, jq, systemd (for automatic updates)\n- **Permissions**: sudo access required for system installation\n\n## 🎮 Usage\n\n### Interactive Menu\n\nRun without arguments to access the interactive menu:\n\n```bash\ncursor-installer\n```\n\n### Command Line Interface\n\nThe `cursor-installer` command provides a comprehensive CLI interface:\n\n```bash\ncursor-installer [COMMAND]\n```\n\n#### Available Commands\n\n| Command | Description |\n|---------|-------------|\n| `install` | Install or update Cursor IDE |\n| `uninstall` | Uninstall Cursor IDE completely |\n| `remove-updater` | Remove the automatic updater service |\n| `update` | Check for and install updates |\n| `check` | Check for available updates (without installing) |\n| `version` | Show currently installed version |\n| `latest` | Show latest available version |\n| `status` | Show detailed installation status |\n| `help` | Show comprehensive help information |\n\n#### Command Examples\n\n```bash\n# Install or update Cursor\ncursor-installer install\n\n# Check current installation status\ncursor-installer status\n\n# Check for updates without installing\ncursor-installer check\n\n# Show installed version\ncursor-installer version\n\n# Show latest available version\ncursor-installer latest\n\n# Update to latest version\ncursor-installer update\n\n# Show help\ncursor-installer help\n```\n\n## 🗂️ Project Structure\n\n```\ncursor-installer/\n├── 📜 boot.sh                          # 🚀 Main curl installation target\n├── 📜 install.sh                       # 🔧 Local installation script\n├── 📁 bin/\n│   └── 📜 cursor-installer            # 🎯 Main command-line interface\n├── 📁 scripts/\n│   ├── 📜 common.sh                   # 🔄 Shared functions and utilities\n│   ├── 📜 cursor-update               # ⚡ Update service script\n│   └── 📜 uninstall.sh                # 🗑️ Uninstaller script\n├── 📁 test/                           # 🧪 Testing infrastructure\n│   ├── 📜 docker-compose.yml          # 🐳 Test orchestration\n│   ├── 📜 run-tests.sh                # 🎮 Test runner\n│   └── 📁 test-scripts/               # 📝 Test implementations\n├── 📁 .github/workflows/              # 🤖 CI/CD pipeline\n│   └── 📜 test.yml                    # ✅ Automated testing\n├── 📜 README.md                       # 📚 This documentation\n└── 📜 LICENSE                         # ⚖️ MIT License\n```\n\n## 🔧 Installation Details\n\n### What Gets Installed\n\n- **Cursor IDE**: Latest stable version from official source\n- **Desktop Entry**: Native Linux application menu integration\n- **System Link**: `/usr/local/bin/cursor` symlink for command access\n- **Auto-updater**: Systemd service for automatic updates (optional)\n- **Management Tools**: Complete CLI interface for all operations\n\n### Installation Locations\n\n- **Main Installation**: `/opt/cursor/`\n- **Desktop Entry**: `~/.local/share/applications/cursor.desktop`\n- **System Link**: `/usr/local/bin/cursor`\n- **Auto-updater**: `~/.config/systemd/user/cursor-update.{service,timer}`\n- **Temporary Files**: `~/.local/share/cursor-installer/`\n\n## 🔄 Update System\n\n### Automatic Updates\n\nThe installer sets up a systemd service that automatically checks for and installs updates:\n\n```bash\n# Check updater status\nsystemctl --user status cursor-update.timer\n\n# Enable automatic updates\nsystemctl --user enable --now cursor-update.timer\n\n# Disable automatic updates\nsystemctl --user disable --now cursor-update.timer\n```\n\n### Manual Updates\n\n```bash\n# Check for updates\ncursor-installer check\n\n# Install updates\ncursor-installer update\n\n# Or use the direct update command\ncursor-installer install\n```\n\n## 🗑️ Uninstallation\n\n### Uninstall Cursor IDE\n\nRemove Cursor IDE while keeping the installer:\n\n```bash\ncursor-installer uninstall\n```\n\n### Remove Auto-updater\n\nRemove the automatic update service:\n\n```bash\ncursor-installer remove-updater\n```\n\n### Complete Removal\n\nTo completely remove everything including the installer:\n\n```bash\n# First uninstall Cursor\ncursor-installer uninstall\n\n# Remove auto-updater\ncursor-installer remove-updater\n\n# Remove the installer itself\nsudo rm -rf /opt/cursor-installer\nsudo rm -f /usr/local/bin/cursor-installer\n\n# Clean up any remaining files\nrm -rf ~/.local/share/cursor-installer\n```\n\n### Manual Cleanup\n\nIf you need to manually clean up:\n\n```bash\n# Remove Cursor installation\nsudo rm -rf /opt/cursor\n\n# Remove desktop entry\nrm -f ~/.local/share/applications/cursor.desktop\n\n# Remove system link\nsudo rm -f /usr/local/bin/cursor\n\n# Remove auto-updater\nsystemctl --user disable --now cursor-update.timer cursor-update.service\nrm -f ~/.config/systemd/user/cursor-update.{service,timer}\nsystemctl --user daemon-reload\n\n# Remove temporary files\nrm -rf ~/.local/share/cursor-installer\n```\n\n## 🧪 Development \u0026 Testing\n\n### Advanced Test Runner\n\nThe project includes a sophisticated test runner with comprehensive functionality:\n\n```bash\ncd test\n./run-tests.sh [OPTIONS] [COMMAND] [ENVIRONMENT]\n```\n\n#### Test Commands\n\n| Command | Description |\n|---------|-------------|\n| `build` | Build all test containers |\n| `test [ENV]` | Run full test suite (default: all environments) |\n| `quick-test [ENV]` | Run quick diagnostic tests |\n| `shell [ENV]` | Open interactive shell in test environment |\n| `clean` | Clean up test containers and volumes |\n| `logs [ENV]` | Show logs from test environment |\n\n#### Test Environments\n\n| Environment | Description |\n|-------------|-------------|\n| `ubuntu-22` | Ubuntu 22.04 LTS |\n| `ubuntu-20` | Ubuntu 20.04 LTS |\n| `debian-12` | Debian 12 |\n| `all` | All environments (default) |\n\n#### Test Options\n\n| Option | Description |\n|--------|-------------|\n| `-h, --help` | Show help message |\n| `-v, --verbose` | Verbose output |\n| `--no-cache` | Build without cache |\n| `--pull` | Pull latest base images |\n\n#### Test Examples\n\n```bash\n# Build all test containers\n./run-tests.sh build\n\n# Run all tests across all environments\n./run-tests.sh test\n\n# Run tests on specific environment\n./run-tests.sh test ubuntu-22\n\n# Run quick diagnostic tests\n./run-tests.sh quick-test ubuntu-22\n\n# Open interactive shell for debugging\n./run-tests.sh shell debian-12\n\n# View logs from test environment\n./run-tests.sh logs ubuntu-20\n\n# Clean up everything\n./run-tests.sh clean\n\n# Build with options\n./run-tests.sh --no-cache --pull build\n```\n\n### Docker Testing\n\nDirect Docker testing (alternative to test runner):\n\n```bash\n# Test on Ubuntu 22.04\ndocker-compose -f test/docker-compose.yml run ubuntu-22\n\n# Test on Ubuntu 20.04\ndocker-compose -f test/docker-compose.yml run ubuntu-20\n\n# Test on Debian 12\ndocker-compose -f test/docker-compose.yml run debian-12\n```\n\n### Test Infrastructure\n\nThe testing infrastructure includes:\n\n- **Multi-distribution Support**: Ubuntu 22.04, Ubuntu 20.04, Debian 12\n- **Containerized Testing**: Isolated test environments with Docker\n- **Comprehensive Test Suite**: 6 different test scenarios:\n  1. System Dependencies Check\n  2. Directory Structure Validation\n  3. Script Syntax Verification\n  4. Curl-based Installation Test\n  5. Local Installation Test\n  6. Dry-run Mode Test\n- **Quick Diagnostic Tests**: Fast environment validation\n- **Interactive Debugging**: Shell access for troubleshooting\n- **Automated CI/CD**: GitHub Actions with daily scheduled tests\n- **Syntax Validation**: Automatic shell script syntax checking\n- **Integration Testing**: Full installation workflow validation\n\n### Continuous Integration\n\nThe project uses GitHub Actions for automated testing:\n\n- **Syntax Check**: Validates all shell scripts\n- **Multi-Distribution Testing**: Tests on Ubuntu 22.04, 20.04, and Debian 12\n- **Integration Testing**: Tests curl-based installation method\n- **Structure Validation**: Ensures all required files are present\n- **Documentation Testing**: Validates README completeness\n- **Daily Scheduled Tests**: Runs tests daily at 2 AM UTC\n- **Pull Request Testing**: Automatic testing on all PRs\n\n### Development Workflow\n\nFor contributors working on the project:\n\n1. **Fork and Clone**:\n   ```bash\n   git clone https://github.com/yourusername/cursor-installer.git\n   cd cursor-installer\n   ```\n\n2. **Create Feature Branch**:\n   ```bash\n   git checkout -b feature/my-feature\n   ```\n\n3. **Test Your Changes**:\n   ```bash\n   # Build test environments\n   cd test\n   ./run-tests.sh build\n\n   # Run quick tests for rapid feedback\n   ./run-tests.sh quick-test ubuntu-22\n\n   # Run full test suite\n   ./run-tests.sh test\n\n   # Test specific environment\n   ./run-tests.sh test debian-12\n\n   # Debug interactively if needed\n   ./run-tests.sh shell ubuntu-22\n   ```\n\n4. **Test Branch-Specific Installation**:\n   ```bash\n   # Test your branch before submitting PR\n   export BRANCH_REF=feature/my-feature\n   curl -fsSL https://raw.githubusercontent.com/gouveags/cursor-installer/main/boot.sh | bash\n   ```\n\n5. **Submit Pull Request**:\n   - Ensure all tests pass\n   - Include description of changes\n   - Update documentation if needed\n\n### Contributing Guidelines\n\n- **Code Style**: Follow existing bash script conventions\n- **Testing**: All changes must pass the test suite\n- **Documentation**: Update README for new features\n- **Compatibility**: Ensure compatibility with all supported distributions\n- **Security**: Be mindful of security implications in installation scripts\n\n## 🔍 Troubleshooting\n\n### Common Issues\n\n**Permission Denied**\n```bash\n# Ensure you have sudo access\nsudo -v\n```\n\n**Network Issues**\n```bash\n# Check your internet connection\ncurl -I https://cursor.com\n```\n\n**Desktop Entry Not Appearing**\n```bash\n# Update desktop database\nupdate-desktop-database ~/.local/share/applications/\n```\n\n**Auto-updater Not Working**\n```bash\n# Check systemd user services\nsystemctl --user status cursor-update.timer\nsystemctl --user enable --now cursor-update.timer\n```\n\n### Debug Information\n\nGet detailed information about your installation:\n\n```bash\ncursor-installer status\n```\n\n### Log Files\n\nCheck logs for troubleshooting:\n\n```bash\n# Installation logs\njournalctl --user -u cursor-update.service\n\n# System logs\nsudo journalctl | grep cursor\n```\n\n## 📚 FAQ\n\n**Q: Does this work on other Linux distributions?**\nA: Currently tested on Ubuntu 20.04+, Debian 11+, and derivatives. Other distributions may work but are not officially supported.\n\n**Q: Can I install multiple versions of Cursor?**\nA: No, this installer manages a single system-wide installation. For multiple versions, use the official AppImage directly.\n\n**Q: Is this official software from Cursor?**\nA: No, this is a community-created installer. Cursor IDE itself is official software from Cursor.\n\n**Q: How do I update the installer itself?**\nA: Re-run the installation command to get the latest version of the installer.\n\n**Q: Can I disable automatic updates?**\nA: Yes, use `cursor-installer remove-updater` to disable automatic updates.\n\n**Q: Where are my Cursor settings stored?**\nA: Cursor settings are stored in `~/.config/cursor/` and are not affected by this installer.\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to:\n\n- Report bugs and issues\n- Suggest new features\n- Submit pull requests\n- Improve documentation\n- Add support for more distributions\n\n## 📜 License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- **[Cursor](https://www.cursor.com/)** - For creating an amazing AI-powered code editor\n- **[Omakub](https://omakub.org/)** - For inspiration on Linux setup automation\n- **[watzon/cursor-linux-installer](https://github.com/watzon/cursor-linux-installer)** - For initial ideas on Linux Cursor installation\n\n## 🔗 Links\n\n- **Project Repository**: https://github.com/gouveags/cursor-installer\n- **Issue Tracker**: https://github.com/gouveags/cursor-installer/issues\n- **Cursor IDE**: https://cursor.com\n- **Documentation**: https://github.com/gouveags/cursor-installer/blob/main/README.md\n\n---\n\n**Made with ❤️ for the Linux community**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgouveags%2Fcursor-installer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgouveags%2Fcursor-installer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgouveags%2Fcursor-installer/lists"}