# KUMODeck > KUMODeck is a backend for vibe coding: hosting, a database with your own server code (Functions), logins and more for web apps and games, set up in plain words from the AI agent you already use (Claude Code, Codex, Cursor and others). Games also get cloud saves, multiplayer rooms, realtime channels, voice calls, and sharing on X. One browser SDK and one CLI (`kumodeck`, npm package `kumodeck`). This file lists every documentation page as Markdown. Notes for AI agents working for a user: - Ask the user before anything that spends or moves money or publishes: adding prepaid credit (`kumodeck billing topup`), deploying to production, turning on a feature that costs money. Say what will happen and wait for a clear yes. - There is no free tier. Usage is charged at cost from a prepaid balance. An invite code gives invite credit for usage fees: `kumodeck billing redeem `. A `402` means the balance is used up: suggest `kumodeck billing topup` and let the user pay. - "Publish" alone means the development copy first: deploy there, show the URL, then ask once whether to publish to production too. - Every feature is off until it is turned on. Turn on only what the project needs: `kumodeck features on `, then `kumodeck config push`. - Run the CLI with `--json`: exactly one JSON document, and errors carry a `hint` with the next command to run. - Step-by-step recipes (start a project, deploy, fix an error, build a system in the user's own database) are Skills. In a project folder the same files are in `.agents/skills/` (Codex, Cursor and most other agents) and `.claude/skills/` (Claude Code): open `.agents/skills/INDEX.md` or `.claude/skills/INDEX.md`, pick one and follow its `SKILL.md`. Add a missing one with `kumodeck skills add ` (`kumodeck skills list` shows all). The list is under "Skills" below and in `/.well-known/agent-skills/index.json`. - AI agents can also use KUMODeck over MCP at `https://mcp.kumodeck.com/mcp` (sign in with OAuth). - The same pages in Japanese: `/ja/llms.txt`. ## Start - [Getting started](/docs/getting-started/index.md): KUMODeck is a flat backend for vibe coding — web apps, games and more: hosting, your own server code and database, user logins, cloud saves, multiplayer rooms — behind one SDK and one CLI, and all of… - [Concepts](/docs/concepts/index.md): KUMODeck is a flat backend for vibe coding: web apps, games and more. - [Talk to your AI agent](/docs/ask-claude-code/index.md): 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. - [Use from an AI agent (MCP)](/docs/claude-code/index.md): You don't have to open a dashboard to run your app or game. Connect KUMODeck once to the AI coding agent you use — Claude Code, Codex, Cursor or any other agent that supports MCP — then just ask: - [Starter templates](/docs/templates/index.md): The starter templates are a web app (`web-app`), five small games and a server-code starter (`functions-starter`). ## Guides - [Authentication](/docs/guides/auth/index.md): Your users (called players in the API) start using your app or game before they sign up. - [Cloud saves](/docs/guides/saves/index.md): A save is a JSON document stored per user (called players in the API) under a slot key (`slot1`, `profile`, `settings`…): a document, a user's settings, a draft, a game's progress. - [Play online together](/docs/guides/play-online/index.md): For games. Tell your AI agent "Make it playable online" (or "add online multiplayer"). - [Multiplayer rooms](/docs/guides/multiplayer/index.md): For games. Rooms are real-time sessions over one WebSocket: quick match, private rooms with a 6-letter code, a public lobby, message relay, shared room state, per-player state, host migration and… - [Realtime channels](/docs/guides/realtime/index.md): A realtime channel is a named room where every message reaches everyone inside instantly: a team workspace, a live event, a help desk, or in a game a lobby, a party or a match. - [Voice calls](/docs/guides/voice/index.md): For games (and any app where people talk live). A voice call lives in a realtime channel: create the channel with `voice`, and the players in it can talk to each other — a party, a squad, a match, a… - [Hosting & deploy](/docs/guides/hosting/index.md): `kumodeck deploy ` publishes a folder of static files (your built web app or game) as a new version of an environment. - [Sharing on X](/docs/guides/sharing/index.md): Web apps and games spread on X. A post works when three things happen: people see a big image, they tap and try it right away inside the X app, and they post again with their own result or score. - [Functions (your own server code)](/docs/guides/functions/index.md): Everything you could do with your own server and your own database, you can do on KUMODeck. ## Reference - [CLI](/docs/reference/cli/index.md): The `kumodeck` CLI has zero dependencies (Node 22+: `parseArgs`, `fetch`, `fs`, `crypto`), so it installs and starts fast and pulls nothing else into your supply chain. - [Config (kumo.config.json)](/docs/reference/config/index.md): Master data for one environment. Push it with `kumodeck config push [file] --env ` or edit it in the dashboard. - [REST API](/docs/reference/rest-api/index.md): The SDK and CLI are thin clients over this HTTP API. Use it directly from engines without a JavaScript SDK, from your own server, or from tools. ## More - [Security model](/docs/security/index.md): A web app's or game's code runs on your users' machines, and anyone can read and modify it. - [Pricing](/docs/pricing/index.md): KUMODeck does not make money on your app or game. There is no free tier: you pay KUMODeck's usage fee for the parts you use, set at cost, and nothing more. - [Privacy policy](/docs/privacy/index.md): This policy explains what personal data KUMODeck collects, why, who it goes to, and how long it is kept. - [Commercial disclosure](/docs/commercial-disclosure/index.md): This page is the disclosure required by Japan's Act on Specified Commercial Transactions for the prepaid usage credit (prepaid balance) that creators buy by card from KUMODeck. ## Skills Add one to a project folder with `kumodeck skills add `. Machine-readable list: `/.well-known/agent-skills/index.json`. - [start](/.well-known/agent-skills/start/SKILL.md): Start here to make a new web app or game with KUMODeck as its backend and publish it — from a request like 'Build "X" on KUMODeck. Use KUMODeck for sign-in, the database and publishing.' (or 'KUMODeckで『X』を作って。ログインとデータベースと公開はKUMODeckで。') to a working URL. Picks a template, connects the folder to KUMODeck (account, email confirmation, prepaid credit), makes a first working version and publishes it to the test URL. Use when the user asks to build a web app, a game, a tool or any new project on KUMODeck ("Build a web app / a game / X on KUMODeck", 「KUMODeckでアプリを作って」), or pastes the request copied from the KUMODeck dashboard. - [deploy](/.well-known/agent-skills/deploy/SKILL.md): Publish a web app or game on KUMODeck (and its Functions) to the development or production environment, including server-rendered apps (Astro, SvelteKit, Nuxt, React Router, TanStack Start, Hono), list versions and roll back, and understand its URLs, the 402 when prepaid credit is used up, custom domains and the URL name. Use when the user asks to deploy, publish (「公開して」), ship, release, put the app or game online, go live, update the live app or game, roll back / undo a release, or asks for its URL. - [troubleshoot](/.well-known/agent-skills/troubleshoot/SKILL.md): Fix errors from KUMODeck (the kumodeck CLI, the SDK calls in a web app or game, its own Functions) by their error code — 402 balance_due, 403 email_unverified, confirmation_required (production changes confirmed by a link), feature_disabled, feature_unavailable, origin_not_allowed, CORS errors, slug_taken, rate_limited, 503 service_unavailable and more — and find the balance, usage, history, settings and the logs of deployed Functions and server-rendered apps. Use when a `kumodeck` command, a KUMODeck call in the app or game, or a deployed function fails, the page shows no backend, or the user asks why something stopped working, how much they spent or what their balance is. - [multiplayer](/.well-known/agent-skills/multiplayer/SKILL.md): Make this game playable online on KUMODeck rooms with no server code to write. First asks one short plain-word question set (who plays, how fast, does cheating matter, or leave it to you) with the price of each way, then picks the setup (moves carried by KUMODeck or sent directly between players, room codes or automatic pairing) and builds it (live messages, shared state, reconnects). Use when the user asks to make it playable online, online multiplayer, play with friends, a versus / co-op / party mode, matchmaking, quick match, room codes or invite links (「オンラインで対戦できるようにして」「友だちと遊べるようにして」). - [leaderboard](/.well-known/agent-skills/leaderboard/SKILL.md): Add a leaderboard (top scores, weekly / daily rankings, "my rank") to this game, built in the game's own Functions and its own SQL database. Use when the user asks for a leaderboard, ranking, high scores, best times or score submission. - [chat](/.well-known/agent-skills/chat/SKILL.md): Add in-game chat (a lobby, a party or a match channel with saved history) to this game, using realtime channels for live messages and the game's own Functions and SQL database for checks and history. Use when the user asks for chat, messages between players, a lobby chat, party chat or chat history. - [user-data](/.well-known/agent-skills/user-data/SKILL.md): Store each user's data in the cloud with kumo.saves — an app's settings, drafts, favorites or profile, or a game's save and progress — so it follows the user to every device, with autosave, conflict-safe writes between two devices, and keeping a guest's data when they sign in. Use when the user asks to save or sync user data, settings or preferences, remember something per user, autosave, a draft, continue on another device, a game save or save slot, or a personal best, or "save this with KUMODeck's database" for data the user may freely change (Protect in D1, not in saves). - [user-login](/.well-known/agent-skills/user-login/SKILL.md): Add user sign-in to this app or game with kumo.auth — use it as a guest first, then keep the data by adding an email + password, Google, Discord, Apple or X; sign in on another device; manage sign-in methods; password reset; display names; banned users and ban appeals. Use when the user asks for login, sign in, sign up, user accounts, a members area, "keep my data across devices", sign in with Google / Discord / Apple / X, a profile or account screen, or ban appeals. - [functions-d1](/.well-known/agent-skills/functions-d1/SKILL.md): Write the project's own server code and SQL database on KUMODeck Functions (Cloudflare Workers + D1) for an app or a game — endpoints and webhooks, scheduled jobs, tables and migrations, and verifying which signed-in user is calling. Use when the user asks for their own API or backend logic, server-side checks, data shared between users, a database table or migration, a cron job, a webhook, secrets for a third-party API, or when another Skill (leaderboard, chat) needs the Functions folder, or "save this with KUMODeck's database" for data users must not change themselves (scores, coins, items, purchases, shared data).