add community health files

- LICENSE (MIT)
- CONTRIBUTING.md
- CODE_OF_CONDUCT.md
- SECURITY.md
- .github/PULL_REQUEST_TEMPLATE.md
- .github/ISSUE_TEMPLATE/bug_report.md
- .github/ISSUE_TEMPLATE/feature_request.md
- .github/FUNDING.yml
This commit is contained in:
Volodia
2026-06-18 14:33:47 +03:00
parent 5a8cf0e500
commit f4316431e0
9 changed files with 242 additions and 0 deletions
+4
View File
@@ -0,0 +1,4 @@
# Эти строки раскомментируй, если появятся ссылки на спонсорство
# github: [VovaManul]
# patreon: # username
# ko_fi: # username
+34
View File
@@ -0,0 +1,34 @@
---
name: Сообщить о баге
about: Что-то работает не так
title: '[BUG] '
labels: bug
assignees: ''
---
## Описание
<!-- Чёткое описание бага. -->
## Воспроизведение
1. Открыть `dist/index.html` (или `bun run dev`)
2. Выбрать уровень «…»
3. Перейти в комнату …
4. Использовать …
5. Видно, что …
## Ожидаемое поведение
<!-- Что должно было произойти. -->
## Скриншоты / видео
## Среда
- Браузер: Chrome/Firefox/Safari
- ОС: macOS/Windows/Linux
## Дополнительно
<!-- Логи консоли, seed забега и т.д. -->
+29
View File
@@ -0,0 +1,29 @@
---
name: Предложить идею
about: Новая фича, улучшение или изменение
title: '[FEATURE] '
labels: enhancement
assignees: ''
---
## Проблема
<!-- Какая проблема решается? Чего не хватает? -->
## Решение
<!-- Как это должно работать? Опиши желаемое поведение. -->
## Альтернативы
<!-- Какие ещё варианты рассматривал? -->
## Совместимость
- [ ] Меняет архитектуру «ядро ↔ рендер»
- [ ] Добавляет новую зависимость
- [ ] Ломает обратную совместимость
## Дополнительно
<!-- Скетчи, ссылки, примеры из других игр. -->
+28
View File
@@ -0,0 +1,28 @@
## Описание
<!-- Краткое описание изменений. Что и зачем. -->
## Связанный issue
<!-- Fixes #номер -->
## Чеклист
- [ ] `bun run check` зелёный (typecheck + tests)
- [ ] Добавлены/обновлены тесты (если менялась логика)
- [ ] Проверено в браузере (если геймплей/рендер)
- [ ] Обновлена документация (если нужно)
- [ ] Нет `any` (кроме узких мест по согласованию)
- [ ] Нет `Math.random()` в `src/core/`
## Тип изменений
- [ ] Исправление бага
- [ ] Новая функциональность
- [ ] Рефакторинг
- [ ] Документация
- [ ] Другое
## Дополнительно
<!-- Любая дополнительная информация для ревьюера -->
+52
View File
@@ -0,0 +1,52 @@
# Кодекс поведения
## Наши обязательства
Мы, как участники и лидеры этого проекта, обязуемся создать гостеприимную
и безопасную среду для всех, независимо от возраста, телосложения,
видимых или невидимых физических особенностей, этнической принадлежности,
половых признаков, уровня опыта, образования, социально-экономического
статуса, национальности, внешности, расы, религии или сексуальной
идентичности и ориентации.
Мы обязуемся действовать и взаимодействовать так, чтобы способствовать
открытому, доброжелательному, инклюзивному и здоровому сообществу.
## Приемлемое поведение
Примеры поведения, способствующего созданию положительной среды:
- Проявление доброты и эмпатии по отношению к другим участникам
- Уважение к разным точкам зрения и опыту
- Конструктивная обратная связь
- Признание своих ошибок и извлечение уроков
## Неприемлемое поведение
- Использование сексуализированного языка или образов
- Троллинг, оскорбительные/уничижительные комментарии
- Преследование в любой форме
- Публикация личной информации без явного разрешения
- Другое поведение, которое можно обоснованно считать неуместным
## Ответственность
Лидеры проекта отвечают за разъяснение стандартов поведения и будут
предпринимать соответствующие и справедливые меры в ответ на любое
неприемлемое поведение.
## Сфера действия
Этот Кодекс поведения применяется во всех сообществах проекта, а также
в публичных местах, когда человек представляет проект.
## Enforcement
О случаях неприемлемого поведения можно сообщать лидерам проекта.
Все жалобы будут рассмотрены и приведут к ответным мерам, которые
сочтут необходимыми и соответствующими обстоятельствам.
## Атрибуция
Этот Кодекс поведения адаптирован из [Contributor Covenant](https://www.contributor-covenant.org),
версия 2.1.
+49
View File
@@ -0,0 +1,49 @@
# Как вносить изменения
Спасибо, что хочешь улучшить проект! Это живая база рогалика, и любая помощь
пригодится. Пожалуйста, следуй правилам ниже — они сохраняют архитектуру.
## Прежде чем писать код
1. Прочитай [`CLAUDE.md`](./CLAUDE.md) — там золотые правила архитектуры.
2. Почитай [`docs/HOWTO.md`](./docs/HOWTO.md) — там рецепты для типовых задач.
3. Посмотри [`docs/ARCHITECTURE.md`](./docs/ARCHITECTURE.md) — пойми потоки данных.
## Процесс
1. Создай issue (баг или фича) — чтобы обсудить до начала работы.
2. Форкни репозиторий и создай ветку от `main`:
```bash
git checkout -b feature/что-делаешь
```
3. Пиши код, следуя стилю проекта:
- TypeScript strict, без `any`
- Комментарии по-русски, объясняют «почему», а не «что»
- Маленькие чистые функции; классы — для сущностей/состояния
4. Убедись, что всё зелёное:
```bash
bun run check # typecheck + tests
```
5. Если менял логику — **добавь/обнови тест** в `tests/`.
6. Если менял геймплей/рендер — **проверь в браузере** (`bun run dev`).
7. Обнови доки, если поменялось поведение или структура.
8. Создай Pull Request с описанием изменений.
## Золотые правила (нарушать = ломать)
1. **Ядро без рендера и DOM.** В `src/core/` нельзя импортировать `three`,
обращаться к `window`/`document`/`canvas`.
2. **Рендер ничего не меняет в игре.** `src/render/` только читает и рисует.
3. **Случайность только через `Rng`.** Никаких `Math.random()` в `core/`.
4. **Время — в шагах (1/60 с).** Не двигай ничего в rAF или рендере.
5. **Числа — не в коде.** Константы — в `src/config.ts`, параметры забега —
в `src/core/rules.ts`.
6. **Освобождай ресурсы three.js** — `dispose()` геометрию/материалы при удалении.
7. **Перед коммитом — `bun run check`.**
## Чего не делать
- Не добавлять тяжёлые зависимости (физдвижки, фреймворки).
- Не переписывать архитектуру «ядро ↔ рендер».
- Не коммитить `dist/` и `node_modules/`.
- Не превращать игру в полноценное 3D без обсуждения.
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 VovaManul
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+24
View File
@@ -0,0 +1,24 @@
# Политика безопасности
## Поддерживаемые версии
Активно разрабатывается только `main`-ветка. Стабильных релизов пока нет.
| Версия | Поддержка |
|---|---|
| main (активная разработка) | ✅ |
| Другие ветки | ❌ |
## Сообщить об уязвимости
Это локальная однопользовательская игра на Canvas/WebGL. Уязвимости
безопасности маловероятны, но если найдёшь что-то серьёзное:
- **Не создавай публичный issue.**
- Напиши в [issues](https://github.com/VovaManul/Binding-Fignyaac/issues)
с пометкой `[SECURITY]` в заголовке — репозиторий приватный/маленький,
это безопасно.
По умолчанию: игра не принимает пользовательский ввод, кроме клавиатуры,
и не выполняет удалённый код. Риск сводится к XSS через `dist/index.html`
при сборке — убедись, что билд чистый (`bun run build` из свежего клона).
+1
View File
@@ -1,5 +1,6 @@
{
"lockfileVersion": 1,
"configVersion": 0,
"workspaces": {
"": {
"name": "dungeon-crawl",