Weave 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

Dev Pack Laravel Package

irstea/dev-pack

irstea/dev-pack is a Laravel/PHP development package that bundles convenient tooling, helpers, and workflow utilities for local development. It aims to streamline common setup and debugging tasks so teams can keep projects lean and focused on building features.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. irstea/dev-pack is a Composer meta-package — a composer.json that pins other packages, with effectively no runtime code. There is no service provider dependency to fight, no facade, no database surface, no API contract. The coupling is entirely to your toolchain: adopting it means accepting the maintainer's chosen linter, static analyzer, test runner, and rule set at whatever versions they pin. For a TPM, that is a governance decision ("do we mandate one QA toolchain across the portfolio?") rather than an engineering one. It fits well if IRSTEA/INRAE runs several Laravel services that should share an identical quality gate; it fits poorly for polyglot or legacy estates where apps legitimately need divergent tool majors.

Integration feasibility. Technically trivial: register the gitlab.irstea.fr VCS repository, authenticate (personal access token locally, read-only deploy token in CI), and composer require --dev irstea/dev-pack. The friction is infrastructural, not technical — every developer laptop and every CI runner needs GitLab credentials before Composer will resolve the package. Without a private Packagist or Satis proxy, resolution hits Git directly, which is slower and more brittle than Packagist. Budget the credential distribution as the actual workstream; the install is a formality.

Technical risk. The metadata gives no external signal: zero stars, zero dependents, score 0, no Packagist presence, French-only description, no visible README. That is not disqualifying for an internal package — but it means the only evidence is the repo's composer.json itself. Concrete risks to size:

  • Pinning risk. If the pack pins PHPUnit ^9 and your apps are on 10, you are blocked, and the only remedy is an upstream change or a local fork.
  • Supply-chain / plugin risk. Dev dependencies still install code. If the pack declares Composer plugins or scripts, those run at install time; Composer 2.2+ allow-plugins will block them unless allowed — decide deliberately which side you want.
  • Contamination risk. It must be require-dev. A meta-package promoted to production require bloats the artifact and can break --no-dev builds.
  • Bus factor. Single internal repo, no stated owner, no release cadence.

Key questions for the maintainers. (1) What is the full contents of composer.json — exact package list and constraints? (2) Which PHP and Laravel versions are supported, and does that overlap our CI matrix? (3) Is it semver-tagged, or is dev-main the only ref? (4) Does it declare scripts, plugins, or config blocks, and does it ship rulesets (phpstan.neon, .php-cs-fixer.dist.php)? (5) Is there a private Packagist/Satis, or is direct VCS access the intended path? (6) Who owns it and what is the upgrade cadence for major bumps? (7) What is the exit path if it is abandoned?

Integration Approach

Stack fit. Best fit: a Laravel shop with multiple applications and a shared CI template, where uniformity of static analysis and code style is a stated goal. Acceptable: a single application already using the same tools. Poor fit: any service that needs to diverge from the bundled versions, or non-Laravel PHP services that would inherit irrelevant constraints.

Migration path.

  1. Inventory first. Compute the union and intersection of require-dev across your repos. If the pack is a superset, adoption is easy; if it conflicts, quantify the conflict before committing.
  2. Prove it in a sandbox. Create a throwaway composer.json with only the pack, install fresh, and read the resulting composer.lock and vendor/bin/. This resolves the actual tool versions in roughly ten minutes and is the single highest-value step.
  3. Pilot on one low-risk repository. Add the vcs repository and credentials, install, remove the now-redundant individual require-dev lines, and composer update --with-dependencies irstea/dev-pack on a branch.
  4. Diff the lock file deliberately. The interesting lines are the tool majors and anything that arrived transitively and unexpectedly.
  5. Run the full gate. PHPUnit, static analysis with a baseline comparison, CS-Fixer --dry-run, plus a production composer install --no-dev to confirm nothing leaks into the runtime set.
  6. Roll out, then codify. Once the pilot passes, bake the pack into the shared CI image/template so new repos inherit it by default rather than through tribal knowledge.

Compatibility. Check PHP constraint overlap with your oldest supported runtime, Laravel version support, allow-plugins behaviour, and decide a pinning policy. Pin to a tag or an explicit commit hash (#<sha>) — never dev-main — otherwise every composer update silently changes your quality gate.

Sequencing. Inventory → sandbox resolution → single-repo pilot → lock review and composer audit → documented standard → fleet rollout. Attempting fleet-wide adoption first is the classic mistake; the blast radius of a meta-package is every consumer simultaneously.

Operational Impact

Maintenance. Meta-packages age badly: the tools they pin release majors faster than internal repos are revisited. Expect six-to-twelve months of drift by default unless someone owns a quarterly bump. The effort is genuinely small — it is a constraint file — but the attention is the scarce resource. Assign a named owner and a calendar reminder, or assume decay.

Support. No external community to lean on: zero dependents means you are almost certainly the only consumers, and there is no upstream issue-tracker culture to inherit. Every question routes to the original author. Internal documentation must capture the credential setup (the most common onboarding blocker), the pinned ref, and the bundled tool list.

Scaling. Scaling is the point and the risk: one constraint change propagates the whole estate on the next composer update. Secondary scaling concerns are minor — Composer resolution against a private VCS is slower than Packagist, so ensure CI images cache the Composer cache directory and vendor layer.

Failure modes to design against.

  • Credential expiry. A rotated GitLab token or expired SSH key breaks every build in the fleet at once, including production hotfix builds. Use a long-lived read-only deploy token injected as a CI secret, and alert on auth failures as a distinct class.
  • Ref deletion or force-push. Pin to a commit SHA; that removes this failure mode entirely.
  • Runtime drift. The pack raises its own PHP floor; consumers on older runtimes fail at resolve time with a confusing conflict.
  • Constraint deadlock. The pack's pin on a tool can block a security patch elsewhere. Know how to fork locally — a two-line vcs change — before you need to.
  • Plugin/script surprise. allow-plugins blocks, or a post-install-cmd runs unexpectedly.
  • Accidental production install. A require entry instead of require-dev.

Ramp-up. Developer ramp-up is roughly an hour: add repo, add credentials, composer require --dev, remove duplicates. TPM-facing ramp-up is longer — credential distribution across laptops and CI runners, the pinning policy, the fork-and-patch procedure, and the decision of who owns the quarterly review. Budget the first day for the pilot and the first week for fleet consistency; treat the governance setup as the project and the install as the formality.

Recommendation. Adopt only after inspecting the composer.json and confirming that a named owner and an update cadence exist. Pin to a commit, add it to the CI template, and keep a documented fork path. Absent an owner, the pragmatic alternative is to copy the constraint set into your own template repository — the same standardization benefit without a dependency on an unmaintained private meta-package. Leverage for a TPM here is entirely in dev-experience standardization and onboarding parity; it carries no roadmap, customer, or competitive signal, so fund it as infrastructure hygiene, not as a product investment.

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.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core