RTFM · WPLab
How the WPLab system actually works: the crew, the tools, the test sites, and the pipeline that ships WP-Lister. Written to be read by humans and their LLMs.
Overview
WPLab runs two things side by side:
The whole operation is run day-to-day by a crew of AI agents living on one server we call Serenity. They keep the shops flying, fix what breaks, ship plugin updates, and answer support — with humans confirming the important calls.
The Crew & Workflow
Each agent is a Claude instance with its own Linux user, its own memory, and a clear job:
| Agent | Role |
|---|---|
| Dave | Builder / sysadmin — development, deployment, the plugin code, the gateways. |
| Kaylee | Infrastructure health — keeps the ship flying, fixes breakage, migrations, security. 🔧 |
| Inara | Coordination & customer comms — watches HelpScout, triages, bridges to the human team. |
| Lucy | Matt's PA — voice interface, content, research, the domain fleet. |
| Wash | Telephony (Twilio) and end-to-end shop-flow testing. |
| Zack | Security & CVE monitoring (lives on a separate hardened server). |
Humans: Matt (owner/captain), Mike (lead developer, runs the plugin release), Menchie & John (support & testing).
What happens when a support ticket comes in
- Inara sees it in HelpScout (and Slack) and triages.
- Cosmetic / comms → Inara handles it. Technical → she hands it off with full context.
- Dave takes build/deploy work. Kaylee takes infrastructure breakage (site down, errors, disk/DB).
- The agent fixes it, verifies it, and a human confirms before it's closed — we don't just ping Matt.
MCP Tools
Agents extend themselves with MCP servers (live, stateful tools) and a set of shared command-line tools. The main MCP servers:
| Tool | What it does | Who has it |
|---|---|---|
| HelpScout | Read & search support conversations, notes, drafts, tags. | Inara (see below to add Lucas) |
| Gmail | Email access. | Inara, Lucy |
| Playwright | Browser automation & visual checks. | Kaylee, Inara, Dave, Wash |
| Fal | Image / video generation. | Kaylee, Dave, Wash |
| devenv / context7 | Dev-environment control / live library docs. | Dave, Inara, Wash |
Lightweight operations use shared CLI tools instead of MCP: zulip-cli,
slack-cli, kb-search, perplexity-search,
research-council, and more.
Getting Lucas onto HelpScout
The HelpScout MCP is a single shared service — access is granted per token, not per person. Today only Inara has one; Lucas has none. The clean way to add him:
- Generate Lucas his own bearer token (kept separate so it can be revoked on its own).
- Add that token to the HelpScout MCP service configuration and restart it.
- Add the
helpscoutserver to Lucas's Claude config with his token.
ofid_… errors Lucas hit).
Exact steps & the config snippet are in the private repo.Test Sites — WPLE 4.0 & WPLA 3.0
Want to see what changed in the new plugin versions and how they work? There are live dev sites running the latest betas, right now:
| Site | Plugin version | Status |
|---|---|---|
| wple-dev.wplab.com | WP-Lister Pro for eBay 4.0.0-beta2 | live |
| wpla-dev.wplab.com | WP-Lister for Amazon 3.0.0-beta4 | live |
| sandbox.wplab.com | Isolated debugging sandbox | gated |
These run in Docker on Serenity. Neat detail: the plugin code is bind-mounted straight from
the git repo, so a git pull updates the running site instantly — no deploy step
to test a change. There's even a mock eBay API so WPLE can be exercised without touching
real eBay. Login is with an internal admin account (credentials in the private repo).
lucas-wple.wplab.com) — copy a compose file, new port, add a vhost + DNS. There's no
automated one-click provisioning yet, so Dave sets the first one up.The Deploy Pipeline
How a new plugin version reaches paying customers:
- Bump the version and push the code (GitHub,
wp-lab/wp-lister-ebay&…-amazon). - Build the Pro
.zipand upload it to the update server. - Update the plugin database on the update server — this flips the "update available" flag inside customers' WordPress.
- Customers' sites pull the new version through the normal WordPress update mechanism, after a license check.
Free tiers publish to wordpress.org. Billing & licensing are moving to Lemon Squeezy plus a new customer portal (gated beta). Daily encrypted backups run automatically and ship off-site.
Servers
The roles, without the addresses (those are in the private repo):
| Name | Role |
|---|---|
| Serenity (dev.wplab.com) | The ship. Home of the whole AI crew, the dev/test sites, and the gateways. |
| WordPress Prod | The live shops — wplister.com & monteforca.org — self-hosted since May 2026. |
| Update server | Delivers plugin updates + license/auth to customers. |
| node1–4 / lb / mws | WPLister production workers, load balancers, and the marketplace API proxy. |
| Plesk | Older legacy customer sites. |
| Defiant | Security operations + the encrypted backup vault. |