# AX Check: tiden.ai
Checked 2026-11-03.

Tiden.ai's setup, docs, and pricing are clear and agent-ready.
18 of 23 checklist items passed: quickstart, CLI install, API/MCP docs and pricing ($20/$100 per month tiers) are all stated plainly without interaction.

## Onboarding needs a login

## Coding sessions
All three independent sessions completed and reviewed pricing. Two correctly reported Start at $20/month and Pro at $100/month with usage-based tiers and a 14-day trial; one incorrectly concluded the product was free open-source software based on a registry license field.

### DeepSeek V4.1 Flash
[View public run](https://agents.withgauge.com/p/runs/f283a2f5-cd54-4494-9914-baa8d0623d41) · [Read transcript](https://www.ax-check.com/tiden.ai/sessions/deepseek.json)
Gave the plan prices: Start $20/mo, Pro $100/mo in x1–x20 sizes, Enterprise custom. Tied them to included verified changes, telemetry and retention, the 14-day trial, 20% off annual, which changes are free, and no overage. (seq 35, seq 122)
#### End-to-end onboarding
- **Onboarding needs a login**: Agent explored docs/API thoroughly and built a REST client example, but could never obtain a real Tiden API token because every credential path (web app Settings > API tokens, or the `tiden setup` device-flow) requires a human to approve sign-in in a browser. No self-service/headless credential mint exists. The agent validated only the failure paths (no token, fake token) against the live API and never performed an authenticated operation.
  Event 66:

  ```text
  {"code":16, "message":"missing authorization header", "details":[]}
  ```
  Event 116:

  ```text
  HTTP 401 on GET /v1/auth/me: {"code":16, "message":"invalid or expired API token", "details":[]}
  ```
  Event 122:

  ```text
  API tokens (`tfy_...`) are minted in the web app **Settings → API tokens**, or via the `tiden setup` device flow, which opens a browser for approval.
  ```

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

#### Blockers
- **No self-service way to mint an API token**: Product behavior, not agent error: every path to a usable Tiden credential (web app login to create an API token, or the `tiden setup` CLI device-code flow) requires a human to approve a browser sign-in. The agent correctly identified this from docs and confirmed the live API rejects both absent and fake tokens, but could not proceed to any authenticated operation (create product, create spec, etc.) within the session.
  Event 66:

  ```text
  {"code":16, "message":"missing authorization header", "details":[]}
  ```
  Event 116:

  ```text
  HTTP 401 on GET /v1/auth/me: {"code":16, "message":"invalid or expired API token", "details":[]}
  ```
  Event 122:

  ```text
  Neither can be created anonymously or headlessly without an existing token, so this example cannot be executed end-to-end without a human signing in once.
  ```

#### Suggested Changes
- **Add a headless/CI-friendly token bootstrap path to the quickstart**: The quickstart (docs.tiden.ai/docs/getting-started/quickstart) and setup-cli docs only describe interactive browser approval for both `tiden setup` and web-app token creation; there is no documented way to mint a first API token without a human in the loop. Check by having a fresh, non-interactive environment attempt to obtain a token end-to-end per the documented steps.
  Event 60:

  ```text
  The setup flow: Creates a setup session. Opens the Tiden app in your browser. Lets you approve the CLI.
  ```
  Event 51:

  ```text
  The agent installs the CLI, signs you in, binds the repository to a product, and starts Tiden's first spec draft. It stops for you twice: to approve the sign-in in your browser, and on one page where you choose a plan and install the Tiden GitHub App.
  ```

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/36cafb8e-eedf-4ccd-9a9c-7182359a7891) · [Read transcript](https://www.ax-check.com/tiden.ai/sessions/kimi.json)
The agent said Tiden costs nothing because it is MIT-licensed open source on npm with no hosted tiers or usage limits. That basis comes from the registry's license field and the README. (seq 17, seq 44, seq 46)
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: No product credentials were obtained or used. The agent determined via public npm/GitHub research that Tiden is an open-source JS frontend framework with no hosted API, SDK, or pricing — not an authenticatable product — then stopped per the prompt's instructions rather than attempting any login or auth flow.
  Event 46:

  ```text
  There's no API key, endpoint, or hosted SDK I can exercise. The only developer workflow is: `npm install -g tiden` → `tiden init <project>` → `tiden start`.
  ```

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

#### Blockers
- **Tiden has no hosted API or SDK to exercise**: Product research (npm registry, GitHub, homepage) showed Tiden is a free MIT-licensed open-source frontend framework with no cloud service, API key, or SaaS pricing. This is a product-nature limitation, not an agent error — the agent correctly identified it via multiple fetches rather than guessing.
  Event 17:

  ```text
  "description": "Build dynamic web applications using streams, nano-frontends, and modern native web technology"
  ```
  Event 46:

  ```text
  Tiden is an **open-source JavaScript frontend framework** (by Mika Wikman / `mikabytes`, MIT license) for building web apps with web components, streams, and "nano-frontends." It is **not a hosted product** — there is no hosted API, no cloud service, and no SaaS SDK to call.
  ```
- **Quickstart requires a local long-running dev server**: The only documented getting-started workflow (`tiden start`) launches a local Express/hotserve server, which conflicts with the session's instruction to avoid starting local service stacks or long-running commands. The agent stopped rather than running it, per instructions, so this did not block the session — it was the trigger for stopping.
  Event 44:

  ```text
  npm install -g tiden
  tiden init <project name> [-d "project description"]
  tiden start
  ```
  Event 46:

  ```text
  The quickstart requires a local service stack.** `tiden start` spins up a local Express/hotserve dev server
  ```
- **Upstream GitHub repo and README are gone**: The GitHub repo referenced by the npm package metadata (tidenjs/tiden) returns 404 on both the API and raw README fetches, indicating the project's source/docs are no longer available at the documented location. This reflects the real state of the abandoned upstream project rather than an agent mistake.
  Event 39:

  ```text
  {
    "message": "Not Found",
    "documentation_url": "https://docs.github.com/rest/repos/repos#get-a-repository",
    "status": "404"
  }
  
  404: Not Found
  ```

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

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/c2e385d7-1cc9-414e-ba7e-0b2d1a67e5e1) · [Read transcript](https://www.ax-check.com/tiden.ai/sessions/qwen.json)
Gave Start $20/mo, Pro x1 $100/mo and Enterprise via sales. Basis: billing per verified change (merged PR passing the gate), plan quotas, free changes, 14-day trial, 20% off annual. (seq 81, seq 142)
#### End-to-end onboarding
- **Onboarding needs a login**: Agent installed the real Tiden CLI and started the documented agent sign-in flow (tiden setup --agent), which correctly exited with code 3 awaiting human browser approval of a device code. No human approval occurred during the session, so no API token was ever obtained, and no authenticated product operation (spec/test creation) was performed. The agent wrote resume instructions but never executed the authenticated CLI/API calls.
  Event 136:

  ```text
  error: Waiting for the user to approve this CLI in the browser.
  
  hint: open https://app.tiden.ai/cli/setup?code=YZ3W-P89Y&session=34daf425-71e0-4b20-bf58-051a51981b3b and confirm the code YZ3W-P89Y
        after the user approves, run `tiden setup --agent` again
  EXIT CODE: 3
  ```
  Event 142:

  ```text
  I can't do this step myself: sign-in is browser-only by design (the agent workflow explicitly forbids agents handling credentials).
  ```
  Event 130:

  ```text
  {"sessionId":"2e76ee67-3e47-4bca-97ff-eefaa46badc8", "deviceToken":"QfTVZ8gVBwaSfwKqnZKTb8N3ik9iMK-GiL9iIFEAMIA", "userCode":"AT9P-3EUJ", "verificationUri":"https://app.tiden.ai/cli/setup"
  ```

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

#### Blockers
- **CLI setup call fails over HTTP/2 before any auth attempt**: The first invocation of `tiden setup --agent` failed entirely with a transport-level error, not a login wall — this is a product/CLI defect, not a session or credential limitation. The agent diagnosed it as a malformed empty Authorization header triggering an HTTP/2 protocol rejection, and worked around it by forcing HTTP/1.1 via GODEBUG=http2client=0, after which the command behaved as documented (exit 3, link + code).
  Event 123:

  ```text
  error: request failed: Post "https://app.tiden.ai/v1/cli/setup-sessions": http2: server sent GOAWAY and closed the connection; LastStreamID=1, ErrCode=PROTOCOL_ERROR, debug="HTTP/2 protocol error: Received header value surrounded by whitespace b'Bearer '"
  ```
  Event 135:

  ```text
  {
    "version": "0.47.0",
    "goVersion": "go1.27.3",
    "os": "linux",
    "arch": "amd64"
  }
  ```
- **Session ends needing human browser approval**: Tiden's documented agent workflow requires a human to approve a device-code sign-in in a browser; this is a normal, by-design login wall rather than a product defect, and the agent correctly stopped rather than attempting to bypass it.
  Event 136:

  ```text
  Open   https://app.tiden.ai/cli/setup?code=YZ3W-P89Y&session=34daf425-71e0-4b20-bf58-051a51981b3b
  
  Code   YZ3W-P89Y
  ```

#### Suggested Changes
- **Fix the CLI's unauthenticated request to not send a malformed empty Bearer header**: In the `tiden setup --agent` request path (POST to /v1/cli/setup-sessions when no token is stored yet), the CLI sends an `Authorization: Bearer ` header with no token value, which the HTTP/2 server rejects with a GOAWAY PROTOCOL_ERROR on the very first call. Fix by omitting the Authorization header entirely when no token is present, and verify by running `tiden setup --agent --format json` from a clean environment (no ~/.tiden/config.json) without needing the GODEBUG=http2client=0 workaround.
  Event 123:

  ```text
  error: request failed: Post "https://app.tiden.ai/v1/cli/setup-sessions": http2: server sent GOAWAY and closed the connection; LastStreamID=1, ErrCode=PROTOCOL_ERROR, debug="HTTP/2 protocol error: Received header value surrounded by whitespace b'Bearer '"
  ```

### Task given to each agent
Help me build a simple example using Tiden. 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 · 82/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 text/markdown Accept header; no Markdown representation offered.
  ```

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

  ```text
  llms.txt omits the offered REST API, MCP server, and telemetry SDKs documented in the docs.
  ```

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

  ```text
  llms.txt links quickstart, agent setup, docs, pricing, and changelog for actionable navigation.
  ```

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

  ```text
  llms.txt groups Get started and Learn more sections with descriptive link labels.
  ```

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

  ```text
  llms.txt is a compact Markdown guide with get-started steps and links.
  ```

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

  ```text
  llms.txt and quickstart give directly retrievable setup steps and CLI install.
  ```

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

  ```text
  llms.txt is 241 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
  Quickstart gives concrete steps: install CLI, authorize, create specs, tests, releases.
  ```

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

  ```text
  Install commands and next-step links (agent, docs, quickstart) fetched successfully.
  ```


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

  ```text
  llms.txt and docs link a Quickstart with concrete setup steps from empty account to product.
  ```

- **Pass** — Installation commands are extractable

  ```text
  Quickstart and CLI guide give extractable install commands: curl, brew, PowerShell, tiden setup.
  ```

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

  ```text
  Quickstart shows inline code examples for spec, test, release, and gate commands.
  ```

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

  ```text
  Quickstart requires signup and org; CLI guide documents API token, base URL, and auth boundaries.
  ```


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

  ```text
  Pricing page renders plan names, prices and feature lists as static text without interaction.
  ```

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

  ```text
  Start $20/month and Pro $100/month stated publicly; Enterprise is contact-sales.
  ```

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

  ```text
  Units explicit: verified changes, error events, test results per month, retention months.
  ```

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

  ```text
  3 of 3 sessions were judged on pricing; 0 fell short. DeepSeek V4.1 Flash: Gave the plan prices: Start $20/mo, Pro $100/mo in x1–x20 sizes, Enterprise custom. Tied them to included verified changes, telemetry and retention, the 14-day trial, 20% off annual, which changes are free, and no overage. (seq 35, seq 122) Kimi K3: The agent said Tiden costs nothing because it is MIT-licensed open source on npm with no hosted tiers or usage limits. That basis comes from the registry's license field and the README. (seq 17, seq 44, seq 46) Qwen 3.8 Max: Gave Start $20/mo, Pro x1 $100/mo and Enterprise via sales. Basis: billing per verified change (merged PR passing the gate), plan quotas, free changes, 14-day trial, 20% off annual. (seq 81, seq 142) This behavioural item does not affect the fast grade.
  ```


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

  ```text
  REST API reference lists public endpoints, base URL, and Bearer token auth.
  ```

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

  ```text
  MCP server documented: stdio install, config resolution, Claude Code registration, tool list.
  ```

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

  ```text
  CLI install documented via Homebrew, install.sh, and Windows PowerShell.
  ```

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

  ```text
  No registry lookup result for a Tiden SDK or CLI package was supplied.
  ```

- **Skipped** — Agent skills are published

  ```text
  No agent skills page or skill package was fetched; only CLI skill commands mentioned.
  ```



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