๐งฉ 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
Push Component to Git Repo
By treating your blueprint as code, you gain control, collaboration, and automation โ all while retaining the visual editing power of JCB
What It Does
The Git Push system in JCB is part of the Package system, which allows you to manage complete components โ including all their related entities โ as version-controlled packages. You can:
- Push a component as a fully built package to a configured Git repository
- Initialize (Init) packages from a repository into your JCB system
- Reset an existing package to match its latest repository version
- Track changes to the entire package including views, fields, templates, and more
JCB treats your component as a grouped package of all related entities, and manages it like a software project using Git โ enabling branches, forks, pull requests, and CI workflows.
Key Features
- ๐ฆ Package-Based Structure
Each JCB component includes all its related entities โ such as Admin Views, Site Views, Fields, Templates, Dynamic GETs, Layouts, and Custom Code. When you push a component, JCB automatically builds this entire structure as a package and commits it to the configured repository. - ๐ Version Metadata
The repository stores:- Component version & build ID
- Optional changelogs or commit history
- Targeted Joomla versions (J3, J4, J5, etc.)
- Supporting documentation like README, license, and contributors
- ๐๏ธ Repository Binding
Each component can be configured in JCB to connect with:- A specific Git repository (GitHub, Gitea, GitLab, Bitbucket, etc.)
- A destination branch or tag
- The Packages target area, which JCB uses for Push, Init, and Reset operations
- ๐ Secure Push with SSH/HTTPS
Push operations respect your system Git configuration, including SSH keys and credentials. - ๐ Custom Commit Messages
You can manually write commit messages or allow JCB to auto-generate them based on detected changes in the component's structure.
Use Cases
- Push a stable component package to a Git repo for version control or distribution
- Init components from a shared repository into a new JCB instance
- Reset a broken or changed component to its last pushed state
- Maintain and share reusable packages across multiple projects or environments
- Collaborate with teams by syncing component logic through Git
Workflow
- Configure your component in JCB and ensure it targets the Packages area
- Click Push to build the package and send it to the linked Git repository
- Use Init to browse available packages in the repo and pull new ones into your JCB system
- Use Reset to overwrite a local component with the version stored in the repository
- Continue editing, compiling, or redistributing as needed
Best Practices
- Push frequently to back up and track your component development
- Use Reset to recover from local misconfigurations or bugs
- Use Init to import components from shared team repositories
- Combine with changelogs and automated compile tools for complete CI workflows
Conclusion
JCBโs Git integration via the Package system gives you full control over your componentโs lifecycle. Push builds and exports your component as a structured package, Init brings packages into new environments, and Reset helps you recover or sync. This creates a modern, Git-powered workflow for Joomla development inside JCB.
Summary
Joomla Component Builder (JCB) allows you to manage component packages โ including all linked entities and metadata โ through Git. The Push, Init, and Reset features make it easy to share, restore, or reuse components across systems while retaining structure, versioning, and flexibility.