If you're looking for a tool to simplify the building of big shell programs, I highly recommend using argc (https://github.com/sigoden/argc).
It's a powerful Bash CLI framework that significantly simplifies the process of developing feature-rich command-line interfaces.
1. Proxyfor is written in Rust, while mitmproxy is written in Python.
2. Proxyfor supports only capturing and inspecting traffic, so the interface is simple, the operation is direct, and the learning cost is low.
> at this stage I think it looks like CMake will be hanging around, much simplified, to handle some of the configure/install targets, while cargo is used for the actual build.
The only difference is that you provide subcommands, while aichat requires users to create various roles.
t2x 'Write a ...' => aichat 'Write a ...'
t2x ask file.md 'What is...' => aichat -f file.md 'What is...'
t2x summary /path/to/file => aichat -r summary -f /path/to/file
t2x summary "This is a..." => aichat -r summary "This is a..."
t2x orc /path/to/image.png => aichat -r orc -f /path/to/image.png
> Note, In AIChat, `-r/--role` specifies the role to use, `-f/--file` indicates the file or URL input.