WhatsMine Documentation
Home
  • What is WhatsMine?
  • Feature Tour
  • Requirements
  • Installation
  • Configuration (.env reference)
  • Going Live Checklist
Admin Guide
User Guide
Integrations
  • Architecture
  • REST API v1
  • Production Deployment
  • Frequently Asked Questions
  • Troubleshooting
  • Changelog
Home
  • What is WhatsMine?
  • Feature Tour
  • Requirements
  • Installation
  • Configuration (.env reference)
  • Going Live Checklist
Admin Guide
User Guide
Integrations
  • Architecture
  • REST API v1
  • Production Deployment
  • Frequently Asked Questions
  • Troubleshooting
  • Changelog
  • Developer Reference

    • Architecture
    • Module System
    • REST API v1
    • Outbound Webhooks
    • Theming
    • Internationalisation (i18n)
    • Artisan Commands

Artisan Commands

WhatsMine adds a set of custom artisan commands on top of Laravel's. Run them from the project root with php artisan {command}.

Setup & installation

CommandPurpose
saas:installInteractive 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.

Billing

CommandPurpose
billing:syncReconcile subscription statuses with the gateways. Options: --gateway=stripe, --dry-run. Runs hourly via the scheduler.
billing:expire-trialsMark expired trials as inactive.

Internationalisation

CommandPurpose
i18n:scanFind translatable keys and create missing entries.
i18n:seed-defaultsSeed the default locale and base translations.

Channels & messaging

CommandPurpose
whatsapp:register-webhookRegister Meta webhook callbacks for connected WhatsApp accounts.
messenger:profile-testTest Messenger profile configuration.
inbox:duplicate-reportReport duplicate inbox contacts (data quality).

Notifications

CommandPurpose
webpush:vapidGenerate VAPID keys for Web Push.
notifications:trial-endingEmail users whose trial is ending soon.
reports:weekly-digestSend the weekly performance digest.

Maintenance

CommandPurpose
db:backupDump the database (optionally upload to a disk: --disk=s3).

Scheduled tasks

These run automatically via the scheduler (one cron entry — see Deployment):

TaskFrequency
Scheduler heartbeatevery minute
Launch scheduled campaignsevery minute
Dispatch scheduled social postsevery minute
billing:synchourly
billing:expire-trialshourly
Sync WhatsApp templatesdaily
Refresh social tokensdaily
Trial-ending emailsdaily
Weekly digestMondays
Prune usage meters / webhook eventsmonthly / weekly

Standard Laravel commands you'll use

php artisan migrate --force        # run migrations
php artisan queue:work             # process background jobs
php artisan schedule:run           # run due scheduled tasks (called by cron)
php artisan config:cache           # cache config (production)
php artisan optimize:clear         # clear all caches

Development helpers

composer dev    # run server + queue + logs + Vite together (local)
composer test   # run the test suite
composer lint   # check code style (Pint)
npm run dev     # Vite dev server
npm run build   # build production assets

➡️ Next: FAQ and Troubleshooting.

Last Updated: 6/19/26, 4:34 PM
Prev
Internationalisation (i18n)