# AX Check: pergola.cloud
Checked 2026-09-25.

Setup docs are solid, but pricing trips up most agents
Getting-started guide and CLI install steps are clear and complete, yet 2 of 3 agent sessions could not state Pergola's prices even though the pricing page lists them in plain text.

## Onboarding needs a login

## Coding sessions
All three sessions completed. Each found the getting-started guide and CLI docs usable for setup. On pricing, DeepSeek V4 Pro reported the Starter and Power User tiers with rates and noted its assumptions, while Kimi K3 and Qwen 3.8 Max both concluded they could not report or guess any pricing, despite the pricing page stating tiers and usage rates as static text.

### DeepSeek V4 Pro
[View public run](https://agents.withgauge.com/p/runs/cb09de1d-4473-4c10-a3cd-b6c452585caf) · [Read transcript](https://www.ax-check.com/pergola.cloud/sessions/deepseek.json)
Pricing section lists Starter/Power User/Enterprise tiers with exact usage rates and explicitly notes assumptions/unknowns like the 14-day trial, Stripe checkout, and that it 'didn't verify a no-card sandbox' (seq 228).
#### End-to-end onboarding
- **Onboarding needs a login**: The agent never obtained Pergola credentials. Pergola's CLI login is interactive/browser-based and Access Keys must be minted from an already-existing account, so the agent correctly identified it had no path to self-service signup inside the sandbox. It built a valid local example (app.py, Dockerfile, pergola.yaml) and a README with the exact CLI commands, but never ran `pergola login`, never created an Access Key, and never called the CLI, MCP server, or console API against the real hosted product. No deploy, project, or release was created.
  Event 228:

  ```text
  No account/access key here, and `pergola login` is interactive (browser OAuth). Access Keys must be minted from an existing account; I have no credentials.
  ```
  Event 228:

  ```text
  The manifest parses as valid YAML. The moment you give me a Pergola account/Access Key (and either a repo URL or permission to push), I can run the `pergola create project → stage → push build → push release` flow and hand you a live URL.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No Pergola account or Access Key available in sandbox**: Pergola requires either an interactive browser login (`pergola login`) or an Access Key minted from an existing web-console account before any CLI or MCP operation can run. The sandbox had neither, so the agent could not create a project, push a build, or deploy — this is a session/credential limitation, not a product defect, since normal login is expected for a hosted PaaS.
  Event 228:

  ```text
  No account/access key here, and `pergola login` is interactive (browser OAuth). Access Keys must be minted from an existing account; I have no credentials.
  ```
- **No Git remote available to push the example for deployment**: Pergola deployment requires the app to live in a Git repository Pergola can read. The sandbox repo had no remote configured, blocking the CLI's `pergola create project --git-url` step even if credentials existed.
  Event 228:

  ```text
  A deploy needs a **Git remote Pergola can read** (this workspace has no remote).
  ```
  Event 11:

  ```text
  --- git remote ---
  ```
- **Search engines returned bot-check pages instead of results**: DuckDuckGo (both html and lite endpoints) served CAPTCHA challenge pages rather than search results, forcing the agent to fall back to Bing RSS and direct domain probing to identify the real Pergola product — an environment/tooling friction, not a Pergola product issue.
  Event 22:

  ```text
  Unfortunately, bots use DuckDuckGo too. Please complete the following challenge to confirm this search was made by a human.
  ```
  Event 74:

  ```text
  Unfortunately, bots use DuckDuckGo too. Please complete the following challenge to confirm this search was made by a human.
  ```

#### Suggested Changes
- **Add a non-interactive / sandboxed trial signup path for the CLI**: The CLI quickstart at docs.pergola.cloud/docs/cli/ only documents `pergola login` (interactive browser OAuth) or Access Keys minted from an existing account. Add a documented way to obtain a first Access Key or trial account non-interactively (e.g., a signup API endpoint or CLI signup flow) so agent-driven or headless evaluators can reach the authenticated CLI/MCP flow. Verify by confirming a fresh environment with no browser can obtain a working Access Key end-to-end.
  Event 150:

  ```text
  After a fresh installation of the CLI, you will need to perform a first time login to your Pergola cluster.
  ```
  Event 150:

  ```text
  This will guide you through the login process .
  ```
- **Publish a discoverable REST API/SDK reference alongside the CLI docs**: The only documented automation surfaces are the CLI and the experimental MCP server; no public HTTP API or SDK reference was found on docs.pergola.cloud despite the seed task specifically requesting SDK/API usage. Add an API reference page (or link one from docs/overview or docs/cli) so 'hosted product through its SDK or API' workflows are directly discoverable without falling back to CLI-only automation.
  Event 150:

  ```text
  The Pergola CLI is a tool for managing your Pergola resources and services (Projects, Stages, Releases, etc.) on a command line interface or in scripts.
  ```
  Event 160:

  ```text
  The Pergola MCP server , started by pergola mcp serve , which exposes Pergola operations as Model Context Protocol tools.
  ```

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/72a33a3b-7aee-4450-a352-37bdaca9c00d) · [Read transcript](https://www.ax-check.com/pergola.cloud/sessions/kimi.json)
Final output states 'No pricing exists to report' with no figure or assumptions given — pricing was never stated, only its absence noted.
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: No product named Pergola with an SDK, API, or hosted service was ever located. The agent searched npm, PyPI, GitHub, and general web search, finding only unrelated packages/repos and parked domains for sale. No credentials were obtained and no authenticated operation was attempted because there was nothing to authenticate against.
  Event 68:

  ```text
  I can't find a developer product called "Pergola" to build against, so there is no SDK/API workflow for me to act on.
  ```
  Event 26:

  ```text
  pergola.io is a domain name currently listed for sale on GoDaddy's aftermarket.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No real Pergola product exists to build against**: Every plausible domain (pergola.io, pergola.ai, getpergola.com, pergolaai.com) resolved to a parked-domain-for-sale page, not a live product. The only 'pergola' package on npm is an unrelated tiny functional-utilities library from 2020, and GitHub/PyPI searches turned up only unrelated projects (FPGA boards, MongoDB frontends, literal garden pergola configurators). This is not a test-environment or agent-error issue — it reflects that the named product could not be located publicly, so there was no developer workflow to act on.
  Event 26:

  ```text
  pergola.io is a domain name currently listed for sale on GoDaddy's aftermarket. It is available via Buy-It-Now, Make-an-Offer, or Lease-to-Own
  ```
  Event 44:

  ```text
  pergola-fpga/pergola | 81 | Low-cost ECP5 FPGA development board
  ```
  Event 9:

  ```text
  "name":"pergola","keywords":["arithmetic","comparison"],"version":"1.0.0","description":"Functional utilities."
  ```
  Event 68:

  ```text
  there is no SDK/API workflow for me to act on
  ```

#### Suggested Changes
None identified in this transcript.

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/ab9128ff-d68f-4f5a-abb9-bfc45ff1591a) · [Read transcript](https://www.ax-check.com/pergola.cloud/sessions/qwen.json)
Final output explicitly states 'I can't tell you how pricing works, and I won't guess' — no cost figure of any kind is given, so there are no assumptions to accompany a number that doesn't exist.
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: No product named Pergola with a hosted API/SDK was ever located. The agent checked PyPI, npm, and several domain guesses, found only an unrelated open-source genomics library and an unrelated npm utility package, plus a parked domain and empty pages. No credentials were obtained or used, and no authenticated operation against a real hosted product occurred.
  Event 33:

  ```text
  Stopping here, plainly: I could not find a hosted "Pergola" product with an SDK/API I can act on, so I built nothing.
  ```
  Event 33:

  ```text
  There's no hosted API key, no SDK call I can make, no docs to follow.
  ```

#### Hallucinated URLs
- **Guessed vendor domains that led nowhere**: The agent tried a batch of plausible-sounding domain names for a 'Pergola' product (pergola.dev, usepergola.com, pergola.com, getpergola.com) without any prior evidence such a vendor exists. These were guesses, not links found in docs or search results, and none resolved to a real product site (connection failures, a 502, or empty pages). This is a case of speculative guessing rather than following a broken documented link, though the guesses were disclosed transparently rather than presented as real.
  Event 20:

  ```text
  for d in pergola.io pergola.dev pergola.ai usepergola.com pergola.com getpergola.com; do printf "%s: " "$d"; curl -s -o /dev/null -m 6 -w "%{http_code}\n" "https://$d"
  ```
  Event 21:

  ```text
  pergola.io: 200
  pergola.dev: 000
  fail
  pergola.ai: 200
  usepergola.com: 000
  fail
  pergola.com: 502
  getpergola.com: 200
  ```

#### Blockers
- **No hosted Pergola product exists to onboard against**: The only artifacts findable under the name 'Pergola' are an unrelated academic GPLv3 Python library (behavioral-data-to-genome-format converter) and an unrelated MIT npm utility package. Neither exposes a hosted API, SDK, pricing page, or auth flow. This is not an agent error or a credential gap — it reflects the actual absence of a matching hosted product reachable from public package registries and domain lookups, so the agent could not proceed per the session's own instructions to stay light and stop if blocked.
  Event 17:

  ```text
  A python library for the conversion of behavioral data into genome
  browser compatible formats.
  ```
  Event 12:

  ```text
  pergola@1.0.0 | MIT | deps: none | versions: 3
  Functional utilities.
  ```
  Event 33:

  ```text
  I could not find a hosted "Pergola" product with an SDK/API I can act on, so I built nothing.
  ```
- **Web search blocked by bot-detection challenge**: An attempt to search DuckDuckGo for more context on a 'Pergola' API/pricing was blocked by an anti-bot CAPTCHA, cutting off one avenue for locating documentation. This is an external test-environment/service limitation (DuckDuckGo bot protection), not a product or agent defect.
  Event 31:

  ```text
  Unfortunately, bots use DuckDuckGo too. Please complete the following challenge to confirm this search was made by a human. Select all squares containing a duck:
  ```

#### Suggested Changes
None identified in this transcript.

### Task given to each agent
Help me build a simple example using Pergola. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.

No product credentials were supplied and no purchases were authorized.

## Score: B · 65/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

### Clarity
- **Failed** — Homepage answers Markdown requests

  ```text
  Homepage returned text/html for a Markdown Accept header; no Markdown representation offered.
  ```

- **Failed** — llms.txt provides an actionable documentation index

  ```text
  /llms.txt returns the HTML homepage, not a documentation index.
  ```

- **Skipped** — llms.txt provides navigation guidance

  ```text
  No llms.txt body exists; navigation guidance cannot be judged.
  ```

- **Skipped** — llms.txt mentions offered API, MCP, and skills

  ```text
  No llms.txt body exists; API/MCP/skills mentions cannot be judged.
  ```

- **Pass** — A compact guide representation exists

  ```text
  docs.pergola.cloud/docs/gettingstarted.md returns a standalone Markdown getting-started guide.
  ```

- **Pass** — A focused guide is directly retrievable

  ```text
  Getting-started guide is directly retrievable as Markdown with concrete setup steps.
  ```

- **Pass** — Equivalent instructions fit a token budget

  ```text
  Markdown guide measures 863 tokens, well under the 8000-token budget.
  ```

- **Skipped** — Product-docs links survive format changes

  ```text
  Homepage Markdown unsupported, so link preservation across formats cannot be measured.
  ```

- **Pass** — The compact guide is independently actionable

  ```text
  Getting-started guide gives concrete steps: create project, add pergola.yaml manifest, build and deploy.
  ```

- **Pass** — Install and next-step links resolve

  ```text
  Fetched getting-started and pricing pages resolve; docs and console links present on homepage.
  ```


### Onboarding
- **Pass** — Docs lead to a relevant quickstart

  ```text
  Docs nav links Getting Started; page gives a 5-minute first-project quickstart with concrete steps.
  ```

- **Pass** — Installation commands are extractable

  ```text
  CLI page gives install script and manual binary commands for Linux, macOS, Windows.
  ```

- **Pass** — Code examples are available without interaction

  ```text
  Getting started shows a pergola.yaml manifest example; CLI page shows many command examples.
  ```

- **Pass** — Prerequisites and auth boundaries are explicit

  ```text
  Getting started states Dockerfile, Git repo, and Pergola account prerequisites; CLI requires login/endpoint.
  ```


### Pricing
- **Failed** — Agents identify pricing and its assumptions

  ```text
  3 of 3 sessions were judged on pricing; 2 fell short. DeepSeek V4 Pro: Pricing section lists Starter/Power User/Enterprise tiers with exact usage rates and explicitly notes assumptions/unknowns like the 14-day trial, Stripe checkout, and that it 'didn't verify a no-card sandbox' (seq 228). Kimi K3: Final output states 'No pricing exists to report' with no figure or assumptions given — pricing was never stated, only its absence noted. Qwen 3.8 Max: Final output explicitly states 'I can't tell you how pricing works, and I won't guess' — no cost figure of any kind is given, so there are no assumptions to accompany a number that doesn't exist. This behavioural item does not affect the fast grade.
  ```

- **Pass** — Pricing is readable without interaction

  ```text
  Pricing page renders plan tiers and usage rates as static text without interaction.
  ```

- **Pass** — Prices are stated, not gated

  ```text
  Starter €9.99/mo, Power User €29.99/mo, usage rates all stated publicly.
  ```

- **Pass** — Pricing units and limits are explicit

  ```text
  Units explicit: per vCPU/hour, per GiB/hour, per Stage/month, per Build.
  ```


### Activation
- **Skipped** — An API reference or OpenAPI spec is reachable

  ```text
  No API reference or OpenAPI spec fetched; CLI docs describe commands but not a REST API reference.
  ```

- **Pass** — An MCP server is documented and well-formed

  ```text
  CLI docs document 'pergola mcp serve' over stdio with client config and login requirement.
  ```

- **Pass** — A CLI install path is documented

  ```text
  CLI page documents install script, manual binaries, and 'pergola login' first-time setup.
  ```

- **Skipped** — SDK packages resolve on their registries

  ```text
  No registry lookup for a Pergola SDK or packaged CLI package was supplied.
  ```

- **Skipped** — Agent skills are published

  ```text
  Homepage mentions Agent Skills but no skills page or manifest was fetched.
  ```



[Full report data](https://www.ax-check.com/pergola.cloud/report.json)
