Roadmap
What's done & what's coming.
The live development roadmap of the whole Garden ecosystem — plugin, website, Discord bot. Checked boxes are already on the server.
Purpose of this file: single source of truth for any human or AI model resuming work on this project. If you are an AI picking this up with no other context: read this file top to bottom, then read the README/Docs of the repo you are about to touch. Update this file whenever a phase lands.
Owner: Evan (pro.evan.dev@gmail.com) — private retakes server "Garden Retakes" (retakes.fr).
Everything lives in sibling folders under CS2 Mod Dev/.
1. Ecosystem overview (current state — all SHIPPED and working)
| Repo | What it is | Stack |
|---|---|---|
Garden-retakes | THE merged signature plugin (live on the server) — retakes core + allocator + rankings + admin + Duels/Executes/FastStrat/SmallServer/Edit modes + Spotlight. Fork of B3none/cs2-retakes; absorbed the two donor repos below. | CounterStrikeSharp (C#, net10.0, CSS 1.0.371) |
Garden-allocator | Read-only donor (absorbed into Garden-retakes R0). Fork of yonilerner/cs2-retakes-allocator. | CounterStrikeSharp |
Garden-rankings | Read-only donor (absorbed into Garden-retakes R0). Seasons, ELO, HLTV-like rating, Ranked/Blitz, clutch rounds. | CounterStrikeSharp + EF Core (MySQL/SQLite) |
Garden-website | Ladder, HLTV-style player pages + pros section, /compare, CR team ladder, duels ladder, seasons, live spectator dashboard + heatmaps, inventory simulator (per-side loadouts, knives/gloves, stickers, Steam OpenID, /borrow share-keys), profile showcase + Garden-Pops 3D customizer + 3D avatars, admin panel + RCON console, Games Hub (6 socket mini-games + universal lobbies + friends/social), roadmap + commands + API docs pages. Deployed on Vercel (socket server needs its own host — see Phase G). | Next.js 14 + Prisma 6 + Aiven MySQL + Socket.IO + three.js |
Garden-website/Garden-overlay | Tauri desktop overlay companion app (in-repo subfolder, excluded from the site's tsconfig). | Tauri (Rust) + Vite |
Garden-website /spelltakers | FOUNDATIONS ONLY — SpellTakers page + lobby component + install.ps1; gameplay TBD. | Next.js page |
Garden-inventory | Fork of ianlucas/cs2-inventory-simulator-plugin. css_loadout menu/random, URL sanitizing, auto-random-per-map convar. | CounterStrikeSharp |
Garden-discord | Discord bot: live presence, status embed, /ladder /stats /compare /seasons, DB-polling event posts. | Node.js + discord.js + gamedig + mysql2 |
Shared infra:
- DB: Aiven MySQL (
defaultdb), shared by rankings plugin, website, and Discord bot. Schema bootstrap:Garden-website/sql/blank-schema.sql(idempotent). Plugin also auto-creates via EFEnsureCreated+ raw-SQLSchemaUpgradesfor post-v1 tables. - Cross-plugin API:
RetakesAllocatorShared→PluginCapability<IRetakesAllocatorApi>("retakes_allocator:api")(round type, force-buy team, overrides). Rankings consumes it. - Website↔plugin contract:
GET /api/equipped/v4/{steamid}.json(EquippedV4Response),POST /api/select-loadout(INVSIM_API_KEY==invsim_apikey),POST /api/increment-item-stattrak.