Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Dload Laravel Package

internal/dload

DLoad simplifies downloading and managing binary artifacts in PHP projects. Auto-install tools like RoadRunner or Temporal with version constraints, cross-platform support, and optional custom builds—keeping binaries out of VCS and onboarding fast.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Developer Onboarding & Environment Consistency: Automate the distribution of binaries (e.g., RoadRunner, Temporal, CLI tools) to eliminate "works on my machine" issues. Reduces friction for new team members by embedding tooling setup in the project itself.

  • Build vs. Buy Decision: Buy: Avoid reinventing binary distribution logic (e.g., GitHub API integration, version constraints, cross-platform support). Build: Customize the registry for internal tools or niche dependencies not covered by the package’s defaults.

  • CI/CD Pipeline Optimization: Integrate dload into post-install-cmd or CI workflows (e.g., GitLab CI) to ensure consistent tooling across environments. Reduces flaky tests caused by missing or mismatched binaries.

  • Roadmap for "DevOps as Code": Extend the package to support:

    • Dynamic registries: Fetch tool definitions from a remote API (e.g., internal artifact registry).
    • Dependency graphs: Visualize binary dependencies alongside PHP dependencies (e.g., "Project X requires RoadRunner v2025.1, which depends on Go 1.22").
    • Audit logs: Track which binaries were downloaded, by whom, and in which projects (compliance/security).
  • Multi-Platform Teams: Support Windows/macOS/Linux teams by centralizing binary management. Example: A frontend team using buf for Protobuf tools can standardize on a single version across OSes.

  • PHAR and Frontend Asset Distribution: Use type="phar" for PHP tools (e.g., Psalm, PHPStan) and type="archive" for frontend assets (e.g., Node.js dependencies, static files). Avoid bloating version control with large binaries.


When to Consider This Package

Adopt When:

  • Your project relies on external binaries (e.g., RoadRunner, Temporal, buf, dolt) that aren’t PHP packages.
  • You need cross-platform consistency (e.g., Windows/macOS/Linux teams using the same tool versions).
  • Onboarding is a pain point due to manual binary setup (e.g., "Run brew install rr" or "Download from GitHub").
  • You want to avoid pinning binaries in version control (e.g., .gitignore large .exe/.phar files).
  • Your CI/CD pipeline fails intermittently due to missing or outdated binaries.
  • You need to build custom RoadRunner binaries with specific plugins (e.g., Temporal, KV store).

Look Elsewhere When:

  • Your binaries are trivial to install (e.g., composer global require phpunit/phpunit).
  • You’re managing Python/Ruby/Java tools—this package is PHP-focused.
  • You need advanced dependency resolution (e.g., "Tool A requires Tool B ≥ v2.0").
  • Your team prefers manual setup (e.g., "We document the steps in a README").
  • You’re distributing proprietary binaries without public GitHub releases (requires custom registry support).
  • You need signed/verified downloads (e.g., GPG-verified binaries)—this package relies on GitHub’s API.

How to Pitch It (Stakeholders)

For Executives:

"DLoad eliminates 'works on my machine' for PHP projects by automating the setup of binaries like RoadRunner, Temporal, and CLI tools. Instead of team members manually downloading and configuring tools, the project itself handles it—reducing onboarding time by 80% and ensuring consistency across 100+ environments. It’s like Composer for binaries: just add a line to dload.xml, and the right tools are installed automatically, whether in dev, staging, or CI. This cuts support tickets about missing tools and accelerates feature development."

Key Outcomes:

  • Faster onboarding: New hires get a working environment in minutes.
  • Cost savings: No more "I broke my local setup" fire drills.
  • Scalability: Works for 5 devs or 500—binaries are managed centrally.
  • Compliance: Audit which tools are used in production (via dload show).

For Engineering:

**"DLoad is a drop-in solution for managing binaries in PHP projects. It’s like composer require but for executables:

  • Add a line to dload.xml to download RoadRunner, buf, or custom tools.
  • Cross-platform: Automatically picks the right binary for Linux/Windows/macOS.
  • Version constraints: Use Composer-style syntax (^2025.1.0, ~1.0.0@beta).
  • CI/CD ready: Hook into post-install-cmd or GitLab CI to ensure tools are always available.
  • Custom tools: Extend the registry for internal binaries or niche dependencies.

Why not roll our own?

  • GitHub API integration, version constraints, and cross-platform logic are already solved.
  • Supports PHAR files, archives, and even custom RoadRunner builds with Velox.
  • Actively maintained (last release: May 2026) with a clear roadmap.

Example workflow:

composer require internal/dload
./vendor/bin/dload init  # Interactive setup
./vendor/bin/dload get   # Downloads all configured tools

Now every git clone or CI job gets the same tooling—no more surprises."**

For Architects:

  • Security: Binaries are downloaded directly from GitHub (no local caching risks).
  • Performance: Caches downloads in ./runtime to avoid repeated fetches.
  • Extensibility: Add custom tools via XML or integrate with internal registries.
  • Debugging: ./vendor/bin/dload show lists installed tools and versions.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours