Extending SaasKitFy
SaasKitFy uses a modular architecture that lets you add features without modifying core files. Every custom feature lives in a dedicated set of extension points, keeping your code cleanly separated and upgrade-safe.
Extension Points
All customization happens through these files and directories:
config/custom.php— Register features, permissions, webhook events, and resource limitsroutes/custom.php— Add API routes (auto-loaded inside the auth middleware group)app/Http/Controllers/Custom/— Your feature controllersapp/Models/Custom/— Your Eloquent modelsfrontend/src/custom/routes.tsx— Register frontend page routesfrontend/src/custom/navItems.ts— Add sidebar navigation items
How It Works
When you register something in config/custom.php, it automatically appears throughout the admin panel:
- Features show up in Admin → Settings → Features (global toggle) and Admin → Plans (per-plan entitlement)
- Permissions show up in Admin → Org Roles → Edit Role
- Webhook events show up in the webhook configuration UI
- Resource limits show up in Admin → Plans → Resource Limits
No manual wiring required. Define it once, and the admin panel picks it up.
Typical Workflow
To add a new feature (e.g., "Tasks"), you would:
- Create a migration in
database/migrations/ - Add a model in
app/Models/Custom/ - Add a controller in
app/Http/Controllers/Custom/ - Register routes in
routes/custom.php - Register the feature, permissions, and webhook events in
config/custom.php - Add a frontend page and nav item
See the Example Module page for a complete walkthrough using the built-in Projects module.