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:
@@ -0,0 +1,4 @@
|
|||||||
|
# Эти строки раскомментируй, если появятся ссылки на спонсорство
|
||||||
|
# github: [VovaManul]
|
||||||
|
# patreon: # username
|
||||||
|
# ko_fi: # username
|
||||||
@@ -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 забега и т.д. -->
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
name: Предложить идею
|
||||||
|
about: Новая фича, улучшение или изменение
|
||||||
|
title: '[FEATURE] '
|
||||||
|
labels: enhancement
|
||||||
|
assignees: ''
|
||||||
|
---
|
||||||
|
|
||||||
|
## Проблема
|
||||||
|
|
||||||
|
<!-- Какая проблема решается? Чего не хватает? -->
|
||||||
|
|
||||||
|
## Решение
|
||||||
|
|
||||||
|
<!-- Как это должно работать? Опиши желаемое поведение. -->
|
||||||
|
|
||||||
|
## Альтернативы
|
||||||
|
|
||||||
|
<!-- Какие ещё варианты рассматривал? -->
|
||||||
|
|
||||||
|
## Совместимость
|
||||||
|
|
||||||
|
- [ ] Меняет архитектуру «ядро ↔ рендер»
|
||||||
|
- [ ] Добавляет новую зависимость
|
||||||
|
- [ ] Ломает обратную совместимость
|
||||||
|
|
||||||
|
## Дополнительно
|
||||||
|
|
||||||
|
<!-- Скетчи, ссылки, примеры из других игр. -->
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
## Описание
|
||||||
|
|
||||||
|
<!-- Краткое описание изменений. Что и зачем. -->
|
||||||
|
|
||||||
|
## Связанный issue
|
||||||
|
|
||||||
|
<!-- Fixes #номер -->
|
||||||
|
|
||||||
|
## Чеклист
|
||||||
|
|
||||||
|
- [ ] `bun run check` зелёный (typecheck + tests)
|
||||||
|
- [ ] Добавлены/обновлены тесты (если менялась логика)
|
||||||
|
- [ ] Проверено в браузере (если геймплей/рендер)
|
||||||
|
- [ ] Обновлена документация (если нужно)
|
||||||
|
- [ ] Нет `any` (кроме узких мест по согласованию)
|
||||||
|
- [ ] Нет `Math.random()` в `src/core/`
|
||||||
|
|
||||||
|
## Тип изменений
|
||||||
|
|
||||||
|
- [ ] Исправление бага
|
||||||
|
- [ ] Новая функциональность
|
||||||
|
- [ ] Рефакторинг
|
||||||
|
- [ ] Документация
|
||||||
|
- [ ] Другое
|
||||||
|
|
||||||
|
## Дополнительно
|
||||||
|
|
||||||
|
<!-- Любая дополнительная информация для ревьюера -->
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
# Кодекс поведения
|
||||||
|
|
||||||
|
## Наши обязательства
|
||||||
|
|
||||||
|
Мы, как участники и лидеры этого проекта, обязуемся создать гостеприимную
|
||||||
|
и безопасную среду для всех, независимо от возраста, телосложения,
|
||||||
|
видимых или невидимых физических особенностей, этнической принадлежности,
|
||||||
|
половых признаков, уровня опыта, образования, социально-экономического
|
||||||
|
статуса, национальности, внешности, расы, религии или сексуальной
|
||||||
|
идентичности и ориентации.
|
||||||
|
|
||||||
|
Мы обязуемся действовать и взаимодействовать так, чтобы способствовать
|
||||||
|
открытому, доброжелательному, инклюзивному и здоровому сообществу.
|
||||||
|
|
||||||
|
## Приемлемое поведение
|
||||||
|
|
||||||
|
Примеры поведения, способствующего созданию положительной среды:
|
||||||
|
|
||||||
|
- Проявление доброты и эмпатии по отношению к другим участникам
|
||||||
|
- Уважение к разным точкам зрения и опыту
|
||||||
|
- Конструктивная обратная связь
|
||||||
|
- Признание своих ошибок и извлечение уроков
|
||||||
|
|
||||||
|
## Неприемлемое поведение
|
||||||
|
|
||||||
|
- Использование сексуализированного языка или образов
|
||||||
|
- Троллинг, оскорбительные/уничижительные комментарии
|
||||||
|
- Преследование в любой форме
|
||||||
|
- Публикация личной информации без явного разрешения
|
||||||
|
- Другое поведение, которое можно обоснованно считать неуместным
|
||||||
|
|
||||||
|
## Ответственность
|
||||||
|
|
||||||
|
Лидеры проекта отвечают за разъяснение стандартов поведения и будут
|
||||||
|
предпринимать соответствующие и справедливые меры в ответ на любое
|
||||||
|
неприемлемое поведение.
|
||||||
|
|
||||||
|
## Сфера действия
|
||||||
|
|
||||||
|
Этот Кодекс поведения применяется во всех сообществах проекта, а также
|
||||||
|
в публичных местах, когда человек представляет проект.
|
||||||
|
|
||||||
|
## Enforcement
|
||||||
|
|
||||||
|
О случаях неприемлемого поведения можно сообщать лидерам проекта.
|
||||||
|
Все жалобы будут рассмотрены и приведут к ответным мерам, которые
|
||||||
|
сочтут необходимыми и соответствующими обстоятельствам.
|
||||||
|
|
||||||
|
## Атрибуция
|
||||||
|
|
||||||
|
Этот Кодекс поведения адаптирован из [Contributor Covenant](https://www.contributor-covenant.org),
|
||||||
|
версия 2.1.
|
||||||
@@ -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 без обсуждения.
|
||||||
@@ -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
@@ -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` из свежего клона).
|
||||||
Reference in New Issue
Block a user