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 limits
  • routes/custom.php — Add API routes (auto-loaded inside the auth middleware group)
  • app/Http/Controllers/Custom/ — Your feature controllers
  • app/Models/Custom/ — Your Eloquent models
  • frontend/src/custom/routes.tsx — Register frontend page routes
  • frontend/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.