- [ ] **Framework Selection:** Choose web framework (Axum, Actix-web) based on performance vs. ecosystem needs. - [ ] **Crate Ecosystem:** Plan dependencies (e.g., `tokio` for async runtime, `serde` for serialization, `sqlx` or `sea-query` for DB). - [ ] **Error Handling:** Define a centralized application error type using crates like `thiserror` or `anyhow`. - [ ] **State Management:** Plan how application state (DB pools, config) will be shared across thread workers.
Scanned 10/6/2026
npx -y skills add DongDuong2001/pudo-code-system --skill rust --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Rust?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dongduong2001-rust)More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.
# Rust (Backend) PUDO Checklist
## 1. PLAN (Architecture & Strategy)
- [ ] **Framework Selection:** Choose web framework (Axum, Actix-web) based on performance vs. ecosystem needs.
- [ ] **Crate Ecosystem:** Plan dependencies (e.g., `tokio` for async runtime, `serde` for serialization, `sqlx` or `sea-query` for DB).
- [ ] **Error Handling:** Define a centralized application error type using crates like `thiserror` or `anyhow`.
- [ ] **State Management:** Plan how application state (DB pools, config) will be shared across thread workers.
## 2. UNDERSTAND (Context & Auditing)
- [ ] **Borrow Checker & Lifetimes:** Audit data structures to minimize clones; rely on references where safe across async boundaries.
- [ ] **Async Context:** Ensure types crossing `.await` points implement `Send` and `Sync`.
- [ ] **Safety:** Review `unsafe` blocks if any exist. Justify their existence.
## 3. DEVELOP (Implementation)
- [ ] **Structs & Traits:** Define core domain models. Use `#[derive(Serialize, Deserialize)]` for data transfer objects.
- [ ] **Routes:** Implement handlers with strongly typed extractors (Json, Path, Query).
- [ ] **Database:** Use compile-time checked SQL queries (e.g., `sqlx::query!`) for type safety.
- [ ] **Testing:** Write inline unit tests (`#[test]`) and asynchronous integration tests (`#[tokio::test]`).
## 4. OPTIMIZE (Performance & Review)
- [ ] **Binary Size & Speed:** Review `Cargo.toml` profiles (e.g., strictly `opt-level = 3`, LTO enabled for release).
- [ ] **Memory Allocation:** Profile long-lived objects. Consider `Arc` for shared read-only state instead of cloning.
- [ ] **Compilation Time:** Use `cargo clippy` and `cargo fmt` to enforce idiomatic code and avoid macro bloat where unnecessary.
- [ ] **Logging:** Configure structured async logging using `tracing` and `tracing-subscriber`.Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!