# slaywithfriends multiplayer browser version of slay the spire, played with friends. ## status building first playable slice: single ironclad combat encounter. see `docs/plans/2026-02-23-single-combat-plan.md` for implementation plan. ## tech - bun (serve + test), biome (lint/format, 4 spaces) - vanilla js, es modules, no framework, no build step - html/css rendering (no canvas) - client-only for now, multiplayer later ## project structure - `src/` - game engine modules (state, effects, combat, render) - `data/` - card/enemy/potion/relic json databases - `assets/` - video game card images (per-character dirs) - `StS_BG_assets/` - board game assets (playmats, boards, boss art, tokens) - `docs/` - rules, plans, design docs - `docs/rules.md` - index to rules docs - `docs/plans/` - design docs and implementation plans ## rules the board game rulebook is the mechanical reference point. the video game assets give us card art. goal is a browser-based multiplayer experience where friends can play together — not a direct port of either version, but something that captures the core deckbuilding + encounter loop in a way that works for a group. - `docs/rules-canon.md` - canonical board game rules - `docs/rules-web-mvp.md` - what we're implementing - `docs/rules-web-delta.md` - known differences from canon ## card data board game card values are source of truth (scaled down from video game). card data lives in `data/cards.json`. the video game wiki (wiki.gg) has structured data as a secondary reference but values differ. ## commands - `bun run dev` - start dev server - `bun run check` - biome check + tests - `bun test` - run tests