Pocket Studio ドキュメント

コーディングエージェントとゲームを作る

ゲームを書くのは、あなたのコンピューターで動くコーディングエージェントです。Pocket Studio はエージェントに pocket-studio コマンドを渡します。このコマンドがプロジェクトを作り、PocketJS のコンパイラでビルドし、ゲームの画面をエージェントに見せ、ビルドを部屋のデバイスへ送ります。エージェントは Claude Code か Codex です。

#コンピューターの準備(最初の 1 回だけ)

作業台の Claude Code か Codex のフィギュアをクリックします。カードには 2 つの手順があります。

1. ターミナルでコマンドを実行する。

curl -fsSL https://studio.pocket.nexus/install | sh -s -- claude

Codex の場合は claude を codex に置き換えます。このコマンドは次のことをします。

  • curl と tar、そしてエージェント自身のコマンド(claude か codex)が PATH にあることを確認します。
  • Bun を探し、なければ Bun 公式のインストーラーで ~/.bun に入れます。
  • Pocket Studio のキット(コマンド、スターターゲーム、プラグイン、PocketJS のコンパイラ)をダウンロードし、~/.pocket-studio にコピーします。
  • pocket-studio コマンドを PATH に置きます。Bun のディレクトリがホームディレクトリの中にあればそこに、なければ ~/.local/bin か ~/bin に置きます。シェルの設定ファイルは書き換えません。そのディレクトリが PATH にないときは、Add ~/.local/bin to PATH to run it as pocket-studio. のように知らせます。
  • エージェント自身のプラグインコマンドで、Pocket Studio のプラグインをエージェントに入れます。

2. エージェントの新しいセッションにプロンプトを貼り付ける。 カードは選んだデバイス向けのプロンプトを、リンクコード付きで書き出します。

Pocket Studio で PSP 向けのゲームを作ってください。Link code: K7QD-9M4X。ゲーム: <ゲームの内容を書いてください>

<ゲームの内容を書いてください> を作りたいゲームの説明に書き換えて送ります。Link code: の部分はそのままにします。リンクコードはエージェントをあなたの部屋に 1 回だけ、15 分以内につなぎます。エージェントはプロンプトの言語で返事をします。

#エージェントがすること

プラグインのスキルが、エージェントに手順を伝えます。エージェントは次のコマンドを実行します。

  1. pocket-studio link <CODE>:このコンピューターをあなたのアカウントにつなぎます。
  2. pocket-studio new --device psp --title "Moon Lander" --agent claude:動くスターターゲームを ./moon-lander/ にコピーし、部屋にセッションを開いて、最初のビルドをデバイスに送ります。
  3. pocket-studio title "Moon Lander" --tagline "…":棚のゲーム名をすぐに付けます。
  4. プロジェクトの AGENTS.md を読んでから、ゲームを書きます。
  5. pocket-studio shot --do "<手順>":画面なしでゲームをコンピューター上で動かし、状態ごとに画像を書き出します。エージェントはその画像を読みます。
  6. pocket-studio push:ゲームをビルドして送ります。数秒後に部屋のデバイスでビルドが始まり、Moon Lander のビルド 2 が PSP に届きました。 のように表示されます。

そのあとエージェントは遊び方を伝え、遊んでみた感想をたずねます。公開するのは、あなたが頼んだときだけです。

#部屋から始める

デバイスのカードの 新しいゲームを作る、または作業台の 新しいゲーム を押すと、ペアリングコード付きのコマンドが表示されます。

pocket-studio create PINE-QWJ6

準備の済んだコンピューターのターミナルで実行します。コンピューターをつなぎ、スターターからプロジェクトを作り、最初のビルドを送り、PATH で最初に見つかったコーディングエージェントをプロジェクトの中で起動します。--agent codex でエージェントを選び、--agent none で起動せず、--no-launch でプロジェクトだけを作ります。コマンドは 1 回だけ、15 分間使えます。新しいコマンドを受け取る で次のコマンドが表示されます。

プロジェクトの中で pocket-studio continue を実行すると、エージェントがもう一度そこで起動します。

#プロジェクト

ファイル中身
game.tsルール。1 つの Game オブジェクトを扱う関数です。
app.tsxすべての画面と、フレームごとの処理。
layout.ts画面の形ごとのレイアウト。
kit.tsxデバイスの情報、操作、タッチボタン。
main.tsxアプリを表示します。
pocket.jsonアプリのマニフェスト。ID、機能、デバイスの系統ごとのビューポート。
studio.jsonゲームのカード。タイトル、キャッチコピー、カバーの色。
AGENTS.mdエージェント向けのプロジェクトの案内。CLAUDE.md はこれを指しています。
.pocket-studio.jsonセッションとそのトークン。だれにも渡さず、コミットもしません。

新しいプロジェクトは、スターターゲーム(Snack Snake、Twenty48、Boxel)のどれかから始まります。.pocket-studio.json と .pocket/(ビルドと画像)は、プロジェクトの .gitignore に加えられます。

ゲームは PocketJS 向けの TypeScript のプログラムです。JSX がビューのツリーを 1 度だけ作り、シグナルが個々のノードを更新し、Rust のコアが 1 秒に 60 回レイアウトして描きます。プロジェクトに package.json はありません。@pocketjs/framework と solid-js はコンパイラが用意します。

#デバイス

デバイス--device画面(論理ピクセル)入力
PSPpsp480 × 272ボタン
PS Vitavita480 × 272ボタンとタッチ
ニンテンドー3DS3ds400 × 240、その下に 320 × 240ボタン、下画面のタッチ
iPod touchipod-touch320 × 480タッチ
Android スマートフォンandroid360 × 640タッチ

プロジェクトは一度に 1 台のデバイスにつながります。プロジェクトの中で pocket-studio new --device <id> --dir . を実行すると、ファイルはそのままで別のデバイスのセッションに移ります。

#自分で操作する

同じコマンドは自分でも実行できます。pocket-studio dev は、Ctrl-C で止めるまで、ファイルを保存するたびにビルドして送ります。pocket-studio status はセッションの状態とビルド番号を表示します。すべてのコマンドは CLI リファレンスにあります。

#2 つの作り方

作業台には 2 つの作り方があります。プロ はこのページの方法で、あなたのコンピューターのコーディングエージェントが作ります。どんな大きさのゲームにも向いています。Pocket Studio の AI がページの中で小さなゲームを作る カジュアル は、近日公開です。