JCB X.1.4 Beta 6 - A Major Step Forward for CLI Workflows and Power Control #1014
Llewellynvdm
started this conversation in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
With JCB X.1.4 Beta 6, Joomla Component Builder takes a meaningful step forward in how developers can work, automate, and extend their projects. This release introduces a powerful new CLI command suite and a significant evolution of the Powers system, both aimed at giving developers more control while keeping workflows clean and intentional.
This is a beta release, and we're actively inviting the community to test, experiment, and give feedback so we can stabilize these features for a broader release.
A Full CLI Suite for JCB
JCB now ships with a comprehensive set of CLI commands that allow you to work with Component Builder directly from the terminal. From CLI, you can now compile components, synchronize JCB areas with remote repositories, reset local state, and push or pull entities such as fields, views, layouts, templates, snippets, powers, and more.
The CLI is designed to be explicit and scriptable. You discover available commands via Joomla's CLI entry point, inspect each command's inputs using the built-in help system, and control behavior through flags, configuration bundles, or environment variables. This makes the CLI suitable not only for local development, but also for CI/CD pipelines, containerized environments, and headless servers.
One of the most powerful aspects is the compiler command. It can compile components directly from CLI, automatically pull missing components from remote repositories when needed, and optionally install the compiled extensions immediately. This opens the door to fully automated build and deployment workflows-while still keeping everything transparent and controllable.
https://github.com/orgs/joomengine/discussions/1013
Power-Based Class Overrides and Source Injection
Alongside the CLI, the Powers system has gained an important new capability: the ability to override or add PHP classes directly into generated
src/folders for components, modules, and plugins.This works through a clear, namespace-driven rule set. By defining a Power with a namespace that matches the generated class, JCB can intentionally replace that class. By defining a new namespace and class name, JCB will instead add a new file into the correct
src/location. The same mechanism works consistently across components, modules, and plugins.To make this portable, JCB supports dynamic namespace placeholders that automatically adapt Powers to the current project. This allows Powers to be reused across different components while still resolving correctly at build time. The result is a flexible, explicit way to take ownership of specific classes, extend generated code, or introduce additional architecture-without post-build hacks or manual copying.
This feature is optional and deliberate by design. If you choose to override a generated class, you are explicitly taking responsibility for that file. For many advanced use cases, that trade-off is exactly what developers are looking for.
https://github.com/orgs/joomengine/discussions/1012
Why This Matters (and Why We Need Your Help)
Together, these two additions move JCB closer to a modern, automation-friendly development workflow. The CLI makes JCB usable anywhere Joomla can run, while the enhanced Powers system provides a clean and maintainable way to control generated source code when needed.
Because this is a beta release, real-world testing is essential. We're particularly interested in feedback around CLI compilation, repository synchronization, memory usage in larger projects, and Power-based overrides in complex extensions. If you try these features-successfully or not-your feedback will directly influence how they are finalized.
JCB X.1.4 Beta 6 isn't about changing how everyone must work. It's about opening new possibilities for those who want them-and making sure they're solid before they become the norm.
We invite you to try it, test it, and tell us how it works for you.
Beta Was this translation helpful? Give feedback.
All reactions