Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
翻譯準備中
Everything the table needs for Warhammer 40,000 11th Edition: core rules and the Event Companion, faction rules and datasheets, an army list builder, and a tracker that applies your army's own rules w
翻譯準備中
遊戲Shell · JavaScriptGitHub @Joker1796上線中營運者未確認
試用過了嗎? 點一下就好,不需要登入。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證WH Rules — bilingual EN/RU Warhammer 40k 11th ed rules reference, army list builder and offline game tracker. Workspace hub: what the project is made of and how to build it.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Двуязычное (EN/RU) приложение для игры в Warhammer 40,000, 11-я редакция: посмотреть правило, собрать ростер, отыграть партию — с правилами этого самого списка, применёнными к юнитам на экране. Начиналось как поисковая замена листанию PDF за столом, и справочник остаётся фундаментом; конструктор ростеров и трекер партии выросли поверх. Работает как обычный сайт и ставится как PWA — установленное приложение после однократного прогрева работает полностью офлайн, за столом и без сети. Аккаунт не нужен ни для чего, вход добавляет только синхронизацию между устройствами.檢視完整 README ↗
Двуязычное (EN/RU) приложение для игры в Warhammer 40,000, 11-я редакция. В нём можно найти правило, собрать ростер и отыграть партию. Правила твоего списка в партии применяются к юнитам прямо на экране. Играть можно на одном телефоне или вместе на нескольких.
Начиналось всё как поиск по правилам вместо листания PDF за столом. Справочник и сейчас основа, а конструктор и трекер выросли поверх. Это обычный сайт, который ставится как PWA. Установленное приложение после однократной загрузки работает без сети. Аккаунт ни для чего не нужен. Вход даёт только синхронизацию между устройствами и роль хоста в совместной партии.
Раньше сайт жил на
wh11ed.ru. С 26 августа 2026 года тот домен заморожен и отдаёт 301 сюда.
Проект открытый, под лицензией MIT. Контрибьюторам рады: и с кодом, и с правками правил и перевода. Как включиться — ниже.
Ctrl+K по всему этому.Кода здесь нет. Здесь лежит оболочка рабочей области: документация о том, из чего состоит
проект, журналы задач (journal/) и повторяемые процедуры (.claude/skills/). Сам продукт живёт
в отдельных репозиториях. Их клонируют внутрь этой папки, а в .gitignore они занесены
намеренно. Это не сабмодули.
Так сделано сознательно. Фронт деплоится статикой в бакет, бэк — облачной функцией, и версионируются они независимо. Данные и словарь вообще никем не импортируются. Сабмодули без всякой пользы связали бы их версии друг с другом.
| Папка | Что это | Стек | Репозиторий |
|---|---|---|---|
wh11ed/ | Фронтенд, то есть весь продукт: правила, фракции, конструктор ростеров, трекер, PWA. Здесь ~99% работы | Vue 3, Vite, Vitest | wh11ed · MIT |
wh11ed-api/ | Бэкенд: вход, облачная копия партий, ростеров и отметок игрока, совместная партия на нескольких телефонах, трансляция для OBS, архив чейнджлога, баг-репорты. Без него работает всё, кроме этого | TypeScript, Hono, YDB, Yandex Cloud Functions | wh11ed-api · MIT |
wh40k-appdata/ | Данные: упорядоченная англоязычная копия правил из официального приложения GW. Источник правды при сверке правил | JSON + скрипты | приватный, см. ниже |
wh-glossary/ | Справочник перевода сообщества (34k пар EN→RU). Не библиотека, никем не импортируется | TSV + Python | приватный, см. ниже |
journal/ | Журналы задач: что в работе, что отложено и почему, что закрыто. Индекс — journal/INDEX.md | Markdown | этот репозиторий |
.claude/skills/ | Процедуры: обновление данных, разбор баг-репортов, анонс релиза и другие. Список — в CLAUDE.md | Markdown | этот репозиторий |
sources/ | Исходники: PDF правил, кодексы, глоссарии. Сама папка под гитом, содержимое — нет | — | — |
git clone https://github.com/Joker1796/wh-rules.ru.git && cd wh-rules.ru
git clone https://github.com/Joker1796/wh11ed.git
git clone https://github.com/Joker1796/wh11ed-api.git # только если трогаешь сервер
cd wh11ed && npm install && npm run dev # http://localhost:5173
Этого достаточно. Фронт собирается и запускается без бэкенда, данных, словаря и исходников. Правила, ростеры, трекер и PWA работают на клиенте, а данные лежат в репозитории фронта готовыми.
Без бэкенда не будет входа, облачной синхронизации и совместной партии. По умолчанию фронт ходит
на локальный API (VITE_API_BASE_URL, по умолчанию http://localhost:8787). В dev-сборке в меню ⚙
есть тестовый вход без настоящего OAuth. Совместную партию на нескольких «телефонах» проверяют на
docker-стенде API (npm run stand в wh11ed-api). Стенд — весь бэкенд локально без облака и
секретов: Postgres, API, поддельный вход Яндекса, почтовый ящик Mailpit и тестовые игроки (вход
через Яндекс и по почте). Пошагово — wh11ed-api/DEVELOPMENT.md.
Мутационное тестирование (npm run mutate во фронте и в API) берёт чужие инструменты из tools/.
Папка не под гитом, клонировать один раз; нужен Python 3.11+:
mkdir -p tools && cd tools
git clone https://github.com/unclebob/mutator && git clone https://github.com/unclebob/crapper
for r in mutator crapper; do (cd $r && python3.14 -m venv .venv && .venv/bin/pip install -q -e .); done
wh40k-appdata/, wh-glossary/ и sources/ нужны только для сверки правил и для повторного
извлечения текстов и картинок. На сборку они не влияют, см. sources/README.md.
cd wh11ed
npm run dev # дев-сервер
npm test # Vitest
npm run lint # ESLint, гейт
npm run build # прод-сборка в dist/
Открыты wh11ed и wh11ed-api. Оба под MIT, оба принимают PR.
wh40k-appdata — приватный. Это выжимка правил из официального приложения Games Workshop. Мы
держим её для сверки и перевода. Тексты, имена и характеристики — копирайт GW, публиковать их мы
не будем. Фронт от этого репозитория не зависит: данные попадают в него готовыми файлами.
wh-glossary — приватный. Это машинная выжимка из глоссария, который годами собирало
русскоязычное сообщество переводчиков. Без согласия авторов мы его не выложим. Ни фронт, ни бэк от
него не зависят: это справочник для работы над переводом.
Тексты правил Warhammer 40,000 принадлежат Games Workshop. MIT покрывает код проекта, а не
игровые тексты и не содержимое sources/.
wh11ed/src/data/, wh11ed/src/views/,
wh11ed/src/components/. Сначала прочитать wh11ed/CLAUDE.md, это карта фронта.wh11ed/src/components/roster/.wh11ed/src/components/tracker/ и
wh11ed/src/composables/useTracker.js, useParty.js.wh11ed/DEPLOY.md.wh11ed/DATA-SYNC.md.wh11ed-api/, HTTP-контракт — в его README.md.wh40k-appdata/ (правила) и
MFM (очки).У крупных частей фронта свой CLAUDE.md в их директории (src/data/, components/roster/,
components/tracker/, views/faction/ и другие). Это и есть подробная документация. Здешний
CLAUDE.md — только маршрутизация, список процедур и стиль работы.
wh11ed и wh11ed-api связаны контрактом. На бэке src/domain/ проверяет конверты
сохранённой партии (game.ts) и ростера (roster.ts). Совместная партия ходит по частям, нарезанным
на фронте (gameSlices.js). Меняешь формат партии, ростера или вход на одной стороне — проверь
другую. Порядок выката при смене схемы описан в wh11ed-api/README.md: схема, функция, потом фронт.
wh40k-appdata и wh-glossary кодом ни с чем не связаны. Из первого данные переносят во фронт
скриптами сверки, второй — просто справочник для переводчика.
Помочь можно с двумя вещами:
wh11ed/src/data/CLAUDE.md.CLAUDE.md записаны инварианты «не чини это». Перед оптимизацией стоит
проверить, нет ли на неё явного запрета.Как это сделать: форкни репозиторий, заведи ветку и открой PR. Перед PR прогони npm run lint,
npm test и npm run build. Кроме тестов, во фронте есть гейты, например npm run parity
(баланс EN↔RU), npm run radii и npm run dupes (единый CSS), npm run a11y (контраст и
вёрстка). Их полный список — в wh11ed/CLAUDE.md. Вопросы и предложения — через issues.