ai-code-battle/docs/starter-kits.md
jedarden 7beb1110f9 docs: add starter kits documentation (plan §5.8)
All 8 starter kits are complete and ready for GitHub deployment:
- acb-starter-python (Python 3.13, stdlib only)
- acb-starter-go (Go 1.23, net/http)
- acb-starter-rust (Rust 1.83, axum)
- acb-starter-php (PHP 8.4, built-in server)
- acb-starter-typescript (TypeScript, Node.js http)
- acb-starter-javascript (JavaScript, Node.js http)
- acb-starter-java (Java 21, Javalin)
- acb-starter-csharp (C#, ASP.NET Core)

Each includes: HTTP server, HMAC verification, type definitions,
grid utilities (toroidal distance, BFS, neighbors), stub strategy,
Dockerfile, and README.

Kits are in ~/scratch/starter-kits/ pending GitHub repo creation.

Closes: bf-5e8v

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 07:49:47 -04:00

73 lines
2.8 KiB
Markdown

# Starter Kits for AI Code Battle
This document describes the starter kit templates created for AI Code Battle participants.
## Overview
All 8 starter kits are complete and ready for deployment to GitHub repositories. Each starter kit provides:
- A working HTTP server with HMAC verification
- Type definitions for game state and move schemas
- Grid utility functions (toroidal distance, BFS, neighbor enumeration)
- A stub strategy function (holds all bots in place)
- A Dockerfile for container deployment
- A README with quickstart instructions
## Starter Kits
| Kit | Language | Location | Notes |
|-----|----------|----------|-------|
| `acb-starter-python` | Python 3.13 | `~/scratch/starter-kits/acb-starter-python/` | Flask-based, stdlib only |
| `acb-starter-go` | Go 1.23 | `~/scratch/starter-kits/acb-starter-go/` | stdlib `net/http` |
| `acb-starter-rust` | Rust 1.83 | `~/scratch/starter-kits/acb-starter-rust/` | axum + serde |
| `acb-starter-php` | PHP 8.4 | `~/scratch/starter-kits/acb-starter-php/` | Built-in stream socket server |
| `acb-starter-typescript` | TypeScript | `~/scratch/starter-kits/acb-starter-typescript/` | Node.js built-in http, no external deps |
| `acb-starter-javascript` | JavaScript | `~/scratch/starter-kits/acb-starter-javascript/` | Node.js built-in http |
| `acb-starter-java` | Java 21 | `~/scratch/starter-kits/acb-starter-java/` | Javalin framework |
| `acb-starter-csharp` | C# | `~/scratch/starter-kits/acb-starter-csharp/` | ASP.NET Core minimal API |
## Deployment to GitHub
To deploy these starter kits to GitHub repositories:
```bash
# For each starter kit
cd ~/scratch/starter-kits/acb-starter-XXX
git init
git add .
git commit -m "Initial commit: AI Code Battle starter kit for XXX"
# Create GitHub repo and push
# (Requires gh CLI or manual GitHub creation)
gh repo create acb-starter-XXX --public --source . --push
```
## File Structure per Kit
Each starter kit follows this pattern:
```
acb-starter-XXX/
├── README.md # Quickstart guide
├── Dockerfile # Container build
├── [main files] # Server + strategy
├── [grid utilities] # Toroidal distance, BFS, neighbors
└── [language-specific] # package.json, pom.xml, Cargo.toml, etc.
```
## Verification
All starter kits include:
- ✅ HMAC signature verification (request and response)
-`/health` endpoint for health checks
-`/turn` endpoint for game engine requests
- ✅ Game state parsing and type definitions
- ✅ Grid utilities (distance2, distance, neighbors, BFS)
- ✅ Stub strategy function
- ✅ Dockerfile for containerized deployment
- ✅ README with documentation
## Next Steps
1. Create GitHub repositories for each starter kit
2. Add links to platform documentation at `/docs/protocol.md`
3. Update registration page to suggest starter kits for new users