secondnetwork/kompass
Kompass is a Laravel package that adds an in-app REST client for testing your endpoints. Send requests, inspect responses, and debug APIs from a clean built-in UI, with a lightweight setup that keeps API work inside your Laravel app.
Architecture fit
Secondnetwork\Kompass\, auto-discovered KompassServiceProvider) rather than a standalone app. That is the right shape for an existing Laravel monolith: install via Composer, publish migrations and stubs/, and route content through Blade views namespaced kompass::.Page, Post, and Datafield are registered at boot. This is convenient but it is a package reaching into polymorphic resolution for the whole application — a collision risk if the host app or another package already defines relations on those morph aliases.pages, posts, and datafields with slug generation via Str::slug. That is a conventional, understandable model, but it is also a fixed one; anything beyond flat pages + posts (localization, multi-site, structured content types, versioning) needs to be assessed as a gap rather than assumed.Integration feasibility
composer install, php artisan migrate, publish stubs and assets, then bun install / npm run build into public/assets/build. The friction is that a headless CMS package requires a Node toolchain in your build and release pipeline — a real cost if backend deploys are currently PHP-only.public/assets/build. Confirm this does not collide with the host app's own Vite/asset manifest before committing; asset pipeline collisions are the most common cause of "works locally, broken in prod" with packages like this.#[Locked], #[Layout]) are used proactively. If Livewire 4 is not yet stable in your dependency graph, that is a hard blocker, not a soft one — it pins your framework upgrade cadence to a package's prerelease choices.Technical risk
tests/. For a CMS that owns content, routing, and slugs, the absence of a characterization suite is the single largest risk: you cannot distinguish an upstream regression from your own change during upgrades.boot hooks (create/update/delete). It is simple and correct for editorial traffic, but it implies write-coupled cache flushes and possible invalidation storms under bulk imports or programmatic content sync.Key questions
kompass:: prefix) and does it survive composer update?Stack fit
Migration path
kompass:: views, build assets in CI, ship.pages / posts / datafields, migrate media, and generate a slug-to-slug redirect map — Str::slug normalization will silently change URLs and break SEO if you don't.Compatibility
Sequencing
kompass:: view. Confirm Livewire 4 stability and asset output path.composer audit, npm audit, verify release provenance, and record the fork/maintenance decision.Maintenance
vendor/ avoidance (prefer upstream PRs or a maintained fork), and a documented procedure for applying upstream changes.composer update is an unverified change. The mitigation — your own smoke and characterization tests — must be built and owned from day one, not retrofitted.kompass:: view you override can be quietly bypassed when upstream renames or restructures templates. Diff published views on every upgrade.Support
Scaling
datafields and block relations should be indexed and monitored; no evidence of built-in query tuning for large content sets.Failure modes
public/assets/build conflicts with host build; broken admin CSS in production only.Ramp-up
How can I help you explore Laravel packages today?