# AX Check: docsalot.dev
Checked 2026-09-28.

Docs, install steps, and pricing are all clear right away
All 23 checked items passed: quickstart, CLI install, API/MCP docs and pricing ($39 Startup, $99 Team, custom Enterprise) are stated plainly with no login needed.

## Onboarding needs a login

## Coding sessions
Two of three independent agent sessions completed the task and both reported the same pricing table (Startup $39/mo, Team $99/mo, custom Enterprise) pulled straight from the public pricing page, with plan limits like site count and AI messages per month noted. The third session did not finish.

### DeepSeek V4.1 Flash
[View public run](https://agents.withgauge.com/p/runs/17ca5cc6-3b32-4964-a23a-615cd5ec355e) · [Read transcript](https://www.ax-check.com/docsalot.dev/sessions/deepseek.json)
Final output gives a pricing table (Startup $39/mo, Team $99/mo, Enterprise custom) sourced from the live pricing page (seq 72) with named assumptions: fixed-price hosting not usage-metered, plan tiers scale by AI capacity/governance not hosting, and a PH50 promo code caveat.
#### End-to-end onboarding
- **Onboarding needs a login**: Agent researched DocsAlot and built a working Node script against the real hosted API (docsalot.dev/api/cli/v1), confirming the endpoint live with a genuine 401 from production. But the sandbox had no DOCSALOT_API_TOKEN and no way to complete the required browser/device login, so no authenticated operation (whoami, list, create, push, publish) was ever completed. A fake-token 401 is not sufficient proof of authenticated use.
  Event 80:

  ```text
  === env tokens ===
  no DOCSALOT env vars
  ```
  Event 146:

  ```text
  === fake token -> live 401 ===
  Error: 401 Unauthorized: Invalid or expired token.
  ```
  Event 148:

  ```text
  This sandbox has **no `DOCSALOT_API_TOKEN`**, and DocsAlot auth is either a dashboard-issued token or an interactive browser/device flow — neither of which I can complete for you.
  ```

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

#### Blockers
- **No API token available to exercise the hosted API**: DocsAlot requires either a dashboard-issued API token or an interactive browser/device login to authenticate. The sandbox environment had neither, so the agent could not run any authenticated operation against the live API. This is a credentials/environment limitation of the test session, not a product defect — the API responded correctly to both no-token and fake-token requests.
  Event 80:

  ```text
  === env tokens ===
  no DOCSALOT env vars
  ```
  Event 148:

  ```text
  This sandbox has **no `DOCSALOT_API_TOKEN`**, and DocsAlot auth is either a dashboard-issued token or an interactive browser/device flow — neither of which I can complete for you.
  ```
- **OpenAPI spec download returned HTML instead of JSON**: Fetching the documented OpenAPI spec URL (docsalot-docs.docsalot.dev/openapi/docsalot-cli-v1.json) returned an HTML page instead of JSON, causing a JSON parse failure. The agent worked around this using inline YAML snippets embedded in each API reference page. Looks like a product-side routing quirk since the URL came from the docs' own download link.
  Event 107:

  ```text
  json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
  ```
  Event 113:

  ```text
  <!DOCTYPE html><html lang="en" class="[--scroll-mt:9.875rem] lg:[--scroll-mt:6.3125rem]"><head><meta charSet="utf-8" data-next-head=""/>
  ```

#### Suggested Changes
- **Fix the OpenAPI spec download link to serve JSON**: On the API reference page (docsalot-docs.docsalot.dev/api-reference/openapi-spec), the 'Download docsalot-cli-v1.json' link at /openapi/docsalot-cli-v1.json returns an HTML page instead of the JSON file. Update the route so it serves raw JSON with correct content-type; verify by curling the URL and confirming it parses as JSON.
  Event 107:

  ```text
  json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
  ```
  Event 99:

  ```text
  Download the public OpenAPI contract used by this API reference:
  
  - [Download `docsalot-cli-v1.json`](/openapi/docsalot-cli-v1.json)
  ```
- **Add a token-only quickstart path for agents**: Quickstart and llms.txt center onboarding on the web editor or interactive browser login. Add a doc section showing where in the dashboard to generate an API token without a browser login step, so agents given a pre-provisioned token can go straight to API calls. Verify by having an agent follow only that section and call POST /documentations successfully with no human-typed login step.
  Event 89:

  ```text
  The CLI prints a URL, the user opens it in the browser, approves the login, and the CLI session is authenticated automatically.
  ```
  Event 148:

  ```text
  DocsAlot auth is either a dashboard-issued token or an interactive browser/device flow
  ```

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/4cde68d0-2e27-4624-a59f-81c976bf12c2) · [Read transcript](https://www.ax-check.com/docsalot.dev/sessions/kimi.json)
Final output gives per-plan pricing ($39/mo Startup, $99/mo Team, custom Enterprise) sourced from docsalot.dev/pricing (seq 34) with explicit feature/plan assumptions (site count, AI messages/mo, languages, no per-seat charges) attached to each tier.
#### End-to-end onboarding
- **Onboarding needs a login**: The agent found a real hosted product (docsalot.dev) with a working npm CLI, but every path to remote/authenticated operations (docs create, push, publish, docs list) required either an interactive browser login or a human-issued API token. No credentials were obtained during the session, so only the fully offline `docs init` scaffold step was completed locally; no authenticated call to the hosted API succeeded.
  Event 62:

  ```text
  "message": "No API token configured. Run `docsalot auth login` first."
  ```
  Event 63:

  ```text
  I can't complete the hosted half (`docs create`, `push`, `publish`). Both auth paths need something I don't have:
  - `docsalot auth login` — opens a browser/device flow requiring a human to sign in
  - `docsalot auth login --token <TOKEN>` — needs an API token from your DocsAlot dashboard (account creation itself is browser-based)
  ```
  Event 37:

  ```text
  return (0, http_1.httpJson)(`${this.baseUrl}/auth/device/start`, {
  ```

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

#### Blockers
- **No self-service way to obtain an API token or complete login**: Both CLI auth paths (`docsalot auth login` browser flow and `--token` login) require a human to sign in via docsalot.dev and issue a token from the dashboard. This is a normal authentication requirement of the product, not a bug, but it stopped all remote operations (create, push, publish, list) in this unattended session.
  Event 63:

  ```text
  `docsalot auth login` — opens a browser/device flow requiring a human to sign in
  ```
  Event 62:

  ```text
  "message": "No API token configured. Run `docsalot auth login` first."
  ```

#### Suggested Changes
- **Add a visible pricing/plan link inside the CLI's initial scaffold output**: The `docs init` output and generated index.mdx mention publishing and preview commands but never surface pricing or plan requirements; a new developer only finds pricing by separately crawling docsalot.dev/pricing. Add a short pricing/plan note to the `docs init` CLI output or generated getting-started.mdx, and confirm by re-running `docsalot docs init` and checking the printed summary or file contents for a pricing reference.
  Event 50:

  ```text
  Initialized local docs scaffold at /sandbox/repo/docsalot-example.
  Copied 7 template files from init-template.
  Template files: api-reference/customers/create-customer.mdx, api-reference/customers/delete-customer.mdx, api-reference/customers/get-customers.mdx, api-reference/customers/update-customer.mdx, getting-started.mdx, index.mdx, layout.json
  Preview locally: docsalot docs preview --dir .
  Create remote docs when ready: docsalot docs create --name "Acme API Docs"
  ```
- **Replace default scaffold branding (CoreThink) with the CLI's own project name**: The generated layout.json ships with a leftover 'CoreThink' name, logo, and font assets unrelated to Docsalot, even though the init command was called with --name "Acme API Docs". Fix the init-template default in the docsalot-cli package (package/init-template/layout.json) so the --name flag actually populates the layout, and verify by running `docsalot docs init --name <X>` and checking layout.json's "name" field matches X without manual sed edits.
  Event 53:

  ```text
  {
    "name": "CoreThink",
    "logo": {
      "light": "https://storage.googleapis.com/docsalot/assets/corethinkai/corethinkLogoLight.svg",
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/560c8ee2-cc0b-4fa4-bcc9-930ef2433cd4) · [Read transcript](https://www.ax-check.com/docsalot.dev/sessions/qwen.json)

#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: The transcript is truncated after only two tool calls (a directory listing and a grep search for 'docsalot' references). No sign-up, API key retrieval, SDK installation, or authenticated request to any DocsAlot product endpoint appears in the available events. No credentials or product operation evidence exists in the record.
  Event 4:

  ```text
  grep -ril "docsalot\|docs-alot\|docs_alot" / --include="*" 2>/dev/null | head -50
  ```

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

#### Blockers
- **No DocsAlot product files or docs found in sandbox**: Agent searched the entire filesystem for any reference to 'docsalot' (in various spellings) and the search returned to a tool_result with no matches shown in the transcript excerpt, suggesting the product may not be locally available and the agent has to rely on external lookup which is not evidenced here. This is inconclusive from the partial transcript, but represents the last observed state: agent still discovering environment context before any product interaction.
  Event 4:

  ```text
  grep -ril "docsalot\|docs-alot\|docs_alot" / --include="*" 2>/dev/null | head -50
  ```
  Event 5:

  ```text
  total 16
  drwxr-xr-x 3 root root 4096 Sep 18 08:00 .
  drwxr-xr-x 7 root root 4096 Sep 28 22:08 ..
  drwxr-xr-x 8 root root 4096 Sep 24 20:05 .git
  -rw-r--r-- 1 root root  408 Sep 18 08:00 .gitignore
  ---
  ```

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

### Task given to each agent
Help me build a simple example using DocsAlot. 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: A · 100/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

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

  ```text
  Homepage returned text/markdown (2622 tokens) for a text/markdown Accept header.
  ```

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

  ```text
  llms.txt lists canonical URLs, product docs, quickstart, pricing, tools and CLI onboarding steps.
  ```

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

  ```text
  llms.txt gives canonical URLs, official next steps and comparison guidance for navigation.
  ```

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

  ```text
  llms.txt mentions hosted MCP server, API/OpenAPI docs, CLI and skill.md outputs.
  ```

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

  ```text
  Homepage returns text/markdown and /index.md exists as a machine-readable landing page.
  ```

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

  ```text
  Quickstart.md and CLI agent-first onboarding are directly retrievable as standalone Markdown.
  ```

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

  ```text
  Quickstart Markdown is 1073 tokens, well under the 8000-token budget.
  ```

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

  ```text
  Homepage Markdown preserves docs, quickstart, API playground and pricing links.
  ```

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

  ```text
  Quickstart gives concrete steps: create docs, edit index.mdx, publish, view live; CLI install and auth also documented.
  ```

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

  ```text
  Fetched quickstart, CLI onboarding, API reference and docs pages all returned 200 with usable content.
  ```


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

  ```text
  llms.txt and homepage link to a quickstart with concrete deploy, edit, and publish steps.
  ```

- **Pass** — Installation commands are extractable

  ```text
  CLI install commands shown: npm install -g docsalot-cli, docsalot --version, skills install.
  ```

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

  ```text
  Quickstart and CLI pages show inline code blocks without requiring interaction.
  ```

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

  ```text
  Prerequisites list Node.js 20+, npm, account; auth via browser login or API token.
  ```


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

  ```text
  Pricing page renders plan names and prices as static text, no interaction needed.
  ```

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

  ```text
  Startup $39/month and Team $99/month stated openly; Enterprise custom.
  ```

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

  ```text
  Plans list units: 1 docs site, 250 AI messages/month, 2 vs 5 languages.
  ```

- **Pass** — Agents identify pricing and its assumptions

  ```text
  2 of 3 sessions were judged on pricing; 0 fell short. DeepSeek V4.1 Flash: Final output gives a pricing table (Startup $39/mo, Team $99/mo, Enterprise custom) sourced from the live pricing page (seq 72) with named assumptions: fixed-price hosting not usage-metered, plan tiers scale by AI capacity/governance not hosting, and a PH50 promo code caveat. Kimi K3: Final output gives per-plan pricing ($39/mo Startup, $99/mo Team, custom Enterprise) sourced from docsalot.dev/pricing (seq 34) with explicit feature/plan assumptions (site count, AI messages/mo, languages, no per-seat charges) attached to each tier. This behavioural item does not affect the fast grade.
  ```


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

  ```text
  API reference page documents base URL, auth, endpoints, and links an OpenAPI spec download.
  ```

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

  ```text
  Dashboard MCP page documents server URL, OAuth/token auth, scopes, and named tools.
  ```

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

  ```text
  CLI install documented: npm install -g docsalot-cli, version check, auth, and skills install.
  ```

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

  ```text
  npm registry lookup for docsalot-cli returned HTTP 200.
  ```

- **Pass** — Agent skills are published

  ```text
  CLI skill install documented via 'docsalot skills install' for coding agents.
  ```



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