Skip to main content
Exo registers seven Artisan commands for managing resources, users, and Exo Cloud connectivity.

exo:resource

Scaffold a new resource class.
php artisan exo:resource [name] [--model=] [--triggers=]
Argument/OptionDescription
nameThe class name (e.g. OrderResource). Prompted if omitted.
--modelThe fully-qualified Eloquent model class (e.g. App\Models\Order)
--triggersComma-separated triggers: on_create,on_update,on_delete
Examples:
# Interactive mode
php artisan exo:resource

# Fully specified
php artisan exo:resource OrderResource --model="App\Models\Order" --triggers=on_create,on_update,on_delete
The file is created at the path defined by config('exo.resources_path') (default: app/Exo/Resources/).

exo:user

Create a new user with an optional Personal Access Token.
php artisan exo:user [--name=] [--email=] [--password=] [--no-token]
OptionDescription
--nameUser name (skips interactive prompt)
--emailUser email (skips interactive prompt)
--passwordUser password (skips interactive prompt)
--no-tokenSkip creating a Personal Access Token
Examples:
# Interactive mode
php artisan exo:user

# Non-interactive
php artisan exo:user --name="Jane Smith" --email="[email protected]" --password="secure-password"
The Personal Access Token is only displayed once. Copy and store it securely.
Your User model must use the Laravel\Passport\HasApiTokens trait for token creation to work. If you haven’t set up personal access tokens, run php artisan passport:install --personal first.

exo:login

Authenticate with Exo Cloud using OAuth.
php artisan exo:login
Opens your browser for PKCE authorization. After authorizing, credentials are stored encrypted at storage/app/.exo-credentials. If PKCE isn’t available, falls back to device code flow.

exo:logout

Remove stored Exo Cloud credentials.
php artisan exo:logout
Deletes the encrypted credentials file.

exo:whoami

Check your current Exo Cloud identity.
php artisan exo:whoami
Displays the name and email associated with your stored Exo Cloud credentials.

exo:schema

Generate a JSON schema describing your resources.
php artisan exo:schema
Creates an exo-schema.json file in your project root. The schema includes resource names, triggers, and field definitions inferred from your createRules.

exo:upload

Upload the generated schema to Exo Cloud.
php artisan exo:upload
Lists your Exo Cloud projects and uploads the schema to the one you select. If a ZAPIER_DEPLOY_KEY is configured, it’s included for Zapier deployments.
You must run exo:login before using exo:upload, and exo:schema to generate the schema file.