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
App Settings

App Settings Laravel Package

cwsps154/app-settings

Filament App Settings lets you build a customizable settings panel with all Filament form components, add custom tabs via an artisan command, and control page and tab access with simple plugin methods. Includes install command and publishable config.

View on GitHub
Deep Wiki
Context7

Package for saving app settings

Frequently asked questions about App Settings
How do I install cwsps154/app-settings in a Laravel Filament app?
Run composer require cwsps154/app-settings, then run php artisan app-settings:install to publish the config and migrations. Register the plugin in your Filament PanelProvider by adding AppSettingsPlugin::make() to the panel's plugins array, then run php artisan filament:assets and publish the config with php artisan vendor:publish --tag=app-settings-config. Because the README shows an inconsistent namespace, confirm the real PSR-4 class path after installing before you write integration code.
Does cwsps154/app-settings work in a Laravel app that does not use Filament?
No. This is a Filament admin-panel plugin: it renders a settings page from Filament form schema components and is registered through a PanelProvider, so it is not usable in headless, API-only, or non-Filament Laravel applications. The values are persisted through an Eloquent model, but the editing UI and access control are entirely Filament-bound. If you need settings without Filament, use a config-based approach or a package like spatie/laravel-settings instead.
Which Laravel and Filament versions does cwsps154/app-settings support?
The README excerpt does not state Composer constraints for Laravel or Filament majors, so check the package's composer.json before committing. Because the plugin is a single-maintainer project, a Filament major bump could break it with no quick fix, so pin an exact version in your composer.json. Validate compatibility against your app's current Laravel and Filament minor versions and test one upgrade cycle before going to production.
Why does the README import CWSPS154\UsersRolesPermissions\AppSettingsPlugin when the package is cwsps154/app-settings?
That import looks like copy-paste from the author's companion users-roles-permissions package, and it is a real documentation inconsistency you must resolve. The model referenced elsewhere in the README is CWSPS154\AppSettings\Models\AppSettings, which suggests the plugin class likely lives under a CWSPS154\AppSettings namespace. After composer require, inspect the vendor directory or run composer dumpautoload and verify the actual autoload mapping before wiring the plugin into your PanelProvider.
How do I restrict who can access the settings page and its tabs?
Use the plugin's canAccess() method to control view and edit access to the whole page, and canAccessAppSectionTab() to restrict individual tabs; both accept closures evaluated at runtime. Confirm the default behavior when no closure is supplied, because a misconfigured settings page can expose application configuration to non-admins. If you are not already using cwsps154/users-roles-permissions, prefer Laravel gates, policies, or Filament Shield rather than adding that dependency just for access control.
How do I add a custom tab to the Filament App Settings page?
Run php artisan make:app-settings-tab, which generates a class inside app/Filament/Settings/Forms; the class exposes a getTab() method returning a Filament Tab. If the new tab does not appear automatically, run composer dumpautoload to refresh class discovery. You can also use appAdditionalField() to append extra sections to the default app tab that ships with the plugin.
Where does cwsps154/app-settings store values, and can I cache them?
Settings are persisted through an Eloquent AppSettings model in a table the package owns via its published migrations. The README excerpt does not document the table schema, column types, or any caching layer, so inspect the migration after install. For read-heavy access, wrap reads in your own cached repository instead of calling the model directly from business code, and confirm the migration is reversible and does not collide with existing tables.
Is cwsps154/users-roles-permissions required to use cwsps154/app-settings?
No, the base installation only requires cwsps154/app-settings; the users-roles-permissions examples in the README are an optional integration for gate-based access checks. That package is a separate, low-traction dependency you should vet independently before adding it to your stack. Unless it is already part of your application, implement access control with Laravel gates or existing policies instead.
Is cwsps154/app-settings safe to use in production?
Treat it as unproven: it has a single maintainer, around nine stars, zero dependents, and no visible test suite or CI in the maturity signals. There are no reference implementations or community-reported failure modes to lean on. Prototype in a branch at a pinned exact version, run the install command against a scratch database, verify the namespace and migration behavior, and hide the package behind an internal settings interface so it can be swapped out if maintenance stalls.
What are good alternatives to cwsps154/app-settings for Laravel settings?
If you need typed, cached, versioned settings beyond an admin form, spatie/laravel-settings is the more established choice, and plain config files or an in-house Filament page are viable for simple cases. The practical hedge is to define your own SettingsRepository interface with read-through caching so the backing implementation can change without touching call sites. That approach also lets you keep the Filament page purely as an editing UI while services, workers, and API layers read typed values.
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.
steadrun/laravel-monitor
labyrinthe/connect-laravel
elmogy/layan
drewdan/sentinel-client
dskripchenko/laravel-llm
fatryst/nuonuo
stevenay/myanfont
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc
animalyoung/laravel-influxdb
onix-solutions/sms-telera
lonely-lights/prosetta
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin