jawira/skeleton
A collection of reusable Phing build targets for PHP projects. Install PHPUnit, generate .gitignore and other common files with simple commands like phing -f vendor/jawira/skeleton/build.xml phpunit, keeping your project setup consistent across repositories.
Release Delta (v2.33.0)
check targets (PR #175). Any existing build.xml, Composer script, or CI job that invokes the old target names will fail after upgrade. Shipped as a minor version bump (2.32.0 → 2.33.0), which is a semver hygiene red flag — consumers pinning ^2.33 would absorb a breaking rename silently.Architecture Fit
php artisan, composer.json scripts).migrate, test) and supports modern tooling like Laravel Forge, Envoyer, or Deployer for deployment. This package reinvents basic workflows (e.g., linting, Git operations) without adding Laravel-specific value.composer outdated --direct (and composer audit for security), both of which run natively with zero additional dependency surface.Integration Feasibility
composer require jawira/skeleton).analysis* → check*). For a team that wrapped Phing in Artisan commands or Composer scripts, this is a cross-repo find-and-replace with no deprecation shim.phpunit or gitignore could conflict with Laravel's built-in phpunit.xml or .gitignore templates, requiring manual overrides.Technical Risk
@jawira) is the sole author on both shipped PRs.^2.x) and treat every release as a potential breaking change requiring a validation pass.artisan test vs. phing phpunit) risks confusion and inconsistent behavior.Key Questions for TPM
analysis* targets? If yes, this is a same-sprint remediation item, not a backlog item."scripts": { "test": "phpunit" }), composer outdated, or Artisan commands achieve the same goals with zero dependency overhead?check targets verified against Laravel's PHPUnit and Composer configs?Stack Fit
build.xml for Phing-only tasks).Migration Path
phing phpunit → php artisan test, phing check → composer validate && composer audit).analysis* target references ahead of the v2.33.0 rename.composer require --dev jawira/skeleton).gitignore, phpunit, check) against Laravel's native tools to validate behavior..gitignore rules, PHPUnit config precedence).gitignore, composer:audit) as Composer scripts, invoked by their v2.33.0 check* names.Compatibility
phpunit.xml takes precedence.composer outdated behavior.analysis* → check* is not backward compatible. Treat v2.32.x and v2.33.x as different integration contracts.Sequencing
.gitignore, phpunit.xml, and composer.json scripts.jawira/skeleton to an exact version in composer.json."scripts": { "build:gitignore": "phing -f vendor/jawira/skeleton/build.xml gitignore" }).php artisan phing:gitignore) so future renames are absorbed in one place.Maintenance
Support
Scaling
Failure Modes
| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Renamed targets (v2.33.0) | Builds/CI jobs referencing analysis* fail immediately after upgrade. |
Pin exact version; grep for analysis targets; wrap Phing in Artisan/Composer indirection. |
| Phing version incompatibility | Builds fail silently or produce incorrect outputs. | Pin Phing version in composer.json and test upgrades. |
| Overlapping Laravel/Phing configs | .gitignore, phpunit.xml, or Composer scripts conflict. |
Use --force flags or custom merge logic in Phing targets. |
| Duplicate outdated-dependency check | Two sources of truth for dependency drift; noisy or contradictory reports. | Standardize on composer outdated; use Phing target only if it adds filtering. |
| Package abandonment | No updates for security vulnerabilities or new Laravel features. | Fork the repo and maintain internally; plan for migration to native tools. |
| CI/CD pipeline failures | Phing targets time out or fail in distributed environments. | Containerize Phing in CI (e.g., Docker) or replace with native CI steps. |
| Team resistance | Developers reject non-standard tooling, reducing adoption. | Frame Phing as a temporary scaffold with a clear migration path. |
Ramp-Up
check migration and version-pinning policy.How can I help you explore Laravel packages today?