API Reference

Complete command reference for WPZylos CLI Devtool.

Global Options

All generator commands support these options:

OptionDescription
--pathPlugin root path (auto-detected from working dir)
--namespaceRoot namespace (auto-detected from .plugin-config)
--forceOverwrite existing file
--dry-runPreview generated code without creating file
--helpDisplay help for the command
--quietSuppress output
--verboseIncrease verbosity

Foundation Commands

make:provider

Generate a service provider class.

vendor/bin/wpzylos make:provider AppServiceProvider
Argument/OptionTypeRequiredDescription
namestringYesProvider class name

make:job

Generate a queued job class.

vendor/bin/wpzylos make:job ProcessPayment
Argument/OptionTypeRequiredDescription
namestringYesJob class name

make:service

Generate a service class.

vendor/bin/wpzylos make:service PaymentService
vendor/bin/wpzylos make:service Billing/InvoiceService
Argument/OptionTypeRequiredDescription
namestringYesService class name

make:trait

Generate a PHP trait.

vendor/bin/wpzylos make:trait HasSlug
vendor/bin/wpzylos make:trait Concerns/Cacheable
Argument/OptionTypeRequiredDescription
namestringYesTrait 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/OptionTypeRequiredDescription
namestringYesEnum name
--intflagNoCreate an int-backed enum
--plainflagNoCreate 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/OptionTypeRequiredDescription
namestringYesException class name
--renderflagNoAdd render() for HTTP responses

make:interface

Generate a PHP interface.

vendor/bin/wpzylos make:interface PaymentGateway
vendor/bin/wpzylos make:interface Contracts/Searchable
Argument/OptionTypeRequiredDescription
namestringYesInterface 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/OptionTypeRequiredDescription
namestringYesCommand 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/OptionTypeRequiredDescription
namestringYesCron handler class name
--recurrencestringNoInterval: 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/OptionTypeRequiredDescription
namestringYesController name
--resourceflagNoInclude CRUD methods

make:middleware

Generate an HTTP middleware class.

vendor/bin/wpzylos make:middleware AuthMiddleware
Argument/OptionTypeRequiredDescription
namestringYesMiddleware class name

make:request

Generate a FormRequest validation class.

vendor/bin/wpzylos make:request StoreProductRequest
Argument/OptionTypeRequiredDescription
namestringYesRequest 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/OptionTypeRequiredDescription
namestringYesREST controller class name
--routestringNoREST 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/OptionTypeRequiredDescription
namestringYesAJAX handler class name
--publicflagNoAllow 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/OptionTypeRequiredDescription
namestringYesResource 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/OptionTypeRequiredDescription
namestringYesMigration name (snake_case)
--createstringNoTable to create
--tablestringNoTable to modify

make:model

Generate a model class.

vendor/bin/wpzylos make:model Product
vendor/bin/wpzylos make:model Order --migration
Argument/OptionTypeRequiredDescription
namestringYesModel class name

make:seeder

Generate a database seeder class.

vendor/bin/wpzylos make:seeder ProductSeeder
Argument/OptionTypeRequiredDescription
namestringYesSeeder 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/OptionTypeRequiredDescription
namestringYesFactory class name
--modelstringNoModel 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/OptionTypeRequiredDescription
namestringYesObserver class name
--modelstringNoModel 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/OptionTypeRequiredDescription
namestringYesScope 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/OptionTypeRequiredDescription
namestringYesCast class name

Generated Methods: get(), set()


Event Commands

make:event

Generate an event class.

vendor/bin/wpzylos make:event OrderPlaced
Argument/OptionTypeRequiredDescription
namestringYesEvent class name

make:listener

Generate an event listener class.

vendor/bin/wpzylos make:listener SendOrderNotification
Argument/OptionTypeRequiredDescription
namestringYesListener class name

make:subscriber

Generate an event subscriber class.

vendor/bin/wpzylos make:subscriber OrderSubscriber
Argument/OptionTypeRequiredDescription
namestringYesSubscriber 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/OptionTypeRequiredDescription
namestringYesMail 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/OptionTypeRequiredDescription
namestringYesNotification 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/OptionTypeRequiredDescription
namestringYesRule 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/OptionTypeRequiredDescription
namestringYesPolicy 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/OptionTypeRequiredDescription
namestringYesTest class name
--featureflagNoPlace 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/OptionTypeRequiredDescription
namestringYesConfig file name

WordPress Commands

make:posttype

Generate a custom post type class.

vendor/bin/wpzylos make:posttype Product
Argument/OptionTypeRequiredDescription
namestringYesPost type class name

WordPress API: register_post_type()


make:taxonomy

Generate a custom taxonomy class.

vendor/bin/wpzylos make:taxonomy ProductCategory
Argument/OptionTypeRequiredDescription
namestringYesTaxonomy class name

WordPress API: register_taxonomy()


make:metabox

Generate a WordPress metabox class.

vendor/bin/wpzylos make:metabox ProductDetails
Argument/OptionTypeRequiredDescription
namestringYesMetabox class name

WordPress API: add_meta_box()


make:menu

Generate a WordPress admin menu class.

vendor/bin/wpzylos make:menu SettingsMenu
Argument/OptionTypeRequiredDescription
namestringYesMenu 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/OptionTypeRequiredDescription
namestringYesSettings 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/OptionTypeRequiredDescription
namestringYesWidget 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/OptionTypeRequiredDescription
namestringYesShortcode class name
--tagstringNoShortcode 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/OptionTypeRequiredDescription
namestringYesBlock class name
--titlestringNoBlock display title
--descriptionstringNoBlock description
--iconstringNoBlock icon (default: block-default)
--categorystringNoBlock 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/OptionTypeRequiredDescription
namestringYesColumns handler class name
--post-typestringNoPost 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/OptionTypeRequiredDescription
namestringYesAction handler class name
--hookstringNoWordPress hook name (default: init)
--prioritystringNoHook 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/OptionTypeRequiredDescription
namestringYesFilter handler class name
--hookstringNoWordPress hook name (default: the_content)
--prioritystringNoHook priority (default: 10)

WordPress API: add_filter()