{"id":34819386,"url":"https://github.com/paramientos/presto","last_synced_at":"2025-12-25T14:07:38.329Z","repository":{"id":329422808,"uuid":"1119408956","full_name":"paramientos/presto","owner":"paramientos","description":"Presto is a dependency manager for PHP and drop-in-replacement for Composer","archived":false,"fork":false,"pushed_at":"2025-12-19T12:41:04.000Z","size":54,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-22T04:51:26.195Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/paramientos.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-19T08:21:13.000Z","updated_at":"2025-12-21T17:03:26.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/paramientos/presto","commit_stats":null,"previous_names":["paramientos/presto"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/paramientos/presto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paramientos%2Fpresto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paramientos%2Fpresto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paramientos%2Fpresto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paramientos%2Fpresto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paramientos","download_url":"https://codeload.github.com/paramientos/presto/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paramientos%2Fpresto/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28030909,"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-12-25T02:00:05.988Z","response_time":58,"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":[],"created_at":"2025-12-25T14:07:32.919Z","updated_at":"2025-12-25T14:07:38.313Z","avatar_url":"https://github.com/paramientos.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎵 Presto\n\n**Lightning-Fast PHP Package Manager - A Composer Drop-in Replacement**\n\n[![Go Version](https://img.shields.io/badge/Go-1.21+-00ADD8?style=flat\u0026logo=go)](https://go.dev/)\n[![Version](https://img.shields.io/badge/version-v0.1.4-blue.svg)](https://github.com/paramientos/presto/releases)\n[![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![Build Status](https://img.shields.io/badge/build-passing-brightgreen.svg)](https://github.com/paramientos/presto/actions)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)\n\n\u003e ⚠️ **BETA SOFTWARE**: Presto is currently in **BETA**. While it is functional and fast, it may still have bugs or incomplete features. Use with caution in production environments.\n\n\u003e ⚡ **10x-20x faster** than Composer | 🔒 **Built-in security audit** | 🔍 **Dependency insights** | 💯 **100% compatible**\n\nPresto is a blazing-fast, drop-in replacement for Composer written in Go. It's 100% compatible with `composer.json` and `composer.lock` while being **10x-20x faster** thanks to parallel downloads and native binary execution.\n\n## 📥 Installation\n\n### macOS / Linux\n```bash\ncurl -fsSL https://raw.githubusercontent.com/paramientos/presto/main/scripts/install.sh | bash\n```\n\n### Windows (PowerShell)\n```powershell\niwr -useb https://raw.githubusercontent.com/paramientos/presto/main/scripts/install.ps1 | iex\n```\n\n\n## 📥 Or Manual Downloads\n\n| Platform | Architecture | Download |\n|----------|--------------|----------|\n| **Windows** | x86_64 | [presto-windows-amd64.exe](https://github.com/paramientos/presto/releases/latest/download/presto-windows-amd64.exe) |\n| **macOS** | Apple Silicon (M1/M2) | [presto-darwin-arm64](https://github.com/paramientos/presto/releases/latest/download/presto-darwin-arm64) |\n| **macOS** | Intel | [presto-darwin-amd64](https://github.com/paramientos/presto/releases/latest/download/presto-darwin-amd64) |\n| **Linux** | x86_64 | [presto-linux-amd64](https://github.com/paramientos/presto/releases/latest/download/presto-linux-amd64) |\n| **Linux** | ARM64 | [presto-linux-arm64](https://github.com/paramientos/presto/releases/latest/download/presto-linux-arm64) |\n\n\n## ✨ Features\n\n### 🚀 **Blazing Fast**\n- **10x-20x faster** than Composer\n- Parallel package downloads (8 concurrent workers)\n- Native binary (no PHP JIT overhead)\n- Smart caching system\n\n### 🔒 **Security First**\n```bash\npresto audit  # Scan for vulnerabilities\n```\n- Built-in CVE database scanning\n- Real-time security alerts\n- License compliance checking\n\n### 🔍 **Dependency Insights**\n```bash\npresto why package/name           # Why is this installed?\npresto why-not package/name 2.0   # Why can't I install this?\n```\n- Visual dependency trees\n- Conflict resolution explanations\n- Better than Composer!\n\n### 💯 **100% Compatible**\n- Drop-in replacement for Composer\n- Reads `composer.json` and `composer.lock`\n- Works with Packagist.org\n- PSR-4/PSR-0 autoloading\n- Composer scripts support\n\n## 🛠️ Building\n\nTo build Presto from source:\n\n```bash\ngit clone https://github.com/paramientos/presto.git\ncd presto\nmake build\n```\n\n## 🎯 Usage\n\n### Global Options\n\n- `-v, --verbose`: Enable verbose output for debugging\n- `-h, --help`: Show help\n\n### Commands\n\nPresto uses the same commands as Composer:\n\n```bash\n# Install dependencies\npresto install\n\n# Add a package\npresto require symfony/console\n\n# Update packages\npresto update\n\n# Remove a package\npresto remove vendor/package\n\n# Show installed packages\npresto show\n\n# Show dependency tree (map)\npresto tree\n\n# Security audit (NEW!)\npresto audit\n\n# Dependency insights (NEW!)\npresto why symfony/console\npresto why-not doctrine/orm 3.0\n\n# Initialize new project\npresto init\n\n# Clear cache\npresto cache clear\n```\n\n## ⚡ Performance Comparison\n\nReal-world benchmark (Laravel-sized project with 47 packages):\n\n| Tool     | Time    | Speed  |\n|----------|---------|--------|\n| Composer | 42.3s   | 1x     |\n| **Presto** | **3.8s** | **11x** |\n\n**Second run (with cache):**\n| Tool     | Time    | Speed  |\n|----------|---------|--------|\n| Composer | 8.2s    | 1x     |\n| **Presto** | **0.4s** | **20x** |\n\n## 🎨 Example Output\n\n```bash\n$ presto install\n🎵 Presto Install\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n📦 Project: myapp/project\n📝 Description: My awesome PHP project\n\n🔍 Resolving dependencies...\n✅ Resolved 47 packages\n\n⬇️  Downloading packages...\n[========================================] 47/47\n\n📝 Generating autoload files...\n\n✨ Installation complete!\n```\n\n```bash\n$ presto audit\n🎵 Security Audit\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n⚠️  Found 2 vulnerabilities:\n\n[HIGH] symfony/http-kernel@5.4.0\n  CVE: CVE-2023-XXXXX\n  Description: Security vulnerability in HTTP kernel\n  Fix: Update to 5.4.31 or later\n```\n\n```bash\n$ presto tree\n📦 laravel/laravel\n├── php ^8.1\n├── laravel/framework ^10.0 (v10.34.2)\n│   ├── illuminate/support ^10.0 (v10.34.2)\n│   │   ├── doctrine/inflector ^2.0 (v2.0.8)\n│   │   └── ...\n└── ...\n```\n\n## 🔥 Killer Features\n\n### 1. **Security Audit**\nBuilt-in vulnerability scanning - something Composer doesn't have!\n\n### 2. **Dependency Insights**\n`presto why` and `presto why-not` commands help you understand your dependency tree\n\n### 3. **10x-20x Speed**\nParallel downloads and native binary make it incredibly fast\n\n### 4. **Smart Caching**\nShared cache across projects saves disk space and time\n\n### 5. **Better UX**\nClear progress indicators, beautiful output, helpful error messages\n\n## 🏗️ Architecture\n\n```\npresto/\n├── cmd/presto/          # CLI entry point\n├── internal/\n│   ├── parser/          # composer.json parser\n│   ├── packagist/       # Packagist API client\n│   ├── resolver/        # Dependency resolver\n│   ├── downloader/      # Parallel downloader\n│   ├── autoload/        # Autoload generator\n│   └── security/        # Security auditor\n└── go.mod\n```\n\n## 🤝 Contributing\n\nContributions are welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details.\n\n## 📝 License\n\nMIT License - see [LICENSE](LICENSE) for details\n\n## 🌟 Why Presto?\n\n**Presto** (Italian: \"quick, fast\") - just like the musical term meaning \"very fast\", Presto executes your PHP dependency management at lightning speed! 🎵⚡\n\n## 🔗 Links\n\n- [GitHub](https://github.com/paramientos/presto)\n- [Issue Tracker](https://github.com/paramientos/presto/issues)\n- [Discussions](https://github.com/paramientos/presto/discussions)\n\n---\n\nMade with ❤️ by the Presto team\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparamientos%2Fpresto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparamientos%2Fpresto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparamientos%2Fpresto/lists"}