# `tools` — вспомогательные крейты Утилиты, общие для проекта. ## `log` — `netrunner-logger` Единый логгер и реестр ошибок для всех крейтов. Обёртка над `tracing`/`tracing-subscriber`. | Файл | Что внутри | |------------------|-----------------------------------------------------------------| | `src/lib.rs` | Глобальный `Logger` (один на процесс), два режима, PII-слой. | | `src/error.rs` | `AppError` + реестр кодов `ERR_*` (стабильные идентификаторы). | - **Режимы:** production (JSON в файл с суточной ротацией + перехват паник) и debug (цветная консоль; на Android — `tracing_android`). - **Уровень** меняется на лету (`Logger::set_level`). - Макросы `info!`/`error!`/… ре-экспортируются, чтобы во всех крейтах писать `netrunner_logger::info!` без прямой зависимости на `tracing`. ## `bindgen` — генератор FFI-биндингов Однострочная обёртка вокруг `uniffi_bindgen`: по `.udl`-описанию клиента (`client/src/netrunner_client.udl`) генерирует Kotlin/Swift-обёртки для вызова нативных функций из мобильного приложения. Запускается из `Makefile` (цель `build-android`). > Детали — в rustdoc соответствующих крейтов.