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