Files
midnight_season_1_tanking_s…/CLAUDE.md
2026-03-22 05:17:01 +00:00

60 lines
2.5 KiB
Markdown

# Midnight S1 Tank Guide
WoW Midnight Season 1 M+ tanking quick-reference webapp. Built to be read at a glance on a second monitor during gameplay.
## Stack
React 19 + Vite + TypeScript + Tailwind v4 + shadcn/ui. No router — hash-based dungeon switching.
## Commands
- `make dev` — start dev server on port 8000
- `make build` — production build
- `source ~/.zshrc` before any node/npm/npx command (lazy nvm)
## Design Rules
- **Dark only.** Deep abyss navy (`#050810`). No light mode, no toggle.
- **Frosted glass cards.** Use `.frost` class (backdrop-blur + semi-transparent bg). Never plain bg.
- **Square edges.** All radii are 0. No rounded corners anywhere.
- **Colours that pop.** Cyan (`#22d3ee`), sky blue (`#38bdf8`), purple (`#a78bfa`), amber (`#fbbf24`), red (`#f87171`), green (`#34d399`).
- **Readable at a glance.** Body text `text-base` minimum. Headers bump up. Bullet spacing `mb-2.5`.
- **Centre-aligned content.** Main container `max-w-7xl mx-auto`. 2-col grid on `lg:`.
- **Font:** Geist Variable.
## Role Colours
- Tank: `#38bdf8` (sky blue) — `text-tank`, `border-l-tank`
- Healer: `#34d399` (green) — `text-healer`
- DPS: `#f87171` (red) — `text-dps`
- Everyone: `#fbbf24` (amber) — `text-everyone`
## Project Layout
```
src/
data/*.ts — one file per dungeon, typed DungeonData exports
data/index.ts — dungeonList (sidebar order) + dungeonDataMap
types/dungeon.ts — all shared types
components/
dungeon/ — DungeonPage, BossHeader, AbilityCard, MobCard, TrashSection, etc.
layout/ — AppSidebar
ui/ — shadcn primitives (badge, button, card, etc.)
index.css — theme vars, .frost utility, wowhead overrides
public/assets/ — all images (dungeon headers, boss screenshots, icons)
dungeons/ — raw method.gg HTML source files
```
## Adding a Dungeon
Use `/parse-dungeon` skill. It runs `parse_dungeon.py` against a `dungeons/*.html` file, creates `src/data/<slug>.ts`, and registers it in `src/data/index.ts`.
## Content Rules
- HTML strings in data files (wowhead links, `<span class="warn">`, `<span class="tip">`).
- Ability card order per boss: tank first, then healer, then everyone, then dps.
- Include healer and DPS-specific mechanics — not just tank-focused content.
- DPS cards use `role: "dps"` with `importance: null` (red badge, no left border).
- Max 1-2 sentences per ability. No paragraphs.
- CC-immune mobs get red "(Immune to CC)" span in `nameHtml`.