Modular Filament Platform

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.

1

Generate Structure

Run the simplest artisan command to scaffold your entire addon structure instantly.

2

Register Resources

Define your Filament resources, pages, and widgets in the automatically generated service provider.

3

Build Logic

Add migrations, routes, and services. Twist handles the discovery and loading automatically.

terminal
# 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/
Built-in SaaS Support

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.
Read the Multi-Tenancy Guide
TenantContext.php
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.

Released under the MIT License. Copyright © 2025 Obelaw Twist