Automated maintenance system for the cursor-bin AUR package. This repository automatically monitors Cursor IDE releases and maintains the PKGBUILD for Arch Linux users.
This is not a manual installation guide for Cursor IDE. Instead, it's an automated system that:
- 🔍 Monitors Cursor IDE releases automatically via GitHub Actions
- 📦 Generates proper PKGBUILDs with correct versions, checksums, and dependencies
- 🚀 Publishes updates to the AUR automatically
- ✅ Validates all changes with comprehensive testing (25+ checks)
- 🔧 Maintains the package using modern .deb format (not AppImage)
If you just want to install Cursor IDE on Arch Linux, use your AUR helper:
# Using yay
yay -S cursor-bin
# Using paru
paru -S cursor-bin
# Using makepkg (manual)
git clone https://aur.archlinux.org/cursor-bin.git
cd cursor-bin
makepkg -si┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Cursor.com │───▶│ GitHub Actions │───▶│ AUR Package │
│ (releases) │ │ (this repo) │ │ (cursor-bin) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐
│ Validation │
│ (25+ checks) │
└──────────────────┘
| File | Purpose |
|---|---|
.github/workflows/update-aur.yml |
Automated GitHub Actions workflow |
PKGBUILD |
The actual package build script |
- 🕐 Scheduled Check: GitHub Actions runs daily (and on manual trigger)
- 🔍 Version Detection:
check.pycompares latest Cursor version with AUR - 📦 PKGBUILD Update:
update_pkgbuild.pygenerates new PKGBUILD with:- Correct version and commit hash
- Updated download URLs
- Recalculated SHA512 checksums
- Dynamic Electron version detection
- ✅ Validation: 25+ comprehensive checks ensure quality (development branch only)
- 🚀 AUR Publish: Automatic commit and push to AUR (main branch only)
Branch Behavior:
- Development: Runs steps 1-4, skips AUR publish for safe testing
- Main: Runs steps 1-3 + 5, skips validation for faster production updates
# For local testing (optional)
yay -S act-bin # GitHub Actions local runner# 1. Check for updates
python check.py
# 2. Apply updates (if needed)
python update_pkgbuild.py check_output.json
# 3. Validate the result
python validate_pkgbuild.py
# 4. Test locally
makepkg -s# Test the complete GitHub Actions workflow locally
python test_workflow.py --runThis simulates the entire automated process including:
- Version downgrade simulation
- Complete workflow execution in Docker
- Comprehensive validation
- Result reporting
main: Production branch - triggers actual AUR updates (no validation step)development: Testing branch - runs comprehensive validation + DEBUG mode (no AUR push)
Important: The 25+ validation checks only run automatically on the development branch. This ensures thorough testing before changes reach production.
The system performs 25+ comprehensive checks:
| Category | Checks |
|---|---|
| Format | Version format, pkgrel validation, commit hash format |
| Content | SHA512 checksums, electron version, source URLs |
| Functionality | Tool availability, URL accessibility, command syntax |
| Integration | Native titlebar fix, cursor.sh transformation |
| Advanced | Dynamic electron detection, actual file verification |
The system automatically detects the correct Electron version by:
- Extracting VSCode version from Cursor's
product.json - Downloading VSCode source tarball
- Parsing
package-lock.jsonfor Electron dependencies - Updating PKGBUILD with correct
electronXXpackage
Enable verbose logging for troubleshooting:
DEBUG=true python check.py
DEBUG=true python update_pkgbuild.py check_output.json- Package Issues: Report to AUR cursor-bin page
- Automation Issues: Create issues in this repository
- Fork this repository
- Create feature branch from
development - Test changes with
python test_workflow.py --run - Submit PR against
developmentbranch
To add validation checks, modify validate_pkgbuild.py:
# Add new check in validate_pkgbuild() function
results["checks"].append({
"check": "your_check_name",
"status": "pass" or "fail",
"message": "Description of what was checked"
})- GitHub Actions: Check workflow runs for automation status
- AUR Package: Monitor cursor-bin for updates
- Issues: Watch this repository for automation problems
Note: This repository maintains the AUR package automatically. End users should install cursor-bin directly from the AUR, not from this repository.