usamamuneerchaudhary/laravel-slipway
Laravel Slipway is a lightweight package that streamlines common Laravel workflows with simple configuration and an easy-to-use API. It is designed to fit into existing projects, helping teams move from setup to launch with less boilerplate and fewer manual steps.
Slipway is a Laravel Artisan-based CI pipeline generator and local-parity tool. Release 1.8 strengthens the value proposition for TPM-led standardization: local runs can now fail fast on dirty Git state and execute in a detached worktree (--clean), reducing false passes; Pest TIA support adds a path to shorter pull-request feedback loops; build-assets presets formalize npm, Vite, and Bun handling; and the sentry step automates source-map upload with a locked CLI. Architecturally, this fits Laravel teams that want opinionated, reproducible pipelines without hand-maintaining provider YAML, but it introduces a generated-artifact lifecycle that must be owned.
Architecture fit. Strong for Laravel/PHP applications using Artisan, Pest, and a Node build step. The package sits alongside existing Laravel conventions rather than replacing them. Local parity via Docker and ci-local.sh is a meaningful differentiator, especially with the new clean-worktree behavior.
Integration feasibility. Moderate. Adoption requires Docker locally, a supported CI provider, and Node toolchain availability. Pest TIA generation is GitHub-only in 1.8, so mixed-provider organizations will have partial coverage. The Sentry step depends on org/project/token configuration and must be sequenced after build-assets.
Technical risk. Generated workflows become repository-owned artifacts once committed. The 1.8 fixes around Bun cache keys, GitHub Bun path handling, and TIA writes indicate the tool is maturing but still provider-sensitive. Exact Bun version pinning and a locked @sentry/cli reduce supply-chain risk but add upgrade cadence. TIA baselines can go stale, and removing tia config does not delete an already committed baseline workflow.
Key questions.
--clean worktree runs, given secrets still come from the project .env?Stack fit. Best fit is a Laravel + Pest + Vite or npm + Sentry stack. Bun is viable but optional and must be pinned to an exact version; teams not already on Bun should treat it as a later optimization. The default npm preset keeps initial adoption simpler.
Migration path. Inventory existing CI jobs, then pilot Slipway on one representative repository. Start with local slipway:test-pipeline --clean to validate parity and catch dirty-tree issues before changing CI. Adopt the npm preset first, compare generated workflow behavior against the current pipeline, then add vite or bun only where the repository already uses them. Enable Pest TIA after the full suite is stable, since the pull-request command intentionally remains a full suite in 1.8.
Compatibility. Confirm Pest version compatibility for TIA before enabling it. Keep the Sentry step after build-assets in the same stage. Validate GitHub-hosted versus container job behavior for Bun, as 1.8 fixes path handling differently for each. Treat .github/workflows/tia-baseline.yml as a committed artifact with explicit ownership.
Sequencing. (1) Pilot local clean runs. (2) Generate and review a single-repo pipeline with the npm preset. (3) Add Vite/Bun and Sentry only after baseline parity. (4) Introduce TIA on GitHub with a documented baseline refresh process. (5) Standardize across repositories, with a regeneration checklist for package upgrades.
Maintenance. Committed workflows and TIA baselines require ongoing ownership. Removing tia configuration does not remove the baseline workflow, so offboarding needs an explicit cleanup step. Package upgrades may alter generated output; teams should expect periodic regeneration and diff review rather than a one-time setup.
Support. The tool reduces bespoke CI YAML but concentrates expertise in Slipway’s conventions. Support needs cover Docker, Node toolchain versions, Pest TIA semantics, and Sentry token/org/project configuration. A named CI owner and a short runbook are advisable.
Scaling. The value compounds across many Laravel repositories: standardized pipelines, local parity, and TIA can reduce PR test time and CI drift. Costs also scale per repository, especially TIA baseline maintenance and secret management. Bun and Sentry add leverage but also add moving parts.
Failure modes. Dirty-tree false passes are now mitigated by warning and --clean, but clean mode depends on Git worktree behavior and should be exercised in the pilot. Missing-lockfile checksum failures are fixed for Bun caches, but version pinning remains a failure vector. Stale TIA baselines can miss affected tests. Sentry upload failures can be caused by token, org, project, or release misconfiguration. Provider-specific behavior remains a risk given the GitHub and CircleCI fixes in this release.
Ramp-up. Moderate. TPMs should budget a pilot, documentation of generated artifacts, and training on clean local runs, TIA baseline ownership, and Sentry secret handling. The package is approachable for Laravel teams, but it is not a zero-ownership abstraction.
How can I help you explore Laravel packages today?