Skip to main content
Glama
README.md
# tygagames

[![npm version](https://img.shields.io/npm/v/tygagames.svg)](https://www.npmjs.com/package/tygagames)
[![MCP](https://img.shields.io/badge/MCP-12_tools-blue)](https://tyga.games)
[![agent-first](https://img.shields.io/badge/agent--first-games%20publisher-d2042d)](https://tyga.games)

**Run your tyga.games publishing account from your coding agent.** The npm package is `tygagames`; the command is `tygames`.

> git for your code. tygames for your studio.

tyga.games is the agent-first games publisher and studio stack. `tygames` talks to the same `/portal` API the web dashboard uses, so anything you can do by clicking, your coding agent can do from the terminal: manage your roster, advance publishing rails, switch on stack services, read revenue, and mint its own API keys.

**Works with:** Claude Code, Cursor, Cline, Windsurf, Aider, Codex, any MCP client.

## Install

```bash
npm install -g tygagames
```

## Get a key

tyga.games is a founder-gated publisher, so onboarding is two steps. First, get listed:

```bash
tygames signup --name "You" --email you@studio.com --game "Title" --pitch "one-liner"
```

This submits a publishing enquiry (bring us your game). A founder reviews it and issues your first API key (`tgk_live_...`) out of band. Save it:

```bash
tygames login --key tgk_live_...
# or: export TYGAGAMES_API_KEY=tgk_live_...
```

Once signed in, your agent can self-manage further keys with `tygames keys create`.

## Quick start

```bash
# Your studio account: status, games, stack access
tygames me

# Add a game to your roster
tygames games add "My Game" --genre roguelike --platforms ios,android

# Advance a per-platform publishing rail
tygames publishing my-game --platform ios --stage review

# Switch on a stack service (a founder provisions it)
tygames stacks request oddsockets

# Read your revenue report
tygames revenue

# Full reference
tygames help
```

## The stack you switch on

Your account carries the tyga.games studio stack. One command switches a service on; a founder provisions it. See the catalogue and your access status (available, requested, provisioned) with `tygames stacks`.

<table>
  <tr>
    <td align="center" width="25%"><a href="https://oddsockets.com"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/tyga.games/stack-cards/tygagames_oddsockets_1.jpg" width="200" alt="OddSockets"><br><b>OddSockets</b></a><br>realtime multiplayer</td>
    <td align="center" width="25%"><a href="https://cacheroo.com"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/tyga.games/stack-cards/tygagames_cacheroo_1.jpg" width="200" alt="Cacheroo"><br><b>Cacheroo</b></a><br>game state</td>
    <td align="center" width="25%"><a href="https://secretcarousel.com"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/tyga.games/stack-cards/tygagames_secretcarousel_1.jpg" width="200" alt="SecretCarousel"><br><b>SecretCarousel</b></a><br>secrets and API keys</td>
    <td align="center" width="25%"><a href="https://ainpcengine.com"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/tyga.games/stack-cards/tygagames_ainpcengine_1.jpg" width="200" alt="AINPCEngine"><br><b>AINPCEngine</b></a><br>AI NPCs</td>
  </tr>
  <tr>
    <td align="center"><a href="https://agenticmemory.ai"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/tyga.games/stack-cards/tygagames_agenticmemory_1.jpg" width="200" alt="AgenticMemory"><br><b>AgenticMemory</b></a><br>cross-session NPC memory</td>
    <td align="center"><a href="https://taufunctions.com"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/tyga.games/stack-cards/tygagames_taufunctions_1.jpg" width="200" alt="TauFunctions"><br><b>TauFunctions</b></a><br>liveops jobs</td>
    <td align="center"><a href="https://tygash.com"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/tyga.games/stack-cards/tygagames_tygash_1.jpg" width="200" alt="Tygash"><br><b>Tygash</b></a><br>player engagement</td>
    <td align="center"><a href="https://agenticuptime.com"><img src="https://prodmedia.tyga.host/public/tyga.cloud/landing/tyga.games/stack-cards/tygagames_agenticuptime_1.jpg" width="200" alt="AgenticUptime"><br><b>AgenticUptime</b></a><br>ops and self-heal</td>
  </tr>
</table>

```bash
tygames stacks                     # catalogue + your status
tygames stacks request cacheroo    # request access; a founder provisions it
```

## Games and publishing rails

Each game carries a per-platform publishing rail: `build -> store-setup -> review -> approved -> live`. Your agent advances it as the work lands.

```bash
tygames games                                      # your roster
tygames games add "Orbstonia" --platforms ios,web
tygames games update orbstonia --stage beta
tygames publishing orbstonia --platform ios --stage approved
```

## Remote MCP - zero install

No CLI at all? Claude Web, Claude Desktop, Raycast, or any hosted MCP client can connect straight to the remote server. Same studio toolset (12 tools), same API key, nothing to install:

```
URL:  https://mcp.tyga.games/sse
Auth: Authorization: Bearer tgk_live_...
```

No key yet? Connect without one: the server boots in onboarding mode with a `tygagames_signup` tool that submits your publishing enquiry, then reconnect with the key a founder issues.

### Add it to your MCP client

Claude Code (remote):

```bash
claude mcp add tygagames --transport sse https://mcp.tyga.games/sse \
  --header "Authorization: Bearer tgk_live_..."
```

Cursor, Cline, Windsurf, or any client that uses a JSON config:

```json
{
  "mcpServers": {
    "tygagames": {
      "url": "https://mcp.tyga.games/sse",
      "headers": { "Authorization": "Bearer tgk_live_..." }
    }
  }
}
```

Leave the `Authorization` header off to start in onboarding mode and submit a publishing enquiry with `tygagames_signup`.

## Config

```bash
tygames login --key tgk_live_...    # saves to .tygagames/config.json (project-local)
tygames config                      # show active config source
```

Config is per-project and auto-loaded from `.tygagames/config.json`. Add `.tygagames/` to your `.gitignore`.

Global flags: `--json` (machine-readable), `--key tgk_...` (one call), `--api-url <url>` (override base, default `https://tyga.games`).

## Agent integration

Add to your CLAUDE.md, .cursorrules, .clinerules, .windsurfrules, or AGENTS.md:

```
## tyga.games
This studio publishes on tyga.games. Use the `tygames` CLI (or the remote MCP at
https://mcp.tyga.games/sse). Config is in .tygagames/config.json (auto-loaded).
If not configured: tygames login --key tgk_live_...
Run `tygames help` for every command and flag.
```

The full agent-facing command surface lives in [AGENTS.md](./AGENTS.md): the source of truth for every command and flag, plus the operating rhythm.

## Recipes

- [`examples/github-actions/publish-on-release.yml`](./examples/github-actions/publish-on-release.yml) - advance a game's publishing rail to live when you cut a GitHub Release.
- [`examples/provision-stack.sh`](./examples/provision-stack.sh) - request the whole studio stack in one go.
- [`examples/agent-rules-snippet.md`](./examples/agent-rules-snippet.md) - drop-in rules for your CLAUDE.md / AGENTS.md.

## The pitch is the dogfood

tyga.games runs on its own stack. The flagship, [Tygaria](https://tygaria.com), is a living-world RPG whose NPCs remember across sessions on AINPCEngine + AgenticMemory; [Orbstonia](https://orbstonia.com) is the second dogfood title. Both are managed through the exact `/portal` API this CLI drives. When we say a coding agent can run a studio end to end, it is because ours already does.

## Founder-gated, on purpose

This is not a self-serve signup. Chillingo championed indie developers in the mobile era by curating and backing the right games; tyga.games does the same in the AI era. `tygames signup` starts a conversation, a founder reviews it, and the studios we take on get the whole stack behind them. Terms are open and shaped per game.

## Why this exists

The whole stack is built so a studio's coding agents can run the business end to end: file the game, advance the rails, switch on the infrastructure, watch the revenue. This CLI is that surface, and it drives the exact same API as the human dashboard. One backend, three clients: the dashboard, this CLI, and the remote MCP.

## License

Proprietary - Tyga.Cloud Ltd. See [LICENSE](./LICENSE). Contact: hello@tyga.games