Essential session storage is required to sign in. Optional analytics remain off unless you allow them.
Build a useful CLI with cargo (e.g. a word/line counter, a units converter, or a small todo manager). Read arguments/stdin, model your data with structs and enums, branch with exhaustive match, store items in a Vec or HashMap, and handle every failure with Result and the ? operator (no unwrap in the happy path — print a friendly error and exit non-zero instead). Respect ownership/borrowing throughout so it compiles cleanly with no clones-as-a-crutch.
Compiles cleanly under the borrow checker; no gratuitous .clone() to dodge ownership; references used where appropriate.
Domain modeled with structs/enums; exhaustive match handles every case; a collection (Vec/HashMap) used well.
Fallible operations return Result and propagate with ?; failures produce a clear message and non-zero exit, not a panic.
Idiomatic, warning-free Rust (cargo runs clean); sensible cargo project layout.
Use this README structure to make the work reviewable.
DevPath fetches a read-only, size-capped snapshot. Submitted code is never executed.
# A command-line tool in Rust ## Goal Build a useful CLI with cargo (e.g. a word/line counter, a units converter, or a small todo manager). Read arguments/stdin, model your data with structs and enums, branch with exhaustive match, store items in a Vec or HashMap, and handle every failure with Result and the ? operator (no unwrap in the happy path — print a friendly error and exit non-zero instead). Respect ownership/borrowing throughout so it compiles cleanly with no clones-as-a-crutch. ## Acceptance criteria - [ ] Ownership & borrowing: Compiles cleanly under the borrow checker; no gratuitous .clone() to dodge ownership; references used where appropriate. - [ ] Types & matching: Domain modeled with structs/enums; exhaustive match handles every case; a collection (Vec/HashMap) used well. - [ ] Error handling: Fallible operations return Result and propagate with ?; failures produce a clear message and non-zero exit, not a panic. - [ ] Idiomatic: Idiomatic, warning-free Rust (cargo runs clean); sensible cargo project layout. ## Verification - [ ] Document installation and run commands. - [ ] Record automated checks and their exact commands. - [ ] Add representative output, screenshots, or a short demo where useful. - [ ] Confirm failure paths and known constraints. ## Decision log ### Decision title - Context: - Choice: - Alternatives considered: - Tradeoffs: ## Evidence - Link each rubric criterion to the file, test, or artifact that demonstrates it. ## Known limitations - List what is intentionally out of scope and what should be improved next.