For a few months I've been letting coding agents write a lot of my Rust. The code compiles, the tests pass, and then I read it and find the same things over and over: .unwrap() in library code, a std Mutex held across an .await , .clone() sprinkled around until the borrow checker stops complaining.
None of that is a compile error, so the agent has no reason to stop. I wanted something that would make it stop. That turned into rustgrade.
(Full disclosure: in this demo I told the agent to use unwrap so the hook would have something to catch. When I ran it without that instruction, it just wrote the Result itself.)
What it looks for
At its core it's a scanner built on syn . No LLM, no network calls, and it doesn't need to build your crate.…