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)

RepoWhat it isStack
Garden-retakesTHE 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-allocatorRead-only donor (absorbed into Garden-retakes R0). Fork of yonilerner/cs2-retakes-allocator.CounterStrikeSharp
Garden-rankingsRead-only donor (absorbed into Garden-retakes R0). Seasons, ELO, HLTV-like rating, Ranked/Blitz, clutch rounds.CounterStrikeSharp + EF Core (MySQL/SQLite)
Garden-websiteLadder, 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-overlayTauri desktop overlay companion app (in-repo subfolder, excluded from the site's tsconfig).Tauri (Rust) + Vite
Garden-website /spelltakersFOUNDATIONS ONLY — SpellTakers page + lobby component + install.ps1; gameplay TBD.Next.js page
Garden-inventoryFork of ianlucas/cs2-inventory-simulator-plugin. css_loadout menu/random, URL sanitizing, auto-random-per-map convar.CounterStrikeSharp
Garden-discordDiscord 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 EF EnsureCreated + raw-SQL SchemaUpgrades for 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.