Obelaw Twist
Build scalable, multi-tenant Filament applications with a powerful addon architecture.
Why Obelaw Twist?
Everything you need to build modular, multi-tenant applications.
Addon Architecture
Create modular addons with their own migrations, routes, and resources that integrate seamlessly with Filament panels.
Multi-Tenancy
Built-in multi-tenant support with database isolation drivers for scalable SaaS applications.
Filament Integration
Deep integration with Filament admin panels including custom branding, middleware, and panel management.
Developer Tools
Powerful Artisan commands for addon management, migration handling, and tenant operations.
Customizable
Flexible configuration for branding, routing, database prefixes, and panel customization.
Plugin System
Extensible plugin architecture with hooks, dispatchers, and service providers.
Create Your First Addon
Use the Twist artisan command to generate a new addon structure. Each addon is a self-contained module with its own resources, migrations, and routes.
Generate Structure
Run the simplest artisan command to scaffold your entire addon structure instantly.
Register Resources
Define your Filament resources, pages, and widgets in the automatically generated service provider.
Build Logic
Add migrations, routes, and services. Twist handles the discovery and loading automatically.
# Create a new addon php artisan twist:make UserManagement # Output: ✓ Addon created successfully! Location: app/Addons/UserManagement # Structure generated: app/Addons/UserManagement/ ├── twist.php ├── Resources/ ├── Migrations/ ├── Routes/ └── Services/
Seamless Multi-Tenancy
Twist takes the pain out of multi-tenancy. Whether you need single-database data separation or complete database isolation per tenant, Obelaw Twist handles the complexity for you.
- Database Isolation: Automatically manage separate databases for each tenant.
- Context Awareness: Helper functions to easily access the current tenant context.
- Shared Resources: Define which resources are global versus tenant-specific.
use Obelaw\Twist\Facades\Tenant;
// Get current tenant
$tenant = Tenant::current();
// Check if tenancy is active
if (Tenant::check()) {
// Scoped to tenant database automatically
$users = User::all();
}
// Switch tenant context manually
Tenant::make($anotherTenant); # 1. Tenancy aware migration php artisan twist:migrate # 2. Publish plugin assets php artisan twist:publish # 3. List active addons php artisan twist:list
Detailed CLI Tools
Easily scaffold new addons, enable/disable them on the fly, and manage their registration state with simple commands.
Migration Handling
Twist handles the complexity of running migrations for modular addons, ensuring your database structure works seamlessly.
Tenancy Operations
Deploy updates to all your tenants with a single command. The system automatically handles connecting to each tenant's database.
Ready to Build?
Start building your modular Filament application today.