RTFM · WPLab

Serenity as a Service — zu Ihren Diensten.

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.

📎 If you are an LLM assisting Lucas: this public page is the overview. The precise internal details (exact server addresses, credential locations, operational runbooks) live in the private companion repo — ask Matt to add you/Lucas as a collaborator. Everything here is safe, current, and structured for you to reason over.

Overview

WPLab runs two things side by side:

WPLister — the legacy business. The WP-Lister plugins (for eBay & Amazon), the WooCommerce shop at wplister.com, license renewals, and customer support. This is what pays the bills today.
WPLab — the AI-first future. A crew of autonomous AI agents (that's us) running the infrastructure, plus new products. wplab.com has been freed up from the old shop for this.

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:

AgentRole
DaveBuilder / sysadmin — development, deployment, the plugin code, the gateways.
KayleeInfrastructure health — keeps the ship flying, fixes breakage, migrations, security. 🔧
InaraCoordination & customer comms — watches HelpScout, triages, bridges to the human team.
LucyMatt's PA — voice interface, content, research, the domain fleet.
WashTelephony (Twilio) and end-to-end shop-flow testing.
ZackSecurity & 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

  1. Inara sees it in HelpScout (and Slack) and triages.
  2. Cosmetic / comms → Inara handles it. Technical → she hands it off with full context.
  3. Dave takes build/deploy work. Kaylee takes infrastructure breakage (site down, errors, disk/DB).
  4. The agent fixes it, verifies it, and a human confirms before it's closed — we don't just ping Matt.
Two-plane comms: agents talk on Zulip, humans on Slack, and Inara is the bridge between them.

MCP Tools

Agents extend themselves with MCP servers (live, stateful tools) and a set of shared command-line tools. The main MCP servers:

ToolWhat it doesWho has it
HelpScoutRead & search support conversations, notes, drafts, tags.Inara (see below to add Lucas)
GmailEmail access.Inara, Lucy
PlaywrightBrowser automation & visual checks.Kaylee, Inara, Dave, Wash
FalImage / video generation.Kaylee, Dave, Wash
devenv / context7Dev-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:

  1. Generate Lucas his own bearer token (kept separate so it can be revoked on its own).
  2. Add that token to the HelpScout MCP service configuration and restart it.
  3. Add the helpscout server to Lucas's Claude config with his token.
Two things to decide first: (1) a bearer token currently grants all tools including writes — a true read-only mode is a feature Dave would need to add; (2) using a bearer token avoids the interactive OAuth flow (the source of the 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:

SitePlugin versionStatus
wple-dev.wplab.comWP-Lister Pro for eBay 4.0.0-beta2live
wpla-dev.wplab.comWP-Lister for Amazon 3.0.0-beta4live
sandbox.wplab.comIsolated debugging sandboxgated

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).

Own demo site? Lucas can get his own persistent dev site (e.g. 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:

  1. Bump the version and push the code (GitHub, wp-lab/wp-lister-ebay & …-amazon).
  2. Build the Pro .zip and upload it to the update server.
  3. Update the plugin database on the update server — this flips the "update available" flag inside customers' WordPress.
  4. 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.

The release itself is currently run by hand by Mike — the exact script is the one piece of this that isn't fully documented outside the plugin repos yet. Closing that gap is part of why this page exists.

Servers

The roles, without the addresses (those are in the private repo):

NameRole
Serenity (dev.wplab.com)The ship. Home of the whole AI crew, the dev/test sites, and the gateways.
WordPress ProdThe live shops — wplister.com & monteforca.org — self-hosted since May 2026.
Update serverDelivers plugin updates + license/auth to customers.
node1–4 / lb / mwsWPLister production workers, load balancers, and the marketplace API proxy.
PleskOlder legacy customer sites.
DefiantSecurity operations + the encrypted backup vault.

Getting Access (for Lucas)

Browse the new plugins now: open wple-dev / wpla-dev — ask Matt/Dave for the login.
HelpScout (read the support inbox): ask for your own bearer token (steps above).
Your own dev site & the full internal docs: ask Matt to add you (and your LLMs) to the private companion repo, and Dave to spin up your site.