# Learning Rust #5 — Shipping a Real CLI (Args, Files, HTTP, Concurrency)
Learning Rust 5 / 5
5 min read
From zero to a useful binary using clap, anyhow, reqwest, tokio, tracing, and a tidy release build.
From zero to a useful binary using clap, anyhow, reqwest, tokio, tracing, and a tidy release build.
Pragmatic error handling with Result, layering context with anyhow/thiserror, module organization that scales, and tests you will actually run.
Ergonomic domain models with enums and pattern matching, plus how traits and generics enable zero-cost abstraction.
How ownership, borrowing, and lifetimes actually steer your design, with practical patterns and pitfalls.
Installing Rust on Windows/macOS/Linux, setting up VS Code, understanding ownership & borrowing, and building a tiny CLI with cargo.