Weave Code
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

Schemas Laravel Package

filament/schemas

Schema building tools for Filament: define, transform, and validate structured data for resources and forms with a simple, composable API. Lightweight package aimed at consistent schema definitions and reuse across your Filament app.

View on GitHub
Deep Wiki
Context7

filament/schemas is a lightweight package for defining and composing schemas used across Filament apps. It provides a clean, expressive way to describe structured data and reuse those definitions across forms, tables, resources, and other UI layers.

Use it to centralize field configuration, keep components consistent, and reduce duplication when building Filament-powered interfaces.

  • Define reusable schema objects for shared field sets
  • Compose schemas from smaller parts for cleaner, maintainable code
  • Keep UI configuration consistent across resources and pages
  • Integrates naturally with the Filament ecosystem
  • Encourages a single source of truth for structure and validation
Frequently asked questions about Schemas
How do I integrate filament/schemas into an existing Laravel Livewire project?
Install via Composer (`composer require filament/schemas`), then replace manual form/table rendering with `Schema::make()`. For example, swap a Blade form for `return $schema->schema([TextInput::make('name')->required()])` in your Livewire component. The package works alongside Livewire’s reactivity model without breaking existing logic.
Does filament/schemas work with Laravel 10 and Livewire 3?
Yes, filament/schemas is compatible with Laravel 10 and Livewire 3. Check the [GitHub repo](https://github.com/filamentphp/schemas) for the latest version requirements, as minor updates may align with newer Livewire releases. Always test in a staging environment before production deployment.
Can I customize the styling beyond Filament’s default Tailwind classes?
You can override Filament’s Tailwind-based styling by extending or replacing components. Use the `modify()` method on schema fields to add custom classes or leverage Filament’s component modifiers. For deeper changes, create custom views or extend the base component classes in your app’s resources.
What’s the performance impact of using schemas for complex forms?
Schemas add minimal overhead, but deeply nested or highly dynamic forms may impact Livewire’s reactivity. Test with realistic data volumes in staging. For performance-critical apps, consider lazy-loading schemas or simplifying complex logic. The package avoids frontend frameworks, so server-side rendering remains efficient.
How do I validate form inputs defined in filament/schemas?
Use Livewire’s built-in validation rules or Filament’s validation helpers. For example, `TextInput::make('email')->required()->email()` enforces validation server-side. You can also attach custom validation logic via the `rules()` method or leverage Laravel’s validator facade within your Livewire component.
Will filament/schemas work with Filament Admin Panel resources?
Yes, filament/schemas is designed to extend Filament’s capabilities. Use it to customize forms or tables in Filament resources by overriding the default schema in your resource class. For example, replace `Form::make()` with `Schema::make()` in your resource’s `form()` method for full control.
Are there alternatives to filament/schemas for Livewire UI in Laravel?
Alternatives include Laravel Nova (proprietary), Backpack for Laravel (monolithic), or building custom Livewire components with Blade. filament/schemas stands out for its declarative PHP approach and Filament UI integration, which reduces boilerplate compared to manual Livewire form handling.
How do I test filament/schemas in a Laravel application?
Test schemas by mocking Livewire components in PHPUnit. Use `Livewire::test()` to render components and assert schema output. For example, test a form schema by verifying rendered fields or validation errors. The package’s Blade integration means you can also test rendered HTML against expected markup.
Can I use filament/schemas without Filament Admin Panel?
Absolutely. filament/schemas works independently of Filament Admin. It’s a standalone package for Livewire that provides UI components (forms, tables) with Filament’s styling system. You can use it in any Laravel project with Livewire, even if you’re not using Filament’s admin panel.
What’s the maintenance roadmap for filament/schemas?
filament/schemas is actively maintained by the Filament team, with updates aligned to Livewire and Laravel releases. Monitor the [GitHub repo](https://github.com/filamentphp/schemas) for changelogs and breaking changes. The package’s young age means features may evolve, but its core design (PHP-driven UI) ensures long-term compatibility with Livewire.
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.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport