Documentation

Setup

Setup

End-to-end install. ~15 minutes if you have everything ready.

Prerequisites

Step 1 — Get your Gumroad access token

  1. Log in to Gumroad.
  2. Settings → AdvancedApplicationsCreate access token.
  3. Copy the token. Treat it like a password.

Step 2 — Configure your products

Edit runner/run-qa.py — the PRODUCTS dict near the top:

PRODUCTS = {
    "your-product-permalink": {
        "name":                       "Your Product Name",
        "site_base":                  "https://your-domain.com",
        "website_path":               "/your-product/",
        "expected_price_cents":       2500,
        "required_root_files":        ["index.html","START-HERE.html",
                                       "Open-Suite.command","Open-Suite.bat","Open-Suite.sh",
                                       "assets/your-logo.jpg"],
        "required_subfolder_indexes": ["docs","assets"],
    },
}

Add one entry per Gumroad product. The keys are the Gumroad permalinks.

Step 3 — Run the QA

cd gumroad-qa-kit-v1.0.0
export GUMROAD_TOKEN=<your token>
python3 runner/run-qa.py your-product-permalink

Output: a per-section pass/fail report. Exit code 0 on full pass, 1 on any failure. Each check is tagged with the GumRoad.md section it derives from so you know exactly which page section to consult on a fail.

Step 4 — (Optional) Import the n8n workflow

  1. Open n8n → Workflows → Import from File → pick workflows/gumroad-qa-workflow.json.
  2. Re-bind credentials: - Gumroad — HTTP Header Auth, value Bearer <your token> - Slack — Slack API, bot token with chat:write scope - Notion — internal integration token, with a "QA log" database shared
  3. Set environment variables (n8n → Settings → Variables): - GUMROAD_MD_URL — path or HTTPS URL to your GumRoad.md file - SLACK_QA_CHANNEL — channel ID like C0123456 - NOTION_QA_LOG_DB_ID — your QA log database ID
  4. Edit the Config: which product to QA Code node with your product details.
  5. Run via the Manual Trigger.

Step 5 — Customize the spec

spec/GumRoad.md is the canonical operator playbook. Edit it freely:

The runner reads it at runtime and validates that every section the runner expects is still present. If you remove a required section, the run fails the spec-validation step loudly so you know to update either the spec or the runner.

What "ready to launch" looks like

GumRoad.md § spec
  ✓ GumRoad.md has section: Phase 3 — Gumroad product setup
  ✓ GumRoad.md has section: Buyer entry-point checklist
  ...
GumRoad.md § Phase 3 setup
  ✓ Product published
  ✓ Has uploaded file
  ✓ Cover image set
  ✓ Price > 0 — $25.00
  ...
GumRoad.md § Gotcha: Custom Receipt URL
  ✓ Custom Receipt URL set — https://your-domain.com/your-product/thank-you.html
  ✓ Receipt URL points at our thank-you page

PASS  24/24 checks passed.

If you see any , fix the underlying issue (the failure detail tells you what to look at) and re-run. Don't paper over a failure by changing the runner — change the underlying product setup or the spec.


"Meerkat LLC" and the Professor Meerkat mascot are marks of Meerkat LLC.

© 2026 Meerkat LLC · meerkat-llc.com · support@meerkat-llc.com · built with care in Anna, Texas