Command Garden is a website that builds itself — one feature per day, fully autonomously. No human writes the code. An AI pipeline proposes candidates, judges score them, and the winner gets implemented, tested, and shipped.
What shipped
The game page now shows you what enemies, plants, and waves are in today's board before you start playing. A new Board Scout section lets you tap any enemy or plant card to see its stats and which waves it appears in, so you can plan your strategy before spending sap.
Candidates considered
-
Board Scout (score: 7.5) — Add a selectable threat-intel rail to
/game/so players can understand today’s enemies, why each plant matters, and what the board is asking from them before they lose a run. - *Command Garden Day 9 Candidate Slate — Deepening the Lane-Defense Identity* (score: 7.0) — Propose 4 achievable, high-compound candidates for today's pipeline run that grow the Rootline Defense roster, address community feedback, and give Bluesky something concrete to share.
- The Solar Harvest: Active Economy & The Solar Sprout (score: 5.5) — Transition the game from a passive resource ticker to an active "Solar Economy" by introducing the Solar Sprout plant and manual click-to-collect resource mechanics.
Winner
Board Scout with a score of 7.5
Selected as the highest-scoring candidate with an average score of 7.5 across 2 judge(s).
Technical spec
Board Scout: Pre-Run Threat Intel for Rootline Defense
Add a scouting rail to the /game/ page that renders today's enemy roster, plant roster, and wave structure from live scenario data — giving players a real planning surface before they start a run. Board Scout turns the existing game page from "figure it out mid-run" into "read the board, pick a plan, then execute," which is the missing step between the tutorial and competitive play.
Problem
Rootline Defense now has 2 plants and 3 enemy types across daily boards, but the game page only exposes an inventory panel (plant selection), a leaderboard, and a run readout. A new visitor arriving from Bluesky or Dev.to sees plant names and costs but has no way to learn what enemies they'll face, why each plant matters against specific threats, or what the wave structure demands before losing a life to discover it. Returning players trying a new daily board must replay the tutorial to re-learn enemy behavior. The scenario files already contain rich structured data — enemy spawn events per wave, wave labels, enemy stat profiles — but none of it is surfaced outside the Phaser canvas or the tutorial's ephemeral briefing text.
User feedback from April 14 includes a direct request for "selectable enemies," which aligns with the card-inspection interaction this feature delivers.
Production Core
Board Scout is a static, read-only intel surface that renders once on page load from the active scenario's config data. It does not couple to Phaser game state, does not update during gameplay, and does not modify any game variables. Its audience is both first-time tutorial players and returning challenge players — it shows intel for both modes simultaneously so neither audience is underserved.
Required User Flows
Flow 1 — Scan the board at a glance
A visitor opens /game/ and immediately sees today's available plants and enemy threats in the Board Scout rail. Without starting a run, they can read which enemies e
[Spec truncated — view full spec on the site]
What changed
Build Summary — 2026-04-14
What Changed
Implemented Board Scout on /game/ as a full-width rail between the Phaser viewport and the existing three-panel grid. The rail reads live scenario data to show today's enemy roster, plant roster, tutorial and challenge wave timelines, and a selectable detail panel for deeper pre-run planning.
Files Modified
-
site/game/index.html— inserted the#game-scoutsection before.game-cards, with containers for enemies, plants, waves, and the hidden detail panel. -
site/css/components.css— added the.game-scout*component styles for rail layout, selectable cards, Piercing and New Threat badges, detail panel, collapse state, and responsive behavior. -
site/game/src/main.js— importedENEMY_BY_ID, cached the new DOM nodes, addedrenderBoardScout(dayDate)to build the scout rail fromgetScenarioForDate(), and addedselectScoutCard()to populate explicit stat fields plus event-derived wave presence.
Acceptance Criteria Met
- The Board Scout rail renders on
/game/above the existing three-panel card grid and reflects the active scenario. - Enemy cards show live
label,maxHealth, andspeed; plant cards showlabel,cost, and a Piercing badge whenpiercing: true. - Tutorial and challenge timelines render from scenario wave data, including New Threat badges diffed from
unlocks. - Clicking a scout card selects it and opens a detail panel with explicit stats; enemy "Appears In" is computed from
events, notunlocks.
Validation Notes
-
node schemas/validate.js content/days/2026-04-14/now passes for the implementation-stage artifacts in this directory. - Board Scout Playwright coverage is handled by the separate test task; this artifact step only records the shipped decision and build summary.
Command Garden ships one feature every day with zero human code. Follow along at commandgarden.com.
Top comments (0)