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

Nova Settings Tool Laravel Package

bakerkretzmar/nova-settings-tool

A Laravel Nova tool for managing application settings directly from your Nova admin panel. Integrates with spatie/laravel-settings, letting you edit and organize multiple settings classes through a clean, configurable interface without writing custom screens. Quick to install and configure.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for an internal settings surface. If the roadmap calls for trusted internal staff — ops, support, admins — to tune runtime behavior (feature flags, notification thresholds, pricing rules, copy, integration endpoints) without a deploy, this package replaces a bespoke admin screen. License cost is zero (MIT); the real investment is the Nova license you already hold plus the product work of deciding which settings to expose and to whom.
  • Removing routine config edits from the engineering queue. The headline outcome: a permissioned screen where internal staff change values without a ticket or a deploy. It is measurable — track ticket volume for routine config edits and the count of config-only releases; both should fall after rollout.
  • Bounding blast radius by curating the configurable surface. Settings are declared in code as standard Nova fields, so what admins can touch is explicit, reviewable, and version-controlled rather than a free-form CMS. That is a deliberate product lever: you decide, domain by domain, which knobs are safe operational controls versus what stays hard-coded. You trade flexibility for control, and for internal admin tooling the control is the point.
  • Declaring ownership and access policy. Every settings group you expose creates an owner, a documented default, and a permission question. The package renders the screen and defers authorization to Nova's conventions, so "establish settings groups with per-group ownership and access policy" is a roadmap item you define — plan for that governance work explicitly rather than assuming the tool supplies it.
  • Fast path for internal tooling and early-stage product. Integration is composer install, tool registration, and defining settings classes. Because the package is a thin presentation layer over settings definitions engineering already reviews, a working screen ships in days, not a sprint — appropriate when internal tooling is a speed lever rather than a product differentiator.
  • Sequencing the Nova 4 → 5 platform upgrade. Release 2.1.0 is a single-change minor adding Laravel Nova 5 support, with no new feature surface and no breaking changes called out. If your admin panel depends on this tool, 2.1.0 is a prerequisite dependency on the Nova 5 track, not a standalone feature. Teams staying on Nova 4 gain nothing functionally and can defer it.

When to Consider This Package

Consider it when most or all of the following hold:

  • You already run Laravel Nova (4, or 5 as of 2.1.0). Without Nova the tool is worthless — and because it is a Nova tool, adoption deepens lock-in at exactly the moment you should be asking whether Nova remains the long-term admin surface. Treat this as a coupling decision, not a utility install.
  • The requirement is a small-to-moderate set of application-wide settings — flags, thresholds, copy, endpoints — not per-tenant or per-user configuration at scale.
  • The editing audience is trusted internal staff (ops, support, admins), not end customers.
  • You already use — or are willing to adopt separately — the underlying settings backend the package builds on, and you prefer typed settings classes plus the library's caching and helper access over a bespoke settings contract.
  • You accept community-only support — GitHub issues, no SLA, effectively a single maintainer — and can name an internal owner empowered to pin or fork when Nova releases.

Look elsewhere when:

  • You are not on Nova, or are evaluating a move off it. A Filament/Livewire admin panel or a dedicated configuration service is the alternative.
  • You need per-tenant or per-user settings, audit trails, approval workflows, staged rollouts, or change history. This is a lightweight editor, not a configuration management platform.
  • Settings would hold secrets or credentials. Web-editable values land wherever the chosen settings backend persists them; encryption, redaction, and file/database permission hygiene become your responsibility with a named owner. If API keys are in scope, a purpose-built secrets store is the better answer.
  • You expect concurrent edits or high write volume — the underlying store is not designed as a transactional, high-contention editor.
  • Settings editing would become a business-critical, on-call-supported workflow. Support is community-only and release cadence is gated by Nova's major-version cycle, so a lagging release can block a platform upgrade.
  • Your team is small enough that env vars plus a deploy remain an acceptable change path — the governance overhead may exceed the value.

One thing to verify before committing: confirm from composer.json on the 2.1.0 tag whether the Nova constraint widened to ^4.0|^5.0 or moved to ^5.0 only, and confirm which settings backend/persistence is officially supported and tested. If 2.1.0 is a hard Nova 5 floor, anyone mid-upgrade is pinned to 2.0.5, and that single check determines whether this is a no-op or a sequenced prerequisite. Also reconcile the persistence story internally — sources describe both file-backed storage and database-backed settings — because it changes the security and backup conversation.

How to Pitch It (Stakeholders)

To executives: We can give ops and support a safe, permissioned screen to change product behavior — flags, thresholds, copy, integration endpoints — without a deploy or an engineer. It is a thin UI inside the Nova admin panel we already pay for; settings are defined in code and reviewed like any other change, so we hard-cap what admins can touch rather than opening a free-form CMS. Licensing cost is zero (MIT). The strategic value is twofold: it pulls routine config work out of the engineering queue, and it makes the configurable surface explicit and auditable by design. State the caveats plainly: it is an internal convenience tool with community-only support and a single maintainer, so we should not build on-call-critical workflows or secret storage on top of it; access must be policed per settings group; and we should keep the settings definitions usable without the UI so the tool can be removed in one commit if a lagging release ever blocks a Nova upgrade. Measure success by the drop in routine config tickets and config-only deploys.

To engineering: Low-risk, narrow-scope dependency. Install via composer, register the tool in NovaServiceProvider::tools(), define settings as standard Nova fields grouped into pages, and read values anywhere in the app through the settings library. The package owns no schema of its own — it is a presentation layer over definitions we control, so there is no second source of truth. The realistic effort is in defining settings, defaults, groups, and policies, not in wiring the tool. Version 2.1.0 adds Nova 5 support with no breaking changes; it is a version bump that clears the path for the Nova 5 migration. Four things to settle before broad access: (1) confirm whether the Nova constraint is dual 4/5 or 5-only, and never upgrade Nova and the tool in the same change — a tool-registration exception can take down the whole admin panel; (2) add per-group Nova authorization so every Nova user isn't implicitly able to edit everything; (3) keep credentials out of settings, or record an explicit decision on encryption and access hygiene for wherever values persist; (4) add a write-then-read test per settings group to catch cache-invalidation staleness, which fails silently as production behavior drift. Keep the settings definitions usable without the UI so the tool stays removable in one commit.

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