sala/framework
Sala Framework is a Laravel/PHP package that offers a structured foundation for application development, with reusable conventions and Laravel-friendly integrations to help streamline building and maintaining web projects.
Architecture fit
The package is a Laravel/PHP framework distributed via Composer, now with an npm-distributed companion (@salasolucoes/mcp) that implies a Model Context Protocol server for developer/AI tooling integration. The v1.2.0 change extracts sala/console and @salasolucoes/mcp out of the monorepo and consumes both from registries instead of local file:../mcp and mcp/sala paths. Architecturally this is the right direction: it replaces path-based coupling with versioned contracts and gives each artifact an independent release cadence. The cost is that the framework now has two external runtime-adjacent dependencies rather than zero.
Integration feasibility
Entry point is composer create-project sala/framework. Feasibility is gated almost entirely on the rename being resolvable for existing consumers. The release notes rename the Composer package (salaab/framework → sala/framework) and the repository (abraaosala/tchiowa → salasolucoes/framework), but say nothing about a migration affordance: no mention of a replace declaration, a metapackage, a Packagist abandonment flag, or a redirect package. GitHub redirects renamed repositories; Composer and Packagist do not redirect renamed packages. Any downstream composer.json pinned to salaab/framework or abraaosala/tchiowa will fail to resolve after this release, not degrade gracefully.
Technical risk
v1.2.0. Consumers on ^1.0 either never see it or, if they force-update, get an unresolvable dependency name.composer.json/package.json identifiers only. If the PSR-4 namespace also moved (Salaab\ → Sala\), every use statement and published config reference in downstream code breaks; if it did not move, the rename is cosmetic and the two names will coexist confusingly. This is the single largest unknown.sala/framework and sala/console are extremely generic vendor names on Packagist. Ownership of the sala vendor and the @salasolucoes npm scope is unverified, and generic names raise a real typosquat/supply-chain exposure.findProjectRoot() plus a SALA_PROJECT_ROOT override, mirroring bin/console, is a filesystem-walking heuristic in two places. Duplicate implementations drift, and monorepos, nested projects, vendor/ trees, CI checkouts, and container mounts are the classic failure cases for exactly this pattern.file: links means cross-package changes now require publishing or manual path repository linkage — a real friction increase for anyone working on console/MCP and framework together.docs/packages.md under .gitignore: /docs/* + !/docs/packages.md means every future doc requires a .gitignore edit or it is silently untracked. The README is deliberately no longer authoritative.Key questions
salaab/framework and abraaosala/tchiowa — deprecation notice, replace, metapackage, or nothing?sala vendor namespace and @salasolucoes npm scope under the team's control today, and are they defensively registered?@salasolucoes/mcp optional for runtime, or required by the framework?Confidence: low-to-moderate. This assessment is derived solely from the v1.2.0 release notes; no dependency inventory, CI configuration, Packagist metadata, or prior assessment was supplied. Several risks above are "unverified" rather than "confirmed absent."
Stack fit
PHP 8.x / Laravel on Composer is the primary surface; Node/npm enters the picture only through @salasolucoes/mcp. Teams that currently run a PHP-only CI pipeline acquire a second toolchain. Before committing, confirm whether MCP is a developer-tooling convenience or a runtime requirement — that single answer determines whether Node belongs in production images.
Migration path Treat this as a rename-plus-extraction migration, not a patch upgrade. A practical sequence per consuming application:
composer.lock and the resolved salaab/framework version.sala/console against what the app currently references.composer.json requires and any package.json references to the new names.composer create-project sala/framework in a scratch app as the reference baseline.If a replace-style shim is published later, steps 3–4 collapse into a single advisory bump. Without one, every consumer performs a manual edit.
Compatibility
Sequencing
composer create-project sala/framework; diff its public surface against the last salaab/framework release.SALA_PROJECT_ROOT pinned explicitly to remove heuristic variability.docs/packages.md) until the .gitignore exception pattern is proven — it is a discoverability change with no functional upside during the migration window.Maintenance
Release surface grows from one artifact to three (sala/framework, sala/console ^1.0, @salasolucoes/mcp ^1.0.0) that must be kept in lockstep. The caret constraints are loose, which invites silent drift: framework can pull a console minor that changes CLI behavior with no framework release. Publish an explicit compatibility matrix and consider tightening to a tested range. Docs maintenance also gets harder — the ecosystem map is now outside the README, so it will be read less and stale faster.
Support Expect an immediate volume of "package not found" and "class not found" reports keyed to the rename. Mitigate with a single migration FAQ, a prominent deprecation banner on the old README, and error text that names the new package. Support triage now spans three repositories; designate one issue tracker as the entry point or reports will fragment.
Scaling
Registry-based consumption scales better than file: paths — no assumptions about sibling directory layout, which is what previously constrained CI and containerized builds. The MCP server introduces a per-developer and per-CI process; confirm its idle resource profile and whether it can be skipped entirely in build pipelines.
Failure modes
composer require salaab/framework fails post-rename with an opaque resolver error.findProjectRoot() misidentifies the root in a monorepo or CI checkout; MCP silently reads the wrong tree rather than failing loudly.SALA_PROJECT_ROOT unset in a container triggers a fallback filesystem scan that is slow or wrong.bin/console) diverge, producing inconsistent behavior across tooling.docs/ and is silently dropped by the ignore rule.sala/* package is installed by a mistyped requirement.Each of these is cheap to detect with a smoke test and expensive to diagnose from a user report — add root-resolution and install-path assertions to CI.
Ramp-up
Low for the Laravel surface: composer create-project sala/framework is a familiar motion for any Laravel developer. Medium for MCP: onboarding docs must cover SALA_PROJECT_ROOT, the precedence order against findProjectRoot(), and per-editor integration. Budget roughly half a day per engineer for the first integration and near-zero thereafter, assuming the migration note is accurate. If the PHP namespace did change, multiply the first number.
How can I help you explore Laravel packages today?