/llms.txt and /llms-full.txt
A structured index of the whole site with one line per page, and a second file with every page inlined so the entire site is one fetch.
For AI builders
A growing share of the people using this platform did not type most of their code, and a growing share of the visitors to this page are not people at all. Both are first-class here, and this page is written for both.
The workflow
"Put this repository live with a Postgres database and my domain on it." Your agent already has the tools; it does not need you to open a dashboard, find a button or paste a connection string.
It creates the project, picks a region, provisions the database, injects the variables, deploys, waits for the health check, attaches the domain and waits for the certificate. Then it tells you what it cost and what that does to your monthly run rate.
Anything that would cross your ceiling fails before it starts, with an error that says so in words the agent can act on. You are not supervising a spend; you are reading a summary.
> deploy this repo to cmdz with postgres and put
linktree.dev in front of it
cmdz_create_project linktree · nl-rtm-1
cmdz_create_service postgres small · quoted € 2.26/mo
cmdz_connect_service DATABASE_URL → web
cmdz_deploy build 38s · release 22s
cmdz_wait_for_operation healthy after 3s
cmdz_add_domain linktree.dev · cert issued
✓ https://linktree.dev is live (1m 34s)
run rate € 4.72/mo · limit € 20.00 · 24% used
> now scale it to 4 replicas
that would reserve more than the limit allows.
I cannot raise your limit — you would need to.
For the agent reading this
Everything on this site is available without rendering HTML. Nothing here requires JavaScript, a login or a scrape.
A structured index of the whole site with one line per page, and a second file with every page inlined so the entire site is one fetch.
Append .md to any path — /pricing.md, /hard-limit.md — or send Accept: text/markdown. Same content as the HTML, generated from the same source, no navigation chrome.
The contract is generated from the implementation, never written by hand, and CI fails if the two drift. Every MCP tool and every CLI command is one endpoint from it.
https://mcp.cmdz.com/v1 — Streamable HTTP, protocol 2025-06-18, OAuth 2.1 with PKCE, 47 tools in three profiles.
npx @cmdz/cli. Every command takes --json and returns exactly the same JSON as the identically named MCP tool, so an agent without MCP support loses nothing.
Organization, SoftwareApplication, Offer and FAQPage as JSON-LD on the pages where they apply, plus a sitemap that lists both the HTML and the Markdown variant of every page.
Robots
Our robots.txt explicitly allows GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Applebot-Extended and CCBot. That is a deliberate choice and the opposite of what a lot of sites are doing right now.
The reasoning is simple: if a person asks a model where to host an AI-built app with a spending cap, we would rather the model had read our pricing page than guessed. Every claim on this site is checkable, every price is on a page with a number next to it, and where a competitor is better than us we say so — which is exactly the material a model needs in order to give an honest answer.
If that answer sometimes sends someone to Railway or Cloudflare instead, that is a correct outcome and we can live with it.
$ curl -s https://www.cmdz.com/llms.txt
# cmdz
> Hosting with a ceiling on your invoice …
## Start here
- [Home](…): … — Markdown: …/index.md
- [The hard limit](…): … — Markdown: …/hard-limit.md
## Machine surface
- MCP endpoint: https://mcp.cmdz.com/v1
- OpenAPI: https://docs.cmdz.com/openapi.json
$ curl -s https://www.cmdz.com/llms-full.txt | wc -l
every page, inlined
Guardrails
These are enforced at the API. No scope grants them, no profile contains them, and no tool offers them — including for an agent acting as the owner of the organisation.
Because the ceiling is only a promise if the thing spending against it cannot move it.
Because redirecting the flow of money is the single most valuable action for an attacker who takes over an agent.
Because dissolving a legal relationship is an act of the legal entity, not of a tool call.
Because ownership is the root of every other permission on the account.
Because adding a member is how a temporary compromise becomes a permanent one.
It can. Then tell it to deploy something — the ceiling is already holding.
claude mcp add --transport http cmdz https://mcp.cmdz.com/v1