usage usage Rust CLI tool for generating and validating command-line interfaces from usage specifications. cli-builder parser code-generator