WhatsMine adds a set of custom artisan commands on top of Laravel's. Run them from the project root with php artisan {command}.
| Command | Purpose |
|---|
saas:install | Interactive first-run wizard — migrate, seed defaults, create the super-admin, seed plans, generate key. Options: --fresh (drop & recreate), --seed (add demo data). |
saas:make-module {Name} | Scaffold a new product module. |
| Command | Purpose |
|---|
billing:sync | Reconcile subscription statuses with the gateways. Options: --gateway=stripe, --dry-run. Runs hourly via the scheduler. |
billing:expire-trials | Mark expired trials as inactive. |
| Command | Purpose |
|---|
i18n:scan | Find translatable keys and create missing entries. |
i18n:seed-defaults | Seed the default locale and base translations. |
| Command | Purpose |
|---|
whatsapp:register-webhook | Register Meta webhook callbacks for connected WhatsApp accounts. |
messenger:profile-test | Test Messenger profile configuration. |
inbox:duplicate-report | Report duplicate inbox contacts (data quality). |
| Command | Purpose |
|---|
webpush:vapid | Generate VAPID keys for Web Push. |
notifications:trial-ending | Email users whose trial is ending soon. |
reports:weekly-digest | Send the weekly performance digest. |
| Command | Purpose |
|---|
db:backup | Dump the database (optionally upload to a disk: --disk=s3). |
These run automatically via the scheduler (one cron entry — see Deployment):
| Task | Frequency |
|---|
| Scheduler heartbeat | every minute |
| Launch scheduled campaigns | every minute |
| Dispatch scheduled social posts | every minute |
billing:sync | hourly |
billing:expire-trials | hourly |
| Sync WhatsApp templates | daily |
| Refresh social tokens | daily |
| Trial-ending emails | daily |
| Weekly digest | Mondays |
| Prune usage meters / webhook events | monthly / weekly |
php artisan migrate --force
php artisan queue:work
php artisan schedule:run
php artisan config:cache
php artisan optimize:clear
composer dev
composer test
composer lint
npm run dev
npm run build
➡️ Next: FAQ and Troubleshooting.