Download the PHP package lyre/filament-admin without Composer

On this page you can find all versions of the php package lyre/filament-admin. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package filament-admin

Lyre Filament Admin

A runtime, metadata-driven Filament v5 admin engine for the Lyre ecosystem.

Instead of hand-writing a Filament Resource per Eloquent model, this package discovers your models at boot, inspects their schema and Lyre metadata, and generates real Filament Resources, Pages, and Relation Managers entirely at runtime. No PHP file per model. No make:filament-resource ceremony. New model → new admin page on the next request.


What you get


Requirements

Package Version
PHP ^8.3
Laravel ^10 \|\| ^11 \|\| ^12 \|\| ^13
Filament ^5.0
Lyre ^2.0

Installation

1. Install Filament and the package

If you intend to use roles/permissions, also install Shield:

2. Run the one-shot bootstrap

This command:

Flags:

Flag Effect
--brand="Your Brand" Brand name written into the panel provider.
--with-shield Wires FilamentShieldPlugin::make() into the panel.
--force Overwrites an existing AdminPanelProvider.php without a backup.
--skip-cache-rebuild Skips clearing the Filament component cache.

3. Visit /admin

That's it. Every Eloquent model in your configured paths is now an admin resource.


How the engine works

  1. Discover — ModelDiscoverer scans config('lyre.path.model') (override via discovery.namespaces), drops anything matching discovery.exclude, and dedupes against (a) hand-written resources in coexist.handwritten_namespaces and (b) any resource the panel has already registered.
  2. Resolve metadata — ModelMetadataResolver builds a ModelMetadata value object (columns, casts, fillable, relationships, Lyre config). Forever-cached, keyed by sha1(model) + schema fingerprint.
  3. Materialize runtime classes — RuntimeClassFactory writes one ~6-line PHP file per resource family (Resource, ListPage, CreatePage, EditPage, ViewPage + relation managers) into storage/framework/lyre-admin/. Stable hash → stable FQCN → stable Livewire component ID → safe across requests.
  4. Register with Filament — LyreFilamentAdminPlugin::register(Panel $panel) calls $panel->resources([...generated FQCNs]) before Filament queues Livewire components.
  5. Render — BaseDynamicResource delegates to DynamicTableBuilder, DynamicFormBuilder, DynamicInfolistBuilder, DynamicFilterBuilder, all driven from ModelMetadata.

Field type inference

Source Maps to
Primary key (id) hidden, toggleable, sortable TextColumn
*_id foreign key BelongsTo → Select::relationship() (form) / TextColumn::make('relation.display') (table)
boolean / cast boolean Toggle / IconColumn::boolean()
date DatePicker / TextColumn::date()
datetime / timestamp DateTimePicker / TextColumn::dateTime()
text / longtext Textarea / wrapped TextColumn
json / jsonb JSON Textarea / formatted TextColumn
integer / bigint / decimal numeric TextInput / numeric TextColumn
email (by name) email TextInput / copyable TextColumn::icon('envelope')
password (by name) hashed password TextInput / hidden in tables
url, *_url, website, link url TextInput / linked TextColumn::openUrlInNewTab()
enum cast options Select / TextColumn::badge()
uuid copyable TextColumn, hidden by default
Timestamps & deleted_at hidden, toggleable, sortable
Soft-delete model TrashedFilter, RestoreBulkAction, ForceDeleteBulkAction

Authorization

AuthorizationPipeline checks every can*() call on a dynamic resource in this order:

  1. Laravel policy — if Gate::getPolicyFor($model) returns a policy, defer to Gate::check().
  2. Filament Shield — when config('lyre.filament-shield') is true and Shield exposes a permission for the model, defer to auth()->user()->can($permission).
  3. Config fallback — config('lyre-filament-admin.authorization.fallback'):
    • deny (default — safest)
    • allow
    • allow_for_super_admin (checks the configured super-admin role)

No permissions are auto-generated in V1.


Configuration (config/lyre-filament-admin.php)


Artisan commands

Command Purpose
lyre-admin:install One-shot bootstrap: config + provider + dirs + caches.
lyre-admin:doctor Sanity check: runtime dir writable, cache freshness, Shield wiring, model counts.
lyre-admin:list Print every model and whether it gets a dynamic resource or is skipped.
lyre-admin:show {model} Dump the resolved ModelMetadata for a model.
lyre-admin:metadata:cache Warm the metadata cache for every discovered model.
lyre-admin:metadata:clear Flush the metadata cache (run after schema changes).
lyre-admin:rebuild-filament-cache Replacement for php artisan filament:optimize that bakes runtime resources in.

Coexisting with hand-written resources

A model is skipped (and you keep your hand-crafted Filament Resource) if:

That means you can adopt the engine incrementally: start with everything dynamic, then write a hand-rolled PostResource when you need custom behaviour. The engine will pick it up and step aside on the next request.


Filament cache (filament:optimize)

php artisan filament:optimize writes a cached components map. If it runs before dynamic resources are materialized, Filament will restore the stale cache on every request and silently drop the dynamic resources.

The plugin detects this and throws with a fix:

Filament's component cache is stale. Run php artisan lyre-admin:rebuild-filament-cache or php artisan filament:clear-cached-components.

In deployments, use lyre-admin:rebuild-filament-cache instead of (or right after) filament:optimize — it clears the cache, lets the plugin re-materialize, then re-bakes the cache with the runtime FQCNs included.


Uninstalling / starting fresh

The full reset flow that gets you back to a clean state:


Testing

The package ships with Testbench-based PHPUnit tests:


License

MIT


All versions of filament-admin with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
filament/filament Version ^5.0
laravel/framework Version ^10.0 || ^11.0 || ^12.0 || ^13.0
lyre/lyre Version ^2.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package lyre/filament-admin contains the following files

Loading the files please wait ...