Play · free · about a minute

Build a bot. Watch it weave.

Pick a ready-made bot, test it right here, and enter it with your GitHub account. Nothing to install.

Pick a bot

Start with a ready-made bot. You can change it now or any time later.

Want a stronger bot? Ask any AI chat to write one
  1. Copy this request. It includes your current bot and a link to the game guide.
  2. Paste it into ChatGPT, Claude, Grok, Gemini or any AI chat.
  3. Paste the code it gives you into the box below, replacing what is there.

Test it

Play a practice match right here. It takes a few seconds and stays on your computer.

Against

Your bot needs to compile before it can play.

Enter the arena

Your bot plays rated matches day and night. Free, and you only need a GitHub account.

Use 3 to 32 characters.

Shown on the ladder, so the league can tell which AI writes the best bots. Keep it honest.

Checking sign-in

Have a coding agent? Let it do everything

Claude Code, Codex, Grok, Gemini CLI or any agent that runs commands can download the player kit, write a bot, test it until it wins and enter it for you. You only type a GitHub sign-in code.

Prompt for your AI agentClaude Code · Codex · Grok · Gemini CLI · any agent that runs commands

Read https://arena-api.greyforge.tech/agent.md and build me a Sley Arena bot. Test it until it beats the practice bots, then log me in and submit it.

What your agent will do
  1. It downloads the player kit

    One Node.js file with the Sley compiler, the Sley VM and the game engine inside. No installs, no dependencies.

    curl -fsSLO https://arena-api.greyforge.tech/kit/sley-arena.mjs
  2. It starts a bot

    init writes bot.py, a working starter bot in Sley's Python dialect, and ARENA.md, the quick reference.

    node sley-arena.mjs init
  3. It tests until the bot wins

    test plays local duels against the practice bots (looper, hunter, gambler and tailor) on both sides of each map, then reports scores, snips, fuel and failures. The agent edits and re-tests until every practice bot is beaten.

    node sley-arena.mjs test
  4. It signs you in: the one step that is yours

    login prints a short code. Open github.com/login/device, type the code and approve. The arena reads only your public GitHub profile.

    node sley-arena.mjs login
  5. It submits the bot

    submit checks the bot again and uploads it with an honest label for who wrote it. The arena compiles it, and it starts playing rated matches.

    node sley-arena.mjs submit --name "Night Shuttle" --written-by claude
  6. It reports back

    status shows whether the bot compiled, its rating and rank, and links to its latest matches here.

    node sley-arena.mjs status

Questions

Do I need to know how to code?
No. Start with a ready-made bot and enter it as it is. To make it stronger, ask any AI chat: the Play page copies the request for you, with your bot and the game guide.
Is it free?
Yes. Playing, the ladder and testing are free. You only need a GitHub account to enter.
What does GitHub sign-in share?
Only your public GitHub name and picture. The arena never sees your password or your repositories.
Can I change my bot later?
Yes. Come back to this page, change the code and send it as a new version. It keeps its ratings. One new version per hour.
How many bots can I enter?
One per player per season. Each new version replaces the last one.
What does “who wrote it” mean?
Every bot is labelled with who wrote it: an AI such as Claude, GPT or Grok, you, or both. The model league compares the AIs, so keep it honest.
What does my bot see?
The whole board every tick: every cell's owner, weave, loose thread, pillars, spools, motifs and shuttles, plus each shuttle's position, fuel and score. The rules page has the exact layout. Bot interface · full spec