CLI Console
GeniXCMS CLI Console (genix) Documentation
genix is the built-in Command-Line Interface (CLI) for GeniXCMS, designed to help administrators and developers manage the system without accessing the backend dashboard. Tasks such as database management, module and theme scaffolding, user creation, and cache clearing can be executed directly through this console.
How to Use
This CLI script is located in the root directory of your GeniXCMS installation. You can run it via the terminal using your PHP binary.
Basic Command:
php genix <command> [arguments]
To view the full list of available commands directly from your terminal, you can type:
php genix help
Complete List of Commands
1. ⚙️ System Utility
A collection of commands to view and manage core features and utilities of the application.
| Command | Arguments | Description |
|---|---|---|
serve |
[port] |
Starts the built-in PHP development server at http://localhost:8000 (or a port based on your provided argument). The site will instantly load similar to using XAMPP/Laragon. Use Ctrl-C to stop the server. |
sys:info |
- | Displays environment diagnostics such as the PHP version, server OS, Server Time, and detailed Database Client identifier. Very useful for initial troubleshooting. |
options:list |
- | Displays all System Options in your database table along with their values (partially truncated if too long). Good for peeking at hidden configurations. |
options:set |
<key> <value> |
Forcibly changes an option or adds a new one to GeniXCMS. Example: php genix options:set sitename "New Website" |
cache:clear |
- | Clears data cache stack as well as Latte template cache files in the assets/cache folder. Frequently used after modifying a template if changes are not immediately visible. |
2. 🏗️ Developer Scaffolding Commands
Special commands for developers to generate boilerplates (raw code structure), eliminating the need to manually create directories and files.
| Command | Required Arguments | Description |
|---|---|---|
make:theme |
<name> |
Generates a new Latte Engine-based theme file structure in /inc/themes/. This command automatically creates the assets folder and template files (header.php, footer.php, index.php, single.php, page.php, and themeinfo.php). Example: php genix make:theme e-commerce |
make:module |
<name> |
Generates scaffolding for a new custom module (plugin) inside the /inc/mod/ directory. PHP classes and docblock comments/metadata are immediately validated and automatically created. Example: php genix make:module payment |
3. 👥 User Management
Functions similarly to account management via the dashboard panel, but manually through the command-line.
| Command | Required Arguments / Options | Description |
|---|---|---|
user:create |
<u> <e> <p> [g] |
Registers a new user by strictly providing arguments in order (username, email, raw password). Includes an optional argument for the Access Group level (0 = Administrator, 4 = Specific Contributor, etc). Example: php genix user:create admin [email protected] passMe123 0 |
user:list |
- | Displays all registered user entities complete with their ID, Username, Email, and Action Group Name details natively in a console table. |
user:delete |
<id> |
Permanently removes a user from the database (gx_user and gx_user_detail) based on their numerical unique ID. Example: php genix user:delete 3 |
4. 🎨 Theme & Module
Terminal-based functions to forcibly toggle Extensions registered in the site repository. Helpful if your site encounters a white screen due to a theme error and you must disable it from the backend server.
| Command | Required Arguments | Description |
|---|---|---|
theme:list |
- | Polls the database to list all available system themes, their active status, and release versions out of their respective metadata configurations. |
theme:activate |
<folder_name> |
Switches your Active Theme to the targeted slug folder. Example: php genix theme:activate gneex |
module:list |
- | Lists all installed modules completely with their respective activity status. |
module:activate |
<folder_name> |
Activates a specific module. Example: php genix module:activate seonix |
module:deactivate |
<folder_name> |
Deactivates a module from its running execution. Example: php genix module:deactivate seonix |
5. 🗄️ Database Migrations
This feature tracks the chronological migration history of database schemas and data (utilizing GeniXCMS's installation and upgrade process).
| Command | Required Arguments | Description |
|---|---|---|
migrate |
- | Recursively executes and records all unexecuted historical files located within inc/migrations/. |
migrate:rollback |
- | Unrolls/Rolls back the last executed batch of completed migration files. |
migrate:create |
FileName |
Generates a table installation module boiler script with automatic Timestamping and a ready-to-fill PHP class in inc/migrations/. Example: php genix migrate:create UpdateUserTable |