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

Navix Laravel Package

abolaradev/navix

Navix is a Laravel package for building and managing navigation menus in PHP, with a simple API for defining items, handling active states, and rendering customizable menus in Blade views.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs buy for navigation infrastructure: Navix replaces a custom menu builder that teams typically re-implement per project. A fluent, config-as-code definition (routes/navix.php) means nav changes ship through normal code review and deployment, not ad-hoc template edits.
  • Multi-surface navigation: Multiple named batches let one codebase drive header, footer, sidebar, and admin menus from a single source of truth — useful for multi-tenant or multi-brand products where each surface or tenant needs a distinct menu.
  • Permission- and role-driven menus: Because menus are defined in code alongside route and policy logic, you can conditionally compose items per user/role at definition time rather than scattering @if checks through Blade — a meaningful maintainability win for gated admin/portal experiences.
  • Nested information architecture: Groups support deep menu trees (e.g., settings hubs, admin consoles) without hand-rolled recursion in views.
  • Dynamic engagement signals: Icons, badges, and query parameters as first-class properties make it cheap to surface counts (unread items, pending approvals) consistently across the UI.
  • Discoverability in large navigations: Label search across nested items directly supports command-palette style navigation or a "jump to" feature — a differentiator for complex admin products.
  • Roadmap input: The feature set implies what it does not yet cover — active-state resolution, authorization-aware filtering, translations, and DB-backed editing. These are natural roadmap questions to raise with engineering before committing.

When to Consider This Package

Adopt when:

  • The product has more than one navigation surface or a non-trivial menu hierarchy that currently lives in Blade partials.
  • You need consistent, testable menu definitions shared across Blade, Livewire, and any custom/JSON-driven UI (the NavixCollection getters make headless consumption straightforward).
  • You want no database dependency for navigation — menus move with the code, reviewed like code, deployed like code.
  • Your team is already on Laravel + Blade/Livewire and values small, single-purpose dependencies over a full CMS.
  • You want a fast path to a working menu for a new admin/portal feature (the navix:install command gets you to a config file in one step).

Look elsewhere when:

  • Non-technical stakeholders must edit menus (marketing, content ops). This is a code-first package with no admin UI — a database-driven CMS (or Nova/Filament-backed menu resource) fits better.
  • You need localization/multi-language labels out of the box; translation support is not indicated in this release.
  • You require active-state/trail handling, breadcrumbs from the menu tree, or policy-aware filtering as shipped features — verify coverage or plan to build on top.
  • Navigation is static and small (five links, one header). The abstraction cost exceeds the benefit; a Blade partial is fine.
  • You have strict dependency governance and cannot take on a v1.0.0 package with a single maintainer for a core layout concern.

How to Pitch It (Stakeholders)

For executives: Navix is a small, low-risk Laravel library that standardizes how our navigation menus are defined. It lets us change menus — including role-gated and nested ones — through normal code review and deployment instead of one-off template edits, which shortens iteration time on admin and portal surfaces and reduces inconsistency between screens. It has no infrastructure cost and no database footprint.

For engineering: A lightweight, fluent menu builder with multiple batches, nested groups, configurable labels/icons/badges/URLs/query parameters, a navix() accessor, recursive label search, and a NavixCollection API with getters and existence checks. It integrates cleanly with Blade and Livewire, and installs via navix:install writing to routes/navix.php. Menus become testable, versioned config rather than view logic.

Risks and open questions to resolve before adoption:

  • Maturity: v1.0.0 initial release; single-maintainer and long-term support risk for a core layout concern. Mitigate with a thin internal wrapper so the package is swappable.
  • Feature gaps to confirm: active-state detection, authorization/permission filtering, localization of labels, caching of built menus, and whether menu definitions belong in routes/ (an unusual location) versus a dedicated config or service provider.
  • Scope discipline: treat this as a menu definition and retrieval layer — do not let it drift into a CMS replacement. If content teams need to own navigation, that is a separate, larger decision.
  • Recommendation: pilot on one admin or portal surface with a well-bounded menu tree, wrap the public API internally, and revisit the build-vs-buy call once the package's active-state, auth, and i18n story is clear.
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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console