---
title: "Talk to your AI agent"
description: "You don't need to learn KUMODeck to use it. Open your AI coding agent (Claude Code, Codex, Cursor, …) in your project folder — a web app, a game, anything — and ask in your own words."
url: "/docs/ask-claude-code/"
lang: en
index: "/llms.txt"
---
# Talk to your AI agent

You don't need to learn KUMODeck to use it. Open your AI coding agent (Claude Code, Codex, Cursor, …) in your project folder — a web app, a game, anything — and ask in
your own words.
Every template ships an `AGENTS.md` that tells the assistant how to add each KUMODeck feature, which rules never to break,
and which command to run next. This page is a set of requests you can copy as-is, with the commands the assistant runs for you.

Two things always stay with you: **typing your password** (`kumodeck signup` / `kumodeck login` in your own terminal) and
**paying** (you enter your card on Stripe's page). Everything else you can ask for.

## Once: set up

```sh
npm install -g kumodeck
kumodeck signup          # you type this yourself — the password never goes through the assistant
```

Then add prepaid credit — there is no free tier, so usage is taken at cost from a prepaid balance
([Pricing](/docs/pricing/index.md#prepaid-balance)):

```text
Add the minimum prepaid credit to my KUMODeck account.
```

```sh
kumodeck billing topup     # $5 minimum. Prints a Stripe payment URL (and opens it); you pay there; it then shows your balance
```

The assistant shows you the payment URL and waits. It never sees your card. Later, "How much prepaid credit do I have
left?" runs `kumodeck billing`. If a deploy ever fails with `402`, the balance is used up: top up, then the same deploy goes through.
Got an invite code? "Use my invite code …" runs `kumodeck billing redeem <code>` (invite credit: usage fees only, added once
your email is confirmed).

To also check usage costs and your projects from the conversation, connect the MCP server once
([Use from an AI agent (MCP)](/docs/claude-code/index.md): Codex, Cursor and others are there too). In Claude Code:

```sh
claude mcp add --transport http kumo https://mcp.kumodeck.com/mcp
```

In another agent, add `https://mcp.kumodeck.com/mcp` as an MCP server named `kumo` ([other MCP agents](/docs/claude-code/index.md#other-mcp-agents)).

## Start a web app

```text
Build a habit tracker as a web app on KUMODeck. Each person's habits should be saved and follow them to any device.
Host it on KUMODeck so I can try it on my phone.
```

What the assistant runs, in your app's folder (no template needed):

```sh
kumodeck whoami                                   # logged in? If not, it asks you to run `kumodeck login`
kumodeck init                                     # creates the project and its keys
kumodeck features on saves                        # each person's data (a *player* in the API = one of your users)
kumodeck config push
kumodeck deploy --env development                 # prints the URL
```

It writes the app itself (for example with your usual build tool) and deploys the build folder. The code is yours;
KUMODeck is only the backend. For a small app it does not stop with a list of design questions: it picks sensible
defaults, builds it, and tells you in one line what it chose (say so to change it). It answers in the language you write in.

## Start a game

```text
Make a new KUMODeck game from the phaser template called space-dodge and link it to a new project.
```

What the assistant runs:

```sh
kumodeck whoami                                   # logged in? If not, it asks you to run `kumodeck login`
kumodeck create space-dodge --template phaser --init
```

Then change the game however you like — "make the player a spaceship and add asteroids". The game code is yours;
KUMODeck is only the backend.

## Ship it

```text
Deploy it to development so I can try it on my phone.
```

```sh
kumodeck config push                   # the project's settings (development)
kumodeck deploy --env development      # prints the URL (…/space-dodge--dev/)
```

Right after this first deploy to development, it asks you once: "Publish it to production (the live app) too?". It does not
ask again after later deploys to development (a new feature, the database); say "ship it" whenever you want the live app updated.

```text
Looks good. Ship it to production.
```

```sh
kumodeck config push --env production
kumodeck deploy --env production       # the live app or game; prints its URL (without --env: the development test copy)
```

## Put it on X

```text
Turn on sharing on X and add a "Can you beat me?" button on the game-over screen that shares my score.
```

```sh
kumodeck share on                      # card image, share links, visits per post (both environments); prints the card tags for <head>
```

The assistant adds a button that calls `kumo.share({ kind: 'challenge', score })` and shows incoming
challenges on the menu. Then:

```text
Give me a tracked link for my launch post, and tomorrow tell me how many people came from it.
```

```sh
kumodeck share link "launch post"      # the URL to post on X
kumodeck share stats                   # visits, new users, opens per link
```

More: [Sharing on X](/docs/guides/sharing/index.md).

## Add a feature

Each of these is one request. The assistant turns on only what the request needs (everything is off by default), edits
`kumo.config.json`, calls the SDK, pushes to development and tells you what it turned on.

| Ask | What it does |
|---|---|
| "Save each user's progress to the cloud." | `kumodeck features on saves` → `kumo.saves.set / get` |
| "Add a daily high-score leaderboard with my own rank." | The leaderboard Skill (`.agents/skills/leaderboard/`, the same in `.claude/skills/`) builds it in your own database and [Functions](/docs/guides/functions/index.md): a table, an endpoint for scores and your game's code. The code is yours to change |
| "Let people sign in with X." | You create your own X app and paste its keys in the dashboard ([steps](/docs/guides/auth/index.md#your-own-x-app)); then `auth.providers.x.enabled` → `kumo.auth.signInWithProvider('x')` |
| For games: "Make it 2-player online." | `kumodeck features on multiplayer` → `multiplayer.modes` → `kumo.rooms.quickMatch` ([Multiplayer](/docs/guides/multiplayer/index.md)) |
| "I need my own server code with a SQL database." | `kumodeck create api --template functions-starter` → `kumodeck functions enable` → `kumodeck functions deploy` ([Functions](/docs/guides/functions/index.md)) |

## Fix something

```text
Cloud saves work on the dev copy but fail on the live app. Fix it.
```

```sh
kumodeck features --env production     # finds saves off in production
kumodeck config push --env production  # after asking you: this changes the live app
```

Errors from the CLI name the next command (`--json` puts it in `hint`), so the assistant can usually fix it on its own.
A config mistake is rejected with the exact path, such as `multiplayer.modes.0.maxPlayers`.

```text
The new version is broken. Roll production back to the previous one.
```

```sh
kumodeck deployments                   # * = live
kumodeck rollback 4
```

## Check costs

With the MCP server connected:

```text
What did I spend on infrastructure last month, and how much prepaid credit is left?
```

The assistant uses `usage_get` (what each building block cost, at cost), `usage_daily` (by day) and `prepaid_get` (your
prepaid balance). Without MCP: `kumodeck usage` and `kumodeck billing`.

## What the assistant will not do

- Type or ask for your password, or create accounts for you
- Put a secret key (`sk_…`) or a sign-in provider's secret in your code or in the conversation
- Show the KUMODeck name to your users (no "Powered by KUMODeck")
- Turn on features you did not ask for, or change the live app without telling you
- Enter card details or pay for you (it only shows you the Stripe payment URL)
