# Rust ## Признаки платформы - `Cargo.toml` - `Cargo.lock` - `src/main.rs` или `src/lib.rs` - `target/` каталог ## Признаки многомодульного проекта - `[workspace]` в `Cargo.toml` - Несколько `Cargo.toml` в подкаталогах - `crates/`, `packages/` каталоги ## Источники перед созданием навыка - `Cargo.toml` (зависимости и возможности) - `build.rs` (скрипт сборки) - `rust-toolchain.toml` (набор инструментов) ## Что искать в кодовой базе ### Корневые каталоги исходников - `src/`, `crates/*/src/` ### Типовые слои и каталоги: зафиксируй найденные `handlers/`, `services/`, `models/`, `db/`, `api/`, `utils/`, `error/`, `config/` ### Признаки шаблонов | Шаблон | Критерии обнаружения | Имя навыка | |---------|-------------------|------------| | Axum Handler | `axum::`, `Router`, `async fn handler` | axum-handler | | Actix Route | `actix_web::`, `#[get]`, `#[post]` | actix-route | | Rocket Route | `rocket::`, `#[get]`, `#[post]` | rocket-route | | Service | `impl *Service`, `pub struct *Service` | rust-service | | Repository | `*Repository`, `trait *Repository` | rust-repository | | Diesel Model | `diesel::`, `Queryable`, `Insertable` | diesel-model | | SQLx | `sqlx::`, `FromRow`, `query_as!` | sqlx-model | | SeaORM | `sea_orm::`, `Entity`, `ActiveModel` | seaorm-entity | | Error Type | `thiserror`, `anyhow`, `#[derive(Error)]` | error-type | | CLI | `clap`, `#[derive(Parser)]` | cli-app | | Async Task | `tokio::spawn`, `async fn` | async-task | | Trait | `pub trait *`, `impl * for` | rust-trait | | Unit Test | `#[cfg(test)]`, `#[test]` | rust-test | | Integration Test | `tests/`, `#[tokio::test]` | integration-test | ## Обязательные разделы результата Добавь, если найдено: - **Обработчики/маршруты**: конечные точки API - **Сервисы**: бизнес-логика - **Модели/сущности**: структуры данных - **Типы ошибок**: собственные ошибки - **Миграции**: миграции diesel/sqlx ## Откуда брать команды - `Cargo.toml` команды и псевдонимы - `Makefile`, README и документация - Обычные команды: `cargo build`, `cargo test`, `cargo run` - Добавляй только команды, которые есть в репозитории ## Основные пути - `src/`, `crates/` - `tests/` - `migrations/` - `examples/`