The main leaderboard SPA is now served at / (index.html) and the standalone replay viewer lives at /replay.html. This removes the _redirects workaround in index-builder that patched over the inverted entry points. - Rename web/app.html → web/index.html (main SPA) - Rename web/index.html → web/replay.html (standalone viewer) - Update vite.config.ts: main→index.html, replay→replay.html - Remove _redirects injection from deploy.go verifyMergedOutput - Update pages.json routes and README dev URL Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
30 lines
811 B
JSON
30 lines
811 B
JSON
{
|
|
"name": "ai-code-battle",
|
|
"description": "AI Code Battle - Competitive bot programming platform",
|
|
"domains": [
|
|
"aicodebattle.com"
|
|
],
|
|
"build": {
|
|
"command": "npm run build",
|
|
"output_dir": "dist",
|
|
"root_dir": "web"
|
|
},
|
|
"routes": {
|
|
"app": "index.html",
|
|
"replay_viewer": "replay.html"
|
|
},
|
|
"data_paths": {
|
|
"pages_data": "https://aicodebattle.com/data",
|
|
"r2_data": "https://r2.aicodebattle.com"
|
|
},
|
|
"deployment": {
|
|
"method": "wrangler pages deploy",
|
|
"git_integration": true,
|
|
"index_builder_deploys": "data/ directory only"
|
|
},
|
|
"notes": [
|
|
"SPA uses hash-based routing (no _redirects needed)",
|
|
"Index files in data/ are deployed by Rackspace index builder every ~90 min",
|
|
"Replays and per-match data are served from R2 custom domain"
|
|
]
|
|
}
|