API Reference
Complete command reference for WPZylos CLI Devtool.
Global Options
All generator commands support these options:
| Option | Description |
|---|---|
--path | Plugin root path (auto-detected from working dir) |
--namespace | Root namespace (auto-detected from .plugin-config) |
--force | Overwrite existing file |
--dry-run | Preview generated code without creating file |
--help | Display help for the command |
--quiet | Suppress output |
--verbose | Increase verbosity |
Foundation Commands
make:provider
Generate a service provider class.
vendor/bin/wpzylos make:provider AppServiceProvider
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Provider class name |
make:job
Generate a queued job class.
vendor/bin/wpzylos make:job ProcessPayment
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Job class name |
make:service
Generate a service class.
vendor/bin/wpzylos make:service PaymentService
vendor/bin/wpzylos make:service Billing/InvoiceService
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Service class name |
make:trait
Generate a PHP trait.
vendor/bin/wpzylos make:trait HasSlug
vendor/bin/wpzylos make:trait Concerns/Cacheable
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Trait name |
make:enum
Generate a PHP 8.1 enum (string-backed, int-backed, or plain).
vendor/bin/wpzylos make:enum Status
vendor/bin/wpzylos make:enum Priority --int
vendor/bin/wpzylos make:enum Color --plain
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Enum name |
--int | flag | No | Create an int-backed enum |
--plain | flag | No | Create a plain (unit) enum |
make:exception
Generate a custom exception class extending RuntimeException.
vendor/bin/wpzylos make:exception PaymentFailedException
vendor/bin/wpzylos make:exception Api/RateLimitException --render
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Exception class name |
--render | flag | No | Add render() for HTTP responses |
make:interface
Generate a PHP interface.
vendor/bin/wpzylos make:interface PaymentGateway
vendor/bin/wpzylos make:interface Contracts/Searchable
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Interface name |
Console Commands
make:command
Generate a custom CLI command extending Symfony Console.
vendor/bin/wpzylos make:command PurgeCache
vendor/bin/wpzylos make:command Billing/SyncSubscriptions
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Command class name |
make:cron
Generate a WordPress cron/scheduled task handler.
vendor/bin/wpzylos make:cron CleanupExpiredTokens
vendor/bin/wpzylos make:cron SyncInventory --recurrence=hourly
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Cron handler class name |
--recurrence | string | No | Interval: hourly, twicedaily, daily, weekly |
WordPress APIs: wp_schedule_event(), wp_unschedule_event(), wp_next_scheduled()
HTTP Commands
make:controller
Generate a controller class.
vendor/bin/wpzylos make:controller ProductController
vendor/bin/wpzylos make:controller ProductController --resource
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Controller name |
--resource | flag | No | Include CRUD methods |
make:middleware
Generate an HTTP middleware class.
vendor/bin/wpzylos make:middleware AuthMiddleware
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Middleware class name |
make:request
Generate a FormRequest validation class.
vendor/bin/wpzylos make:request StoreProductRequest
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Request class name |
make:rest
Generate a WordPress REST API controller with full CRUD endpoints.
vendor/bin/wpzylos make:rest ProductController
vendor/bin/wpzylos make:rest OrderController --route=orders
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | REST controller class name |
--route | string | No | REST route path (defaults to slug) |
Generated Methods: index(), show(), store(), update(), destroy(), permissions()
WordPress APIs: register_rest_route(), WP_REST_Server, WP_REST_Response
make:ajax
Generate a WordPress AJAX handler with nonce verification.
vendor/bin/wpzylos make:ajax LoadMorePosts
vendor/bin/wpzylos make:ajax SearchProducts --public
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | AJAX handler class name |
--public | flag | No | Allow non-logged-in users |
WordPress APIs: wp_ajax_, wp_ajax_nopriv_, check_ajax_referer(), wp_send_json_success()
make:resource
Generate an API resource transformer for JSON serialization.
vendor/bin/wpzylos make:resource UserResource
vendor/bin/wpzylos make:resource Api/OrderResource
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Resource class name |
Generated Methods: toArray(), toJson(), collection()
Database & Model Commands
make:migration
Generate a database migration file.
vendor/bin/wpzylos make:migration create_products_table --create=products
vendor/bin/wpzylos make:migration add_status_to_orders --table=orders
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Migration name (snake_case) |
--create | string | No | Table to create |
--table | string | No | Table to modify |
make:model
Generate a model class.
vendor/bin/wpzylos make:model Product
vendor/bin/wpzylos make:model Order --migration
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Model class name |
make:seeder
Generate a database seeder class.
vendor/bin/wpzylos make:seeder ProductSeeder
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Seeder class name |
make:factory
Generate a model factory for test data generation.
vendor/bin/wpzylos make:factory UserFactory
vendor/bin/wpzylos make:factory OrderFactory --model=Order
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Factory class name |
--model | string | No | Model class (auto-detected) |
Generated Methods: definition(), make(), makeMany(), create()
make:observer
Generate a model lifecycle observer.
vendor/bin/wpzylos make:observer UserObserver
vendor/bin/wpzylos make:observer OrderObserver --model=Order
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Observer class name |
--model | string | No | Model to observe (auto-detect) |
Generated Methods: creating(), created(), updating(), updated(), deleting(), deleted()
make:scope
Generate a reusable query scope.
vendor/bin/wpzylos make:scope ActiveScope
vendor/bin/wpzylos make:scope Scopes/PublishedScope
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Scope class name |
Generated Methods: apply(), scope() (static convenience)
make:cast
Generate a custom attribute cast with get/set accessors.
vendor/bin/wpzylos make:cast JsonCast
vendor/bin/wpzylos make:cast Casts/MoneyCast
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Cast class name |
Generated Methods: get(), set()
Event Commands
make:event
Generate an event class.
vendor/bin/wpzylos make:event OrderPlaced
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Event class name |
make:listener
Generate an event listener class.
vendor/bin/wpzylos make:listener SendOrderNotification
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Listener class name |
make:subscriber
Generate an event subscriber class.
vendor/bin/wpzylos make:subscriber OrderSubscriber
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Subscriber class name |
Mail & Notification Commands
make:mail
Generate a mailable notification class using wp_mail.
vendor/bin/wpzylos make:mail WelcomeEmail
vendor/bin/wpzylos make:mail Orders/OrderConfirmation
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Mail class name |
Generated Methods: subject(), build(), content(), send()
WordPress API: wp_mail()
make:notification
Generate a multi-channel notification (email + admin notice).
vendor/bin/wpzylos make:notification OrderShipped
vendor/bin/wpzylos make:notification Notifications/InvoicePaid
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Notification class name |
Generated Methods: via(), toMail(), toAdminNotice(), send()
WordPress APIs: wp_mail(), admin_notices hook
Validation & Authorization Commands
make:rule
Generate a custom validation rule class. Requires wpzylos-validation package.
vendor/bin/wpzylos make:rule Uppercase
vendor/bin/wpzylos make:rule Validators/StrongPassword
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Rule class name |
Generated Methods: passes(), message()
make:policy
Generate an authorization policy using WordPress capabilities.
vendor/bin/wpzylos make:policy PostPolicy
vendor/bin/wpzylos make:policy Policies/OrderPolicy
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Policy class name |
Generated Methods: viewAny(), view(), create(), update(), delete()
WordPress API: current_user_can()
Testing Command
make:test
Generate a PHPUnit test class.
vendor/bin/wpzylos make:test UserServiceTest
vendor/bin/wpzylos make:test Feature/OrderProcessingTest --feature
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Test class name |
--feature | flag | No | Place in tests/Feature directory |
Configuration Command
make:config
Generate a configuration file (plain PHP array, no class).
vendor/bin/wpzylos make:config cache
vendor/bin/wpzylos make:config payments
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Config file name |
WordPress Commands
make:posttype
Generate a custom post type class.
vendor/bin/wpzylos make:posttype Product
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Post type class name |
WordPress API: register_post_type()
make:taxonomy
Generate a custom taxonomy class.
vendor/bin/wpzylos make:taxonomy ProductCategory
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Taxonomy class name |
WordPress API: register_taxonomy()
make:metabox
Generate a WordPress metabox class.
vendor/bin/wpzylos make:metabox ProductDetails
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Metabox class name |
WordPress API: add_meta_box()
make:menu
Generate a WordPress admin menu class.
vendor/bin/wpzylos make:menu SettingsMenu
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Menu class name |
WordPress API: add_menu_page(), add_submenu_page()
make:settings
Generate a WordPress settings page class.
vendor/bin/wpzylos make:settings GeneralSettings
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Settings class name |
WordPress APIs: register_setting(), add_settings_section(), add_settings_field()
make:widget
Generate a WordPress widget class.
vendor/bin/wpzylos make:widget RecentProducts
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Widget class name |
WordPress API: WP_Widget
make:shortcode
Generate a WordPress shortcode class with auto-registration.
vendor/bin/wpzylos make:shortcode Gallery
vendor/bin/wpzylos make:shortcode ProductGrid --tag=product_grid
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Shortcode class name |
--tag | string | No | Shortcode tag (defaults to slug) |
WordPress API: add_shortcode()
make:block
Generate a Gutenberg block with folder-based structure (PHP class + block.json + render.php).
vendor/bin/wpzylos make:block HeroBanner
vendor/bin/wpzylos make:block TestimonialSlider --title="Testimonials" --category=design
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Block class name |
--title | string | No | Block display title |
--description | string | No | Block description |
--icon | string | No | Block icon (default: block-default) |
--category | string | No | Block category (default: widgets) |
Generates 3 files:
app/Blocks/HeroBanner/
+-- HeroBanner.php (Block registration class)
+-- block.json (Block metadata)
+-- render.php (Server-side render template)
WordPress API: register_block_type()
make:columns
Generate an admin list table columns handler.
vendor/bin/wpzylos make:columns ProductColumns
vendor/bin/wpzylos make:columns OrderColumns --post-type=shop_order
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Columns handler class name |
--post-type | string | No | Post type slug (default: post) |
WordPress APIs: manage_{post_type}_posts_columns, manage_{post_type}_posts_custom_column
make:action
Generate a WordPress action hook handler with auto-registration.
vendor/bin/wpzylos make:action SendWelcomeEmail --hook=user_register
vendor/bin/wpzylos make:action CleanupTrash --hook=wp_scheduled_delete --priority=20
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Action handler class name |
--hook | string | No | WordPress hook name (default: init) |
--priority | string | No | Hook priority (default: 10) |
WordPress API: add_action()
make:filter
Generate a WordPress filter hook handler with auto-registration.
vendor/bin/wpzylos make:filter AddReadingTime --hook=the_content
vendor/bin/wpzylos make:filter CustomExcerpt --hook=excerpt_length --priority=999
| Argument/Option | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Filter handler class name |
--hook | string | No | WordPress hook name (default: the_content) |
--priority | string | No | Hook priority (default: 10) |
WordPress API: add_filter()
Related
- Usage Guide — Practical usage
- Examples — Real-world examples
- wpzylos.com — Framework documentation