Redesign Ops XDS · BLDgenerated 2026-08-26 23:04 from each project's PIPELINE.mdSetup kit

Setup kit

What goes on a new WordPress build, in install order, and where each licence is supposed to live. Install the bridge first: every later step is driven through it.

This page is public. The dashboard has no authentication — it answers to anyone with the URL. So it names the .env key and how to read it, never the licence value. Put Cloudflare Access in front of the Pages project before that changes.

Core — every build

ToolLicenceGet itKey
Xcelerate Bridge
Our REST bridge: page building, maintenance, diagnostics. Install FIRST — everything else is driven through it.
Ours, private~/xcelerate-bridge/dist/xcelerate-bridge.zip
Private IP. Build with scripts/build-plugin.sh, push with scripts/deploy-to-site.sh. Never link publicly.
no licence needed
Beaver Builder
Page builder. The default for XDS WordPress builds.
www.wpbeaverbuilder.comBEAVER_BUILDER_LICENSE_KEY
read with scripts/envkey.sh BEAVER_BUILDER_LICENSE_KEY
stored in .env
Beaver Themer
Themer layouts: archives, singles, site chrome. Needed for any templated page set.
Includedwww.wpbeaverbuilder.com/beaver-themercovered by the Beaver Builder Agency licence
Ultimate Addons for Beaver Builder
UABB module pack — the extra modules the core builder does not ship.
www.ultimatebeaver.comUABB_LICENSE_KEY
read with scripts/envkey.sh UABB_LICENSE_KEY
stored in .env
PowerPack for Beaver Builder
Second Beaver module pack. Between them, UABB and PowerPack are why most sections can be built native rather than raw HTML.
wpbeaveraddons.comPOWERPACK_BB_LICENSE_KEY
read with scripts/envkey.sh POWERPACK_BB_LICENSE_KEY
stored in .env
Elementor Pro
Page builder. Used where the client is already on Elementor. Licensed PER CLIENT, not agency-wide — the licence belongs to their account, so it is never a shared key.
elementor.com/pro<CLIENT>_ELEMENTOR_PRO_LICENSE_KEY
one per client, e.g. ACME_ELEMENTOR_PRO_LICENSE_KEY
UpdraftPlus
Backups. Free tier is the standard everywhere — split archives at 100MB.
Freeen-au.wordpress.org/plugins/updraftplusno licence needed
Wordfence
Security scanning and firewall. Free tier.
Freeen-au.wordpress.org/plugins/wordfenceno licence needed
Yoast SEO
On-page SEO and meta. The bridge writes Yoast meta directly.
Freeen-au.wordpress.org/plugins/wordpress-seono licence needed

Per-project

ToolLicenceGet itKey
Advanced Custom Fields
Custom field groups, e.g. the suburb CPT on Tropical Skips. Free tier only — we do not buy ACF Pro, so anything needing Pro-only fields (repeater, flexible content) has to be solved another way.
Freeen-au.wordpress.org/plugins/advanced-custom-fieldsno licence needed
Gravity Forms
Forms where the client needs conditional logic or feeds. REST v2 is OFF by default — enable it via the bridge options route.
www.gravityforms.comGRAVITY_FORMS_LICENSE_KEY
read with scripts/envkey.sh GRAVITY_FORMS_LICENSE_KEY
stored in .env
Rank Math
SEO alternative to Yoast. In use on Tropical Skips.
Freeen-au.wordpress.org/plugins/seo-by-rank-mathno licence needed
UptimeRobot
Uptime monitoring. A service, not a plugin — set up at REGISTER.
Free tieruptimerobot.comUPTIMEROBOT_API_KEY
read with scripts/envkey.sh UPTIMEROBOT_API_KEY
not in .env yet

No plugin licence is stored in ~/Business/.env today. The workspace rule is that every key we obtain goes there so it survives a laptop rebuild. The paid licences above are still only in vendor accounts and inboxes. The key names in the last column are the ones to use when they are added.

Before the first push to a client site

  1. Install the bridge, then read the token at Settings → Xcelerate Bridge. Store it as <CLIENT>_BRIDGE_TOKEN and the URL as <CLIENT>_BRIDGE_URL in ~/Business/.env.
  2. Confirm the version the site actually runs: GET /wp-json/xcelerate-bridge/v1/maintenance/reportplugin_version. The repo version is not the site version.
  3. Install the mu-plugin guard (POST /maintenance/update/guard) before any plugin update — without it a plugin that fatals on load cannot be rescued.
  4. Take and verify a backup by size before touching anything.