BByteLoggerinbytelogger.hashnode.dev·1h ago · 3 min readSetting up a CLI with TyperI'd used argparse before. It's clunky - lots of boilerplate for even simple commands. Typer works differently. You write a normal function with type annotated parameters. Typer builds the CLI from the00
BByteLoggerinbytelogger.hashnode.dev·Aug 22 · 3 min readwatchr v0.1.0: A Retrospective - Lessons and What's NextThis series has covered why watchr looks the way it does: TOML for config, debouncing for file events, graceful shutdown, and readable output. v0.1.0 is shipped. This post is about what I'd change, an10
BByteLoggerinbytelogger.hashnode.dev·Aug 16 · 3 min readFrom println! to Structured Output: A UX LessonIn the last post, I covered graceful shutdown. This post is about a bug that wasn't really a bug - just bad output that made watchr hard to actually use. What it looked like Initially, watchr ran your10
BByteLoggerinbytelogger.hashnode.dev·Aug 8 · 3 min readGraceful Shutdown in Rust CLI ToolsIn the last post, I covered debouncing - how watchr groups rapid file events into a single one. This post covers something smaller but just as important: what happens when you hit Ctrl+C The problem w10
BByteLoggerinbytelogger.hashnode.dev·Aug 1 · 3 min readBuilding a File Watcher in Rust: Debouncing Done RightIn the last post, I talked about why watchr uses TOML for its config file. This one covers how watchr actually watches files - and why debouncing is the piece that makes it usable. The problem You hit10