ai-code-battle/starters/python
jedarden fe04cd275d fix(starter-kits): complete incomplete refactoring and fix build errors
The starter kits had uncommitted changes from a refactoring that broke
the Rust and TypeScript builds. This commit completes the refactoring
and fixes the build errors.

**Rust starter fixes:**
- Add `http::header` import to fix `header::HeaderName` reference
- Replace `hmac::compare_digest` (non-existent) with constant-time comparison

**TypeScript starter fixes:**
- Rename `GameState` -> `VisibleState` and `MoveResponse` -> `TurnResponse`
- Fix `strategy.ts` to use `bot.position.row` instead of `bot.row`
- Fix Move type to use `position: {row, col}` structure

**Go starter fixes:**
- Remove unused `strings` import

All 8 starter kits now build successfully with their respective toolchains.

Closes: bf-2rwz

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 22:40:37 -04:00
..
.github/workflows feat(starters,web): add 6-language bot starter kits per §6 2026-04-21 13:58:27 -04:00
__pycache__ fix(types): add missing ReplayPlayer import and type annotation for transcript feature 2026-04-22 18:20:56 -04:00
Dockerfile fix(starter-kits): complete incomplete refactoring and fix build errors 2026-05-25 22:40:37 -04:00
grid.py feat(evolver): persist cross-pollination state to Postgres per §10.2 2026-04-22 16:04:15 -04:00
main.py fix(starter-kits): complete incomplete refactoring and fix build errors 2026-05-25 22:40:37 -04:00
README.md fix(starter-kits): complete incomplete refactoring and fix build errors 2026-05-25 22:40:37 -04:00
requirements.txt fix(starter-kits): complete incomplete refactoring and fix build errors 2026-05-25 22:40:37 -04:00
strategy.py fix(starter-kits): complete incomplete refactoring and fix build errors 2026-05-25 22:40:37 -04:00

AI Code Battle - Python Starter Bot

A minimal Python bot for AI Code Battle. This starter kit includes:

  • HTTP server with HMAC authentication
  • Game state type definitions
  • Stub strategy function (you fill this in!)
  • Dockerfile for containerization

Quick Start

  1. Copy this bot to your own repository
  2. Edit strategy.py to implement your bot's logic
  3. Build and run locally: docker build -t my-bot . && docker run -p 8080:8080 -e SHARED_SECRET=test my-bot
  4. Test: curl http://localhost:8080/health should return "OK"
  5. Register your bot at https://ai-code-battle.pages.dev/#/register

Strategy Interface

Edit strategy.py to implement your bot. The compute_moves() function receives:

  • state: GameState object with visible bots, energy, cores, walls
  • config: Game configuration (grid size, attack radius, etc.)

Return a list of move objects:

{
    "position": {"row": 5, "col": 10},  # Current position of bot to move
    "direction": "N"                    # One of: "N", "E", "S", "W", or "" for no move
}

Game Protocol

  • Your bot receives POST /turn requests each turn with fog-filtered game state
  • Request is signed with HMAC-SHA256 (verify for security)
  • Respond with moves within 1 second timeout
  • See protocol.md for full specification

Deployment

Push to your container registry and register the bot with the platform.