A centralized hub of Frappe Builder page templates (and, in future, plugins and components). Builder sites fetch the catalog and per-page bundles from a Builder Hub site over HTTP, so templates get their own release cycle — users always get the latest without upgrading the builder app.
Each template is a real Builder Page (is_template = 1) grouped under a template_group,
sharing a set of Builder Components and Variables. Groups are bundled as fixtures under
builder_hub/builder_templates/<group>/ and synced into the hub site on install/migrate.
Eight multi-page template groups. Each has a shared navbar/footer + theme across its pages, with a built-in light/dark toggle.
An earthy multi-page starter for boutique brands.
Pages: Landing · About · Contact
A crisp SaaS starter — feature grids, plan cards, and FAQs.
Pages: Landing · Pricing · About · Contact
A bold studio site for agencies and freelancers — oversized type, a geometric inline-SVG hero, a services index, a selected-work grid, and a built-in contact form.
Pages: Home · Work · Contact
A dark, bold-type portfolio for studios and freelancers.
Pages: Home · Project (case study) · About · Contact
An ultra-minimal personal site — a fixed left sidebar, typographic lists instead of cards, and a near-monochrome palette.
Pages: Home · Work · Writing · About
An ultra-minimal, warm-toned personal site — a centered single column with a slim nav.
Pages: Home · Work · About
A clean editorial template for blogs and publications — a featured story, a typographic article index, and a full reading layout with pull-quotes and an author note.
Pages: Home · Article · About
A vivid conference starter — animated hero with a live countdown, speaker grid, two-day schedule, and ticket tiers. Ships with scroll-reveal and marquee client scripts.
Pages: Home · Speakers · Schedule · Tickets
builder_hub.api.get_catalog()(guest) — returns the template groups + their pages with absolute preview andlive_urls, for any builder site's template picker.builder_hub.api.get_template_bundle(page)(guest) — returns one template page plus its shared components, variables, client scripts and fonts as import-ready dicts.- A builder site points at the hub via
template_hub_urlin its site config (orcommon_site_config.jsonbench-wide), fetches the catalog, and materializes a page from the bundle on demand. The "Preview" action opens the hub's published page in a new tab.
Template content lives in this app; the import/export machinery lives in builder
(builder.template_sync), which this app reuses — builder_hub depends on builder.
You can install this app using the bench CLI:
cd $PATH_TO_YOUR_BENCH
bench get-app $URL_OF_THIS_REPO --branch develop
bench install-app builder_hubbuilder_hub requires the builder app (installed automatically as a dependency).
This app uses pre-commit for code formatting and linting. Please install pre-commit and enable it for this repository:
cd apps/builder_hub
pre-commit installPre-commit is configured to use the following tools for checking and formatting your code:
- ruff
- eslint
- prettier
- pyupgrade
mit







