Thunder
- Também usa macros pra gerar código que usa CLAP
- Expõe métodos como subcomandos
- Os argumentos são criados a partir dos parâmetros
struct MyApp; #[thunderclap] impl MyApp { /// Say hello to someone on the other side fn say_hello(name: &str, age: Option<u16>) { /* ... */ } /// It was nice to meet you! fn goodybe(name: Option<&str>) { /* ... */ } } fn main() { MyApp::start(); }