๐งฉ Architecture & Core Logic
- Super Powers
- Joomla Powers
- Compile Native Components, Plugins & Modules
- Multi-Version Support
- Conditional Logic Injection
- Reusable Admin Views
- Dynamic GET Builder
- Round-Trip Code Integration
- Custom Admin Views
- Site Views
- Dynamic Dashboards
- Model Linking Between Views
- Shared Field Reuse Across Views
- Drag & Drop Field Mapping
- Dynamic Field Visibility
- Independent Packaging
๐ Joomla CMS Integration
๐งฑ Custom Code System (Powerful Dual Feature)
๐ Field Type System
๐ Snippets, Templates, Layouts, Libraries
- Snippets Reusable Html Blocks
- Layouts Reusable Php Render Templates
- Templates Page Level Views Linked To Custom Admin Site Views
- Libraries JS CSS Assets Linked To UI
- CDN Local Toggle For Library Delivery
- Media Folder Injection With Override Support
- Repository Push Pull Reset Workflow
- Init Snippets Layouts Templates Via Gui
๐ฆ Packages
๐งฉ Architecture & Core Logic
๐ File & Code Management
๐ง Code Reuse & Blueprints
๐ Joomla CMS Integration
๐จ Visual GUI & UX
๐ Internationalization
๐ฆ Packaging & Distribution
โ๏ธ Compiler Engine Features
๐งฑ Custom Code System
๐ Field Type System
๐ Dynamic GET (Visual SQL Engine)
๐ Snippets, Templates, Layouts, Libraries
๐ Documentation & Metadata
๐ Analytics & Insights
๐งฉ Architecture & Core Logic
- Super Powers
- Joomla Powers
- Compile Native Components, Plugins & Modules
- Multi-Version Support
- Conditional Logic Injection
- Reusable Admin Views
- Dynamic GET Builder
- Round-Trip Code Integration
- Custom Admin Views
- Site Views
- Dynamic Dashboards
- Model Linking Between Views
- Shared Field Reuse Across Views
- Drag & Drop Field Mapping
- Dynamic Field Visibility
- Independent Packaging
๐ Joomla CMS Integration
- Token Integration
- ACL Per View, Field, Item
- Field-Based Joomla Config Generation
- Support For Joomla Categories/Tags/Custom Fields
- CLI-Ready Components
- Joomla Update Server Integration
- Version-Aware Language String Compilation
- Remote Publishing to Custom Repo Update Streams
๐ Field Type System
- Field Types Define Templates And Data Types
- Gui Defined Rules Required Unique Nullable
- Save Get Hooks Per Field
- Database Schema Auto Generated From Field Settings
- Per Display Field Rendering Config List Edit
- Create Dynamic Models With Modals Selectors
- Conditional Js And Css Per Field
๐ Snippets, Templates, Layouts, Libraries
- Snippets Reusable Html Blocks
- Layouts Reusable Php Render Templates
- Templates Page Level Views Linked To Custom Admin Site Views
- Libraries JS CSS Assets Linked To UI
- CDN Local Toggle For Library Delivery
- Media Folder Injection With Override Support
- Repository Push Pull Reset Workflow
- Init Snippets Layouts Templates Via Gui
CLI-Ready Components
Enable native Joomla CLI command support in your generated components.
What Is It?
Joomla Component Builder (JCB) includes support for building CLI-ready components by generating command-line accessible classes that hook directly into Joomlaโs CLI framework.
This allows developers and administrators to interact with their components from the terminal โ ideal for automated tasks, scheduled scripts, bulk imports/exports, and headless operations.
CLI integration is compiled into your component using JCBโs GUI and custom code injection system. No manual bootstrap or loader setup is required.
Key Features
- Native Joomla 4/5 CLI Compatibility
JCB compiles CLI command classes that extend Joomla'sConsoleApplication
structure โ ready to run viaphp cli/joomla.php
orbin/joomla
. - Per-Component Namespace Support
Each CLI command is generated in its component's namespace, allowing clean organization and autoloading. - Reuse JCB Logic in CLI
Access models, services, or custom logic (e.g., imports, cron jobs) from CLI, just like you would via HTTP. - Custom Command Registration
CLI commands are registered via a dedicated CLI manifest or service provider pattern, generated automatically. - Easy Command Setup
Define your CLI entry point using JCBโs Custom Code system or JCBโs boilerplate examples for common tasks (e.g., rebuild cache, sync data). - ACL Support for Secure Execution
While CLI bypasses user sessions, you can still integrate checks to restrict tasks by token, environment, or logic layer.
Example Use Cases
- Automated daily import/export routines
- Mass file processing or cleanup
- Background data analysis
- Content publishing or archiving jobs
- Remote API syncs or pings
- Headless component usage (Joomla as data engine)
How to Build CLI Commands in JCB
- In your component entity in JCB, create a new plugin that includes all the necessary PHP code for the CLI command.
- Link the plugin to the component using the "Component Plugin" section.
- Compile the component โ JCB will automatically generate the required CLI registration scaffolding.
- Install the compiled plugin and enable it in your Joomla system.
- Run your command via the terminal in the Joomla CLI folder:
./joomla.php cli:commands
Developer Notes
- CLI Plugins are stateless and environment-dependent โ ensure services like DB or filesystem are initialized.
- JCB allows placeholders inside Plugins (e.g.
[[[ComponentNamespace]]]
,'[[[component]]]:Item:import'
). - You can create multiple CLI orientated Plugins per component and link them automatically.
CLI & JCB Integration Workflow
- Use Init/Reset/Pull to manage CLI Plugins
- Compile Plugins as part of regular JCB builds
- Inject superpowers, joomlapowers, or custom logic into Plugins
- Maintain Plugins as entities in JCB like other Views and Fields
Conclusion
JCB makes your component command-line ready โ allowing real automation and modern devops workflows. Whether you're building internal tooling or need production-ready headless logic, CLI support extends your componentโs power far beyond the web interface.