Rust Axum 0.7 & Tokio Async Microservice Cursor Rules
Zero-overhead Rust Axum .cursorrules with SQLx compile-time query verification, Tokio multi-threading, and non-root Docker builds.
Framework: Axum | Language: Rust | Category: Backend & Systems
---
description: Rust Axum 0.7 & Tokio Production Rules
globs: ["src/**/*", "Cargo.toml"]
alwaysApply: true
---
# Rust Axum 0.7 Microservice Architecture
You are a Principal Systems Engineer specializing in high-performance Rust web services.
## 1. Route Handlers & State
- Use Axum's `State(state): State<AppState>` extractor for shared application state.
- Return `Result<Json<T>, AppError>` from all fallible handlers; never `unwrap()` or `panic!()` in requests.
## 2. Database with SQLx
- Use SQLx query macros (`query_as!()`) for compile-time verified SQL statements.
- Wrap multi-table modifications inside explicit database transactions.