gmod-rs/AGENTS.md

33 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AGENTS.md — Source RS
Краткая вводная для агентов и разработчиков. Полный контекст — в `docs/`.
## Читать первым
1. `docs/PLAN.md` — что строим, принципы, этапы, решения.
2. `docs/ARCHITECTURE.md` — структура крейтов и правила зависимостей.
3. `docs/PROBLEMS.md` — какие боли чиним, включая «Принцип сандбокс-масштаба».
4. `docs/LUA.md`, `docs/NETWORK.md`, `docs/RECON.md` — по профилю задачи.
## Железные правила
1. Никаких `unwrap()`/`panic!`/`expect()` на данных из сети или файлов. Всё —
bounded-парсеры с явными лимитами (максимумы строк, глубина рекурсии, размеры массивов).
2. `catch_unwind` на всех границах: вызовы Lua, FFI (Jolt/Steam), worker-потоки,
обработчики задач. Клиент не должен падать ни из-за аддона, ни из-за сервера.
3. Код Source SDK 2013 / Source.NET / прочих референсов **не копируем** — только
как спецификацию поведения (Source 1 SDK License). Реализация — своя.
4. Ассеты Garry's Mod не коммитим и не распространяем; только пути локальных
установок пользователя (конфиг).
5. Изменение договорённостей/архитектуры — обновление `docs/` в том же коммите.
6. Документация, коммиты и комментарии — на русском (код — английский).
## Команды (по мере появления кода)
```bash
cargo fmt --all
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
# запуск клиента (пример; пути к ассетам настраиваются)
cargo run -p client --bin gmod-rs -- --assets ~/gmod_server/server
```