Learning Rust by rebuilding Linux utilities (no AI). What should I watch out for?
I'm starting a personal learning project called owl-utils.
The goal is to build a modern Linux toolbox by gradually implementing utilities like cat, ls, tree, du, find, grep, ps and top behind one consistent CLI, configuration format, query language and human/JSON/JSONL output.
UX-wise I'm taking inspiration from projects like bat, eza, Nushell and Fish, while still keeping each utility focused on doing one job well.
I'll start with `owl cat` and build one command at a time so I don't overengineer it.
I'm deliberately doing this as a learning project without AI, just me, the compiler, the documentation and hopefully a lot of mistakes I'll learn from. 😄
For those of you who've written CLI tools or replacements for coreutils: are there any pitfalls, gotchas or design mistakes you wish you'd known before you started?
Also should I write everything from scratch or use the proper crates instead? My opinion is I should use crates because that's the industry standard but a friend suggested I should build everything from scratch to get a deeper understanding of how everything works. Not quite sure yet.