Safe agent workflow
- For one canonical copy-paste prompt, start with /developers/docs/agent-quickstart.
- Work inside the game source repo, not the Buncha Games platform repo.
- Ask the agent to create a production browser build folder, usually named dist, build, public, or a Unity/Godot web export folder.
- Ask it to inspect the ZIP and confirm index.html is at the root.
- Use the web upload first. Use a developer API token only when a technical upload flow is necessary.
- Store the token locally as BUNCHA_GAMES_API_TOKEN. Do not paste it into chat or commit it.
- Use the Buncha Games CLI for listing create/update, build upload, status checks, listing media upload/management, external-domain requests, and review submission when an agent needs a non-browser path.
- Use /developers/docs/agent-quickstart when you need one copy-paste prompt for a fresh coding agent.
- Do not let the agent upload source projects, .env files, node_modules, API keys, or secrets.
Copy-paste starter prompt
You are preparing my browser game for upload to Buncha Games.
Read the project, then create a production browser build folder for my stack:
- Vite, Phaser, Three.js, or React: usually dist or build,
- Unity WebGL: the exported WebGL folder,
- Godot HTML5: the exported web folder,
- plain HTML: the folder containing index.html and runtime assets.
Create a ZIP from the contents of that exported build folder. The ZIP must meet these requirements:
- index.html at ZIP root,
- all required JS/CSS/WASM/data/assets included,
- no server runtime required,
- no source project folders,
- no node_modules,
- no .env files or secret API keys,
- no external ads or payment scripts,
- no crypto/NFT integrations,
- no malware/phishing/obfuscated scripts,
- browser-playable in an iframe,
- under 200 MB.
After building, inspect the ZIP and confirm:
- index.html is at the root,
- no unsupported files are included,
- the game loads from a local static server,
- controls/instructions are clear,
- external domains are listed for Buncha Games review if used.CLI lifecycle commands
Use npm exec when npx is unavailable. Both forms run the published Buncha Games CLI package.
If your Windows environment uses a portable Node wrapper instead of global node/npm, run the local CLI file through that wrapper from a Buncha Games platform checkout.
# Check owned-game state without scraping the dashboard.
npm exec --yes --package @bunchagames/cli -- buncha-games games status --site https://bunchagames.com --game-slug <slug> --json
npx @bunchagames/cli games status --site https://bunchagames.com --game-slug <slug> --json
# Create or update listing metadata from a JSON manifest.
npx @bunchagames/cli games create --site https://bunchagames.com --manifest ./buncha-game-manifest.json --json
npx @bunchagames/cli games update --site https://bunchagames.com --game-slug <slug> --manifest ./buncha-game-manifest.json --json
# Upload listing media through the supported developer API.
npx @bunchagames/cli media upload --site https://bunchagames.com --game-slug <slug> --type thumbnail --file ./thumbnail.webp --alt "Thumbnail showing the game title and main character" --json
npx @bunchagames/cli media upload --site https://bunchagames.com --game-slug <slug> --type hero --file ./hero.webp --alt "Hero art showing the main play space" --json
npx @bunchagames/cli media upload --site https://bunchagames.com --game-slug <slug> --type screenshot --file ./screenshots/01.webp --alt "Gameplay screenshot of level one" --json
# Manage media order and cleanup.
npx @bunchagames/cli media move --site https://bunchagames.com --game-slug <slug> --media-id <id> --direction up --json
npx @bunchagames/cli media reorder --site https://bunchagames.com --game-slug <slug> --media-ids <id-1>,<id-2>,<id-3> --json
npx @bunchagames/cli media remove --site https://bunchagames.com --game-slug <slug> --media-id <id> --json
# Request external-domain review and submit when ready.
npx @bunchagames/cli domains request --site https://bunchagames.com --game-slug <slug> --domain api.example.com --service-type other --service-name "Example API" --purpose "Loads public browser game data." --json
npx @bunchagames/cli review submit --site https://bunchagames.com --game-slug <slug> --content-disclosure "No adult content, gambling, crypto, or sensitive content." --rights-confirmed --content-policy-confirmed --external-services-confirmed --terms-accepted --jsonAgent mistakes to avoid
- Do not ZIP the whole repository.
- Do not include source folders, editor projects, node_modules, or build caches.
- Do not automate dashboard file pickers when the CLI media command is available.
- Do not add third-party ad, payment, crypto, analytics, or tracking scripts to make validation pass.
- Do not print or commit BUNCHA_GAMES_API_TOKEN.
- Do not claim the build is ready until index.html is confirmed at the ZIP root.
Validation-fix prompt
You are helping me fix a Buncha Games upload validation error.
I will paste the validation error below. Inspect the exported build and make the smallest safe change.
Keep:
- index.html at ZIP root,
- exported runtime files required by the game,
- no server dependencies,
- no secrets,
- no external ads, payments, crypto, or unsupported scripts.
Return:
1. what caused the validation error,
2. exact files changed,
3. how to rebuild the upload ZIP,
4. local static-server smoke test steps.